Bootstrap - CSS Overview
This chapter provides an overview of the key pieces of Bootstrap's infrastructure, including Bootstrap's approach to better, faster, stronger web development.HTML5 doctype
Bootstrap makes use of certain HTML elements and CSS properties that require the use of the HTML5 doctype. Hence include the below piece of code for HTML5 doctype at the beginning of all your projects using Bootstrap.<!DOCTYPE html>
<html>
....
</html>
Mobile First
Since Bootstrap 3 has been launched, Bootstrap has become mobile first. It means 'mobile first' styles can be found throughout the entire library instead of them in separate files. You need to add the viewport meta tag to the <head> element, to ensure proper rendering and touch zooming on mobile devices.<meta name = "viewport" content = "width = device-width, initial-scale = 1.0">
- width property controls the width of the device. Setting it to device-width will make sure that it is rendered across various devices (mobiles, desktops, tablets...) properly.
- initial-scale = 1.0 ensures that when loaded, your web page will be rendered at a 1:1 scale, and no zooming will be applied out of the box.
<meta name = "viewport" content = "width = device-width, initial-scale = 1.0, maximum-scale = 1.0, user-scalable = no">Normally maximum-scale = 1.0 is used along with user-scalable = no. As mentioned above user-scalable = no may give users an experience more like a native app, hence Bootstrap doesn't recommend using this attribute.
Responsive Images
Bootstrap 3 allows you to make the images responsive by adding a class .img-responsive to the <img> tag. This class applies max-width: 100%; and height: auto; to the image so that it scales nicely to the parent element.<img src = "..." class = "img-responsive" alt = "Responsive image">
Typography and Links
Bootstrap sets a basic global display (background), typography, and link styles −- Basic Global display − Sets background-color: #fff; on the <body> element.
- Typography − Uses the @font-family-base, @font-size-base, and @line-height-base attributes as the typographic base.
- Link styles − Sets the global link color via attribute @link-color and apply link underlines only on :hover.
If you intend to use LESS code, you may find all these within scaffolding.less.
Normalize
Bootstrap uses Normalize to establish cross browser consistency.Normalize.css is a modern, HTML5-ready alternative to CSS resets. It is a small CSS file that provides better cross-browser consistency in the default styling of HTML elements.
Containers
Use class .container to wrap a page's content and easily center the content's as shown below.<div class = "container">Take a look at the .container class in bootstrap.css file −
...
</div>
.container {Note that, due to padding and fixed widths, containers are not nestable by default.
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
}
Take a look at bootstrap.css file −
@media (min-width: 768px) {Here you can see that CSS has media-queries for containers with width. This helps for applying responsiveness and within those the container class is modified accordingly to render the grid system properly.
.container {
width: 750px;
}
}