Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms...

25
Twitter Bootstrap

Transcript of Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms...

Page 1: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Twitter Bootstrap

Page 2: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Agenda

• What is it?• Grids and Fluid layouts• Globals and Typography• Tables, Forms and Buttons• Navigation• Media and thumbnails• Responsive• JavaScript plugins

Page 3: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

What is Twitter Bootstrap

• CSS framework• Makes creating layouts easier• Commonly used set of classes• Responsive• JavaScript components for UI

Page 4: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Grid and layouts

• Based on a 12 column grid system– Divisible by 2 and 3

• Easy to create things that line up• Fixed or fluid containers and fixed or fluid rows

• Recommendation: Always use fluid rows!– helps when extracting partials to place in modals (more

later)– fixed containers are fine for forms

• Important and tricky!– In fixed: number of columns in nested rows should add up

to the number of columns of its parent.– In fluid: number of columns in nested rows should always

add up to 12

Page 5: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Global reset

• Do a reset via normalize.css• Remove margin on the body• Set background-color: white; on the body• Use the @baseFontFamily, @baseFontSize, and

@baseLineHeight attributes as our typographic base

• Set the global link color via @linkColor and apply link underlines only on :hover

Page 6: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Typography

• font-size is 14px, with a line-height of 20px• Use normal headers, b, strong, i, p, etc.• .lead class• .text-left, .text-center, .text-

right• .text-warning, .text-error, .text-info, .text-success• abbr, address, blockquote• ul (.unstyled and .inline)• dl, dt, dd (.dl-horizontal)• code, pre (.pre-scrollable)

Page 7: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Tables

• For <table> add a “table” class (.table)– Combine with:– .table-striped, .table-bordered, .table-hover, .table-

condensed

• Supports, <thead><tr><th> and <caption>• <tr>s can add

– .warning, .error, .info, .success

Page 8: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Forms

• By default: left-aligned labels on top of form controls

• Supports <fieldset><legend>– bold with an underline

• .form-inline (to stack horizontally)• .form-horizontal (for rows)

– .control-group (like row but with more padding)– labels need .control-label (I don’t like this)– align with .controls or .form-actions for buttons

• Can use .warning, .error, .info, .success on .control-group• to change the label, input, and possible help/error

Page 9: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Input

• Surround input with <label> for checkbox/radio – Default for checkbox is vertically stacked

• Can apply .inline class to stack horizontally• Selects actually look pretty by default

– also supports multiple attribute

• .search-query for type=“text” for round• Can a wrapper with .input-prepend and .input-

append to stick to inputs– spans need .add-on for styling

• Can size them in a number of ways– .input-block-level, input sizing, grid sizing

• Can use a span with .uneditable-input• Use span with .help-inline for help next to controls• Supports disabled, required, pattern, etc.

Page 10: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Buttons

• Having clear nice looking buttons greatly increases the usability of your web site

• Can size them in a number of ways– .btn-block, .btn-large, .btn-small, .btn-mini, grid sizing

• Can be applied to <a>,<button>, or<input>

Page 11: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Dropdowns

• Drop downs are like context menus• To use dropdowns need JavaScript plugins (more

next)<div class="dropdown">

<!-- Link or button to toggle dropdown --><ul class="dropdown-menu" role="menu">

<li><a tabindex="-1" href="#">Action</a></li><li><a tabindex="-1" href="#">Another action</a></li><li class="divider"></li><li><a tabindex="-1" href="#">Separated link</a></li><li class="dropdown-submenu“> <a tabindex="-1" href="#">More options</a> <ul class="dropdown-menu"> ... </ul></li>

</ul></div>

Page 12: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Plugins

• Can be included individually or all at once– some have required dependencies

• bootstrap.js and bootstrap.min.js contain all plugins in a single file.

• Plugins can be used purely through data-markup– without writing any JavaScript (with a couple of exceptions)

• Or without any markup and solely from JavaScript

Page 13: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Button groups

• Can combine sets of .btn-group into a .btn-toolbar

• Can also be toggled via JavaScript plugin– data-toggle=“buttons-checkbox”– data-toggle=“buttons-radio”

Page 14: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Navigation

• There are three ways of displaying nav– Tabs

– Pills

– Lists

– Tabs can be tabbed in any direction

Page 15: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Navbars

• Can create a navbar using a couple of divs– .navbar, and .navbar-inner– supports .brand and ul with basic .nav– supports form elements and drop downs– can .pull-left and .pull-right elements– can add .navbar-fixed-top so it stays at the top (or bottom)– navbars can be responsive– can support inverse color

Page 16: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Breadcrumbs and pagination

• Breadcrumbs by adding .breadcrumb to a <ul>– use .divider to separate the links

• Surround the <ul> with a <div class=“pagination”>

• For both use .disabled for un-clickable links and .active to indicate current

• Can move around with .pagination-center and .pagination-right

• Add a .pager class to a <ul> to make previous and next buttons

Page 17: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Labels, Badges, and Progress

Page 18: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Heroes

• Hero-unit– jumbo-tron style component for showcasing key content– synonymous with Bootstrap at this point

Page 19: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Thumbnails

• Grids of images, video or text

Page 20: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Alerts

• When you need to let the user know some message– but you want them to be able to close it

• Can use data-dismiss=“<id>” to allow closing

Page 21: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Modals

• Dialog boxes– create <div> with .model and .hide– <a> href needs to refer to its id– data-toggle to launch and data-dismss to close

<a href="#myModal" class="btn" data-toggle="modal">Launch modal</a> <div id="myModal" class="modal hide" tabindex="-1"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h3 id="myLabel">Modal header</h3> </div> <div class="modal-body"> <p>One fine body…</p> </div> <div class="modal-footer"> <button class="btn" data-dismiss="modal">Close</button> <button class="btn btn-primary">Save changes</button> </div></div>

Page 22: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Tooltips and Popovers

• Both require a little JavaScript to turn on

Page 23: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Other Controls

• Accordion / Collapse– To allow viewing a single section in multiple sections of

content

• Carousel– To view a collection of images– Requires a line of JavaScript $(“#mycarousel”).carousel()

to autostart

• Typeahead– input but allows autocomplete

• Affix– Like a sideway intra-page navigation system that auto-

updates

Page 24: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Responsive

• Additional style sheet needed– Requires you to make decisions about what to see in the

various environments

• Use classes to turn on for specific or hide for specific environments– .visible-phone, .visible-tablet, .visible-desktop– .hidden-phone, .hidden-tablet, .hidden-desktop

• Can place sections of navbar in .nav-collapse

Page 25: Twitter Bootstrap. Agenda What is it? Grids and Fluid layouts Globals and Typography Tables, Forms and Buttons Navigation Media and thumbnails Responsive.

Summary

• Use bootstrap to make your web pages look nice– for demos– while you wait for designers

• Provide many of the most commonly used “controls”– which conform to the same styles

• Lavish Bootstrap to customize colors