What is twitter bootstrap?
Twitter
Bootstrap is a frontend framework to develop web apps and sites fast. It
includes basic CSS and HTML for creating Grids, Layouts, Typography, Tables,
Forms, Navigation, Alerts, Popovers etc. And along with that, comes a host of
Jquery plugins to create awesome UI components like Transitions, Modal,
Dropdown, Scrollspy, Tooltip, Tab, Popover, Alert, Button, Collapse, Carousel,
Typeahead, Affix.
In this and
consequent pages, bh24 covers Twitter Bootstrap tool in detail, which
will equip you to build web apps and sites using the tool.
At the end
of this page, we have created a simple Twitter Botstrap powered HTML Template.
You can view a live demo, download the code and play around.

Browser Support
Twitter
Bootstrap is created with modern browsers in mind. So, you will find it working
perfectly with all the modern versions of Chrome, Firefox, Safari, Opera and
Internet Explorer.

Download and understand file structure
As per
Bootstrap v2.3.2, there are two ways to download Twitter Bootstrap. One is a
compiled version which includes compiled and minified versions of CSS, JS, and
images. You may download it from
"http://twitter.github.io/bootstrap/assets/bootstrap.zip". Once you
get this zip file, unzip it and following is the file structure you will end up
with.
.
|-- css
| |--
bootstrap.css
| |--
bootstrap.min.css
| |--
bootstrap-responsive.css
| `--
bootstrap-responsive.min.css
|-- img
| |--
glyphicons-halflings.png
| `--
glyphicons-halflings-white.png
`-- js
|--
bootstrap.js
`--
bootstrap.min.js
3 directories, 8 files
So it
contains three folders - CSS, which contains bootstrap.css, the minified
version of bootstrap.css bootstarp.min.css, bootstrap-responsive.css and
minified version of it - bootstrap-responsive.min.css.
There is an
image folder comprising the image files. One is glyphicons-halflings.png and
another one is glyphicons-halflings-white.png.
And the last
one is the folder. This folder contains bootstrap.js which contains all the
JavaScript stuff for Bootstrap and another file is the minified version of it
bootstrap.min.js.
If you want
to obtain the original source files instaed of the compiled versions, you can
dwonload it from
"https://github.com/twitter/bootstrap/zipball/master". Once you
download and unzip, following is the file structure you will obtain.
.
|-- CHANGELOG.md
|-- component.json
|-- composer.json
|-- CONTRIBUTING.md
|-- docs
| |-- assets
| | |-- css
| | |
|-- bootstrap.css
| | |
|-- bootstrap-responsive.css
| | |
`-- docs.css
| | |-- ico
| | |
|-- apple-touch-icon-114-precomposed.png
| | |
|-- apple-touch-icon-144-precomposed.png
| | |
|-- apple-touch-icon-57-precomposed.png
| | |
|-- apple-touch-icon-72-precomposed.png
| | |
|-- favicon.ico
| | |
`-- favicon.png
| | |-- img
| | |
|-- bootstrap-docs-readme.png
| | |
|-- bootstrap-mdo-sfmoma-01.jpg
| |
| |--
bootstrap-mdo-sfmoma-02.jpg
| | |
|-- bootstrap-mdo-sfmoma-03.jpg
| | |
|-- bs-docs-bootstrap-features.png
| | |
|-- bs-docs-masthead-pattern.png
| | |
|-- bs-docs-responsive-illustrations.png
| | | |--
bs-docs-twitter-github.png
| | |
|-- examples
| | |
| |--
bootstrap-example-carousel.png
| | |
| |--
bootstrap-example-fluid.png
| | |
| |--
bootstrap-example-justified-nav.png
| | |
| |-- bootstrap-example-marketing-narrow.png
| | |
| |--
bootstrap-example-marketing.png
| | |
| |--
bootstrap-example-signin.png
| | |
| |--
bootstrap-example-starter.png
| | |
| |--
bootstrap-example-sticky-footer.png
| | |
| |-- browser-icon-chrome.png
| | |
| |-- browser-icon-firefox.png
| | |
| |-- browser-icon-safari.png
| | |
| |-- slide-01.jpg
| | |
| |-- slide-02.jpg
| | |
| `-- slide-03.jpg
| | |
|-- example-sites
| | |
| |-- 8020select.png
| | |
| |-- adoptahydrant.png
| | |
| |-- breakingnews.png
| | |
| |-- fleetio.png
| | |
| |-- gathercontent.png
| | |
| |-- jshint.png
| | |
| |-- kippt.png
| | |
| `-- soundready.png
| | |
|-- glyphicons-halflings.png
| | |
|-- glyphicons-halflings-white.png
| | |
|-- grid-baseline-20px.png
| | |
|-- less-logo-large.png
| | |
`-- responsive-illustrations.png
| | `-- js
| | |-- application.js
| | |-- bootstrap-affix.js
| | |-- bootstrap-alert.js
| | |-- bootstrap-button.js
| | |-- bootstrap-carousel.js
| | |-- bootstrap-collapse.js
| | |-- bootstrap-dropdown.js
| | |-- bootstrap.js
| | |-- bootstrap.min.js
| | |-- bootstrap-modal.js
| | |-- bootstrap-popover.js
| | |-- bootstrap-scrollspy.js
| | |-- bootstrap-tab.js
| | |-- bootstrap-tooltip.js
| | |-- bootstrap-transition.js
| | |-- bootstrap-typeahead.js
| | |-- google-code-prettify
| | |
|-- prettify.css
| | |
`-- prettify.js
| | |-- holder
| | |
`-- holder.js
| | |-- html5shiv.js
| | |-- jquery.js
| | `-- README.md
| |--
base-css.html
| |-- build
| | |-- index.js
| | |-- node_modules
| | |
`-- hogan.js
| | |
|-- bin
| | |
| `-- hulk
| | |
|-- lib
| | |
| |-- compiler.js
| | |
| |-- hogan.js
| | |
| `-- template.js
| | |
|-- LICENSE
| | |
|-- Makefile
| | |
|-- package.json
| | |
|-- README.md
| | |
|-- test
| | |
| |-- html
| | |
| | `-- list.html
| | | |
|-- index.html
| | |
| |-- index.js
| | |
| |-- mustache.js
| | |
| |-- spec
| | |
| | |-- Changes
| | |
| | |-- Rakefile
| | |
| | |-- README.md
| | |
| | |-- specs
| | |
| | |
|-- comments.json
| | |
| | |
|-- comments.yml
| | |
| | |
|-- delimiters.json
| | |
| | |
|-- delimiters.yml
| | |
| | |
|-- interpolation.json
| | |
| | |
|-- interpolation.yml
| | |
| | |
|-- inverted.json
| | |
| | |
|-- inverted.yml
| | |
| | |
|-- ~lambdas.json
| | |
| | |
|-- ~lambdas.yml
| | |
| | | |--
partials.json
| | |
| | |
|-- partials.yml
| | |
| | |
|-- sections.json
| | |
| | |
`-- sections.yml
| | |
| | `-- TESTING.md
| | |
| |-- spec.js
| | |
| `-- templates
| | |
| `-- list.mustache
| | |
|-- tools
| | |
| |-- release.js
| | |
| `-- web_templates.js
| | |
|-- web
| | |
| |-- 1.0.0
| | |
| | |-- hogan.js
| | |
| | `-- hogan.min.js
| | |
| |-- builds
| | |
| | |-- 1.0.0
| | |
| | |
|-- hogan.js
| | |
| | |
`-- hogan.min.js
| | |
| | |-- 1.0.3
| | |
| | |
|-- hogan.js
| | | |
| | `-- hogan.min.js
| | |
| | `-- 1.0.5
| | |
| | |-- hogan-1.0.5.amd.js
| | |
| | |-- hogan-1.0.5.common.js
| | |
| | |-- hogan-1.0.5.js
| | |
| | |-- hogan-1.0.5.min.amd.js
| | |
| | |-- hogan-1.0.5.min.common.js
| | |
| | |-- hogan-1.0.5.min.js
| | |
| | |-- hogan-1.0.5.min.mustache.js
| | |
| | |-- hogan-1.0.5.mustache.js
| | |
| | |-- template-1.0.5.js
| | |
| | `-- template-1.0.5.min.js
| | |
| |-- favicon.ico
| | |
| |-- images
| | |
| | |-- logo.png
| | |
| | |-- noise.png
| | | |
| |-- small-hogan-icon.png
| | |
| | `-- stripes.png
| | |
| |-- index.html.mustache
| | |
| `-- stylesheets
| | |
| |-- layout.css
| | |
| `-- skeleton.css
| | |
`-- wrappers
| | |
|-- amd.js.mustache
| | |
|-- common.js.mustache
| | |
|-- js.mustache
| | |
`-- mustache.js.mustache
| | `-- package.json
| |--
components.html
| |--
customize.html
| |-- examples
| | |-- carousel.html
| | |-- fluid.html
| | |-- hero.html
| | |-- justified-nav.html
| | |-- marketing-narrow.html
| | |-- signin.html
| | |-- starter-template.html
| | |-- sticky-footer.html
| | `-- sticky-footer-navbar.html
| |--
extend.html
| |--
getting-started.html
| |--
index.html
| |--
javascript.html
| |--
scaffolding.html
| `--
templates
| |--
layout.mustache
| `--
pages
| |--
base-css.mustache
| |-- components.mustache
| |--
customize.mustache
| |--
extend.mustache
| |--
getting-started.mustache
| |--
index.mustache
| |--
javascript.mustache
| `--
scaffolding.mustache
|-- img
| |-- glyphicons-halflings.png
| `--
glyphicons-halflings-white.png
|-- js
| |--
bootstrap-affix.js
| |--
bootstrap-alert.js
| |--
bootstrap-button.js
| |--
bootstrap-carousel.js
| |--
bootstrap-collapse.js
| |--
bootstrap-dropdown.js
| |--
bootstrap-modal.js
| |--
bootstrap-popover.js
| |--
bootstrap-scrollspy.js
| |--
bootstrap-tab.js
| |--
bootstrap-tooltip.js
| |--
bootstrap-transition.js
| |--
bootstrap-typeahead.js
| `-- tests
| |--
index.html
| |--
phantom.js
| |--
server.js
| |-- unit
| | |-- bootstrap-affix.js
| | |-- bootstrap-alert.js
| | |-- bootstrap-button.js
| | |-- bootstrap-carousel.js
| | |-- bootstrap-collapse.js
| | |-- bootstrap-dropdown.js
| | |-- bootstrap-modal.js
| | |-- bootstrap-phantom.js
| | |-- bootstrap-popover.js
| | |-- bootstrap-scrollspy.js
| | |-- bootstrap-tab.js
| | |-- bootstrap-tooltip.js
| | |-- bootstrap-transition.js
| | `-- bootstrap-typeahead.js
| `--
vendor
| |--
jquery.js
| |--
qunit.css
| `--
qunit.js
|-- less
| |--
accordion.less
| |--
alerts.less
| |--
bootstrap.less
| |--
breadcrumbs.less
| |--
button-groups.less
| |--
buttons.less
| |--
carousel.less
| |--
close.less
| |--
code.less
| |--
component-animations.less
| |--
dropdowns.less
| |--
forms.less
| |--
grid.less
| |--
hero-unit.less
| |--
labels-badges.less
| |-- layouts.less
| |--
media.less
| |--
mixins.less
| |--
modals.less
| |--
navbar.less
| |--
navs.less
| |--
pager.less
| |--
pagination.less
| |--
popovers.less
| |--
progress-bars.less
| |--
reset.less
| |--
responsive-1200px-min.less
| |--
responsive-767px-max.less
| |--
responsive-768px-979px.less
| |--
responsive.less
| |--
responsive-navbar.less
| |--
responsive-utilities.less
| |--
scaffolding.less
| |--
sprites.less
| |--
tables.less
| |-- tests
| | |-- buttons.html
| | |-- css-tests.css
| | |-- css-tests.html
| | |-- forms.html
| | |-- forms-responsive.html
| | |-- navbar-fixed-top.html
| | |-- navbar.html
| | `-- navbar-static-top.html
| |--
thumbnails.less
| |--
tooltip.less
| |--
type.less
| |--
utilities.less
| |--
variables.less
| `--
wells.less
|-- LICENSE
|-- Makefile
|-- package.json
`-- README.md
40 directories, 248 files
Original
folder name where all the files were extracted by default looked like
'twitter-bootstrap-d991ef2', we renamed it to twitter-bootstrap.
Getting started with Twitter Bootstrap
We will see
now how we can develop a basic HTML Template powered by Twitter Bootstrap.
<!DOCTYPE html>
<html>
<head>
<title>Bootstrap basic Template</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen">
</head>
<body>
<h1>Welcome to Twitter Bootstrap</h1>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="bootstrap/js/bootstrap.min.js"></script>
</body>
</html>
While
creating this template, we have placed the 'bootstrap' folder, which is
obtained from the download of the compiled and minified version of Twitter
Bootstrap (version 2.3.2) in the root folder of localhost. If you are working
on a *NIX based system, make sure that this folder with all it's subfolders and
files have proper permission set to be run and executed.
You may use
bootstrapcdn's CDN to load Twitter Bootstrap. For that, replace
"bootstrap/css/bootstrap.min.css" with
"//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css"
and "bootstrap/js/bootstrap.min.js" with
"//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js".
What you will learn
In
bh24 "Twitter Bootstrap Tutorial" you will learn the following.
Grid system
You will see
how to create Grid System using Twitter Bootstrap. It supports 940px wide 12
column Grid as default and many variations of it.
Layouts
You will see
how to create 940px wide fixed Layout and how to create Fluid layouts. This
will help you to build HTML templates easily.
Responsive Design
Twitter
Bootstrap offers a Responsive Design. We have a tutorial for creating
responsive design with twitter Bootstrap.
Typography
You will see
how to build Headings, paragraphs, lists, and other inline type elements.
Tables
You will see
how to build tables for containing tabular data.

Forms
You will see
how to build stylish forms, including textbox, radio button, textarea, various
kind of buttons in your HTML page.

Icons
Twitter
Bootstrap uses Glyphicons to create awesome icons. bh24 has a tutorial to show you how to embed those awesome icons in a Twitter
Bootsatrap powered web site/app.
Tabs and Pills based navigations
BH24 has a detail tutorial on how to create Tabs and Pills based navigation in your
web project.
Navigation
You will see
how to build stylish modern navigation. And also Pagination.
Inline Badges and Labels
Inline
badges and labels can spice your design up for sure. Twitter Bootastrap offers
you those UI components. bh24 shows how you can do that.

Thumbnails
Thumbnails
are so useful for creating grids and image and video specially. Twitter
Bootstrap allows you to create thumbnails for holding video. image etc.
bh24 has a tutorial to show you how to do that.
Progress Bars
Twitter
Bootstrap allows you to create progress bars for loading, redirecting, or
action status. bh24 has a tutorial to show you how to do that.

Breadcrumbs
Twitter
Bootstrap allows you to create Breadcrumbs. bh24 has a tutorial to show
you how to do that.
Less
LESS CSS
preprocessrors are awesome to create a dynamic CSS- using variables, mixins,
nested styles etc. bh24 offers a tutorial to how to use LESS with Twitter
Bootstrap.
Alerts & Error
As a web
designer / developer you often need to create alerts for errors, warnings etc.
In this tutorial you will learn how to build those using Twitter Bootstrap.

Popovers
You will
learn to use the toolkit to build modal windows, tooltips and popovers.
Modals
Creating
modal windows.
Dropdowns
bh24 has a tutorial to discuss how to create dropdowns using Twitter Bootstrap.
Scrollspy
Twitter
Bootstrap ScrollSpy Plugin allows you to automatically update nav targets based
on scroll position.bh24 has a tutorial to discuss how to use scrollspy
using Twitter Bootstrap to create awesome user experience.
Carousal
Twitter
Bootstrap Carousal Plugin allows you to create content or image slider.
bh24 has a tutorial to discuss how to use carousal using Twitter
Bootstrap to create content / image slider.
Typehead
Once your
user starts typing it comes with the predefined options for a better user
experience. bh24 discusses how to use typehead in Twitter Bootstrap.
Buttons
Twitter
Bootstrap has JavaScript Plugin to create Buttons. bh24 tutorial shows
how to do that.
Collapse
Expanding
and collapsing content onlcick may add a better user experience. bh24 has
a tutorial to show you how to do that using twitter Bootstrap.
Customizing
Often, you
may want to build your own style on top of the vanilla styles available with
Twitter Bootstrap. Depending upon the magnitude of the customization required,
you may choose various ways to do that.
If you need
customizations at a not that granular level, and if it is trivial mostly, you
may create a stylesheet of your own comprising those styles and use that on top
of the default css of the Twitter Bootstrap.
If you need
more customization than that, you shall go for a entirely custom build. In that
case, using 'http://twitter.github.io/bootstrap/customize.html' you can choose
components you want, select Jquery plugins you want to keep, use LESS variables
to change look and feel of the project in question and then download that
build.
There is an
issue with the second case though. When Twitter Bootstrap is updated to a new
version, since you build is a combination of the original styles form Bootstrap
and your Custom addons, it may be impossible for you to separately update only
the native part of Bootstrap.
To avoid
this problem, you may keep the original LESS files unaltered, create a separate
folder and build your own LESS files there, which imports the original LESS
files from Bootstrap. This way, you can modularize and separate the native part
part and when updated, you can update that part only.
Comments
Post a Comment