Getting Started with Bootstrap

Exclusive offer: get 50% off this eBook here
Extending Bootstrap

Extending Bootstrap — Save 50%

Understand Bootstrap and unlock its secrets to build a truly customized project! with this book and ebook

$13.99    $7.00
by Christoffer Niska | March 2014 | Open Source Web Development

Twitter Bootstrap is an excellent CSS framework that provides many carefully crafted user interface elements, layouts, and jQuery plugins. Bootstrap is open source and is also one of the most popular projects of all time on GitHub. We will explore Bootstrap in this article by Christoffer Niska, author of Extending Bootstrap.

(For more resources related to this topic, see here.)

Why use Bootstrap?

Bootstrap contains a top-notch, responsive mobile-first grid, which allows you to implement your design in a breeze; it comes with ready-made styles for typography, navigation, tables, forms, buttons, and more.

Bootstrap also includes some jQuery plugins, such as Modal, Dropdown, Tooltip, and Carousel, which come in handy quite often.

Today, you can use Bootstrap to throw together quick prototypes or guide the execution of more sophisticated designs and larger engineering efforts. In other words, Bootstrap is a very simple way to promote quick, clean and highly usable applications.

– Mark Otto, creator of Bootstrap

Even though Bootstrap comes with all these features, none of them actually get in the way of further customization. Bootstrap is very easy to extend, especially if you use LESS instead of traditional CSS.

At its core, Bootstrap is just CSS, but it's built with Less, a flexible pre-processor that offers much more power and flexibility than regular CSS. With Less, we gain a range of features like nested declarations, variables, mixins, operations, and color functions.

– Mark Otto, creator of Bootstrap

Next, you will learn about the advantages and disadvantages of using Bootstrap.

Bootstrap pros and cons

As with many things, using Bootstrap too has its pros and cons. Let us list some important things that you will need to know when you decide whether or not to use Bootstrap in your project.

The pros are as follows:

  • Cross-browser support: Bootstrap works on all the latest desktop and mobile browsers. While older browsers may display Bootstrap differently with respect to styles, it is still fully functional in legacy browsers such as Internet Explorer 8.
  • Easy to customize: Bootstrap is easy to customize, especially with the use of LESS. You can also leave out parts that you do not need, that is, you can use only its grid and leave out all the components, or you can leave out the grid and use its components.
  • Encourages using LESS : Bootstrap is written in LESS, a dynamic style sheet language that is compiled into CSS, which gives it a lot of flexibility. You can take advantage of this if you use LESS to write your styles.
  • Supports useful jQuery plugins: Bootstrap comes with many useful jQuery plugins that can come handy in many situations. The quality of the plugins is not the best, and they usually work best when you do not customize them at all.
  • Many custom jQuery plugins available: There is a wide range of jQuery plugins that extend Bootstrap, for example, X-editable, Wysihtml5, and the jQuery File Upload.
  • Mobile-first: Bootstrap has been mobile-first since Version 3.0. This means that the grid starts out stacked and is floated using media queries when the screen width grows.

The cons are as follows:

  • jQuery plugins are hard to customize : The jQuery plugins that come with Bootstrap are often hard to customize, and many argue that they are not written using best practices, so it can be challenging to work with the source code at times. Usually, the plugins work in the most common cases but they come up short when you try to customize them a bit.
  • Many Bootstrap sites end up looking alike: It is unfortunate that many sites that are built with Bootstrap look exactly the same, but you can avoid this by using a custom theme or creating your own theme.
  • Creating your first Bootstrap project

    Now that you know when it is suitable to use Bootstrap, you are ready to start your first Bootstrap project. Perform the following steps to get started:

    1. Create a new folder for your Bootstrap project inside your document root. You can call it bootstrap-app.
    2. Pick up the latest version of Bootstrap from http://getbootstrap.com and unpack it into your project directory.
    3. Create a new HTML document, add the following contents, and save it in your project directory as index.html in the following manner:

      <!DOCTYPE html>
      <html>
      <head>
      <title>Hello from Bootstrap</title>
      <!-- Ensure proper rendering and touch zooming on mobile devices -->
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <link href="css/bootstrap.min.css" rel="stylesheet">
      <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media
      queries -->
      <!--[if lt IE 9]>
      <script src ="https://oss.maxcdn.com/libs/html5shiv/3.7.0/ html5shiv.js">
      </script>
      <script src ="https://oss.maxcdn.com/libs/respond.js/1.3.0/ respond.min.js">
      </script>
      <![endif]-->
      </head>
      <body>
      <h1>Hello, world!</h1>
      </body>
      </html>

      You can omit html5shiv.js and respond.js if you don't wish to support older versions of Internet Explorer.

    Let us look at the following reasons why we included all those CSS and JavaScript files:

    • bootstrap.min.css: It is the minified version of the Bootstrap CSS styles
    • html5shiv.js: It adds HTML5 support to older browsers
    • respond.min.js: It adds media query support to older browsers

    Navigate to your project directory using your favorite web browser; you should see your project in action as shown in the following screenshot. Not too impressive, but do not worry, you will soon add more to it.

    For more information on how to get started with Bootstrap, refer to the Getting started page on the official site at http://getbootstrap.com/getting-started/.

    Summary

    In this article, you learned about the pros and cons of Bootstrap, as well as how to decide whether or not to use Bootstrap in a project. You also learned how to create a very simple Bootstrap project.

    Resources for Article:


    Further resources on this subject:


    Extending Bootstrap Understand Bootstrap and unlock its secrets to build a truly customized project! with this book and ebook
    Published: March 2014
    eBook Price: $13.99
    Book Price: $22.99
    See more
    Select your format and quantity:

    About the Author :


    Christoffer Niska

    Christoffer Niska is a web developer from Helsinki, Finland. He maintains many open source projects that are mainly extensions of the Yii PHP framework. Christoffer's most notable open source effort is Yiistrap, which is an extension for Yii that allows developers to use Twitter Bootstrap along with Yii in a very convenient way.

    Christoffer is the CTO at Nord Software Ltd., a company based in Helsinki that delivers cutting-edge web solutions to various clients of all sizes. At work, he helps clients to transform their vision into reality. During his hours off from work, he maintains his open source projects, experiments with web technologies, and makes arcade games using HTML5 and JavaScript.

    Christoffer's Twitter handle is @Crisu83 and his online portfolio can be found at http://crisu83.me. Extending Bootstrap is his first official attempt at writing and very likely, not the last.

    Books From Packt


     Bootstrap Site Blueprints
    Bootstrap Site Blueprints

    Mobile First Bootstrap
    Mobile First Bootstrap

     Twitter Bootstrap Web Development How-To [Instant]
    Twitter Bootstrap Web Development How-To [Instant]

     Responsive Web Design by Example
    Responsive Web Design by Example

    Web Development with Jade
    Web Development with Jade

    HTML5 Boilerplate Web Development
    HTML5 Boilerplate Web Development

    HTML5 Enterprise Application Development
    HTML5 Enterprise Application Development

    HTML5 and CSS3 Responsive Web Design Cookbook
    HTML5 and CSS3 Responsive Web Design Cookbook


    Code Download and Errata
    Packt Anytime, Anywhere
    Register Books
    Print Upgrades
    eBook Downloads
    Video Support
    Contact Us
    Awards Voting Nominations Previous Winners
    Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
    Resources
    Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software