SlideShare a Scribd company logo
1 of 104
Download to read offline
Bootstrap Crash Course
Haim Michael
July 17th
, 2018
All logos, trade marks and brand names used in this presentation belong
to the respective owners.
lifemichael
https://youtu.be/25Mj0blVVtI
Part 1
https://youtu.be/VlMCuGVED9Y
Part 2
© 1996-2018 All Rights Reserved.
Haim Michael Introduction
● Snowboarding. Learning. Coding. Teaching. More
than 18 years of Practical Experience.
lifemichael
© 1996-2018 All Rights Reserved.
Haim Michael Introduction
● Professional Certifications
Zend Certified Engineer in PHP
Certified Java Professional
Certified Java EE Web Component Developer
OMG Certified UML Professional
● MBA (cum laude) from Tel-Aviv University
Information Systems Management
lifemichael
© 2008 Haim Michael 20150805
Introduction
07/17/18 © Haim Michael 2011. All Rights Reserved. 5
What is Twitter Bootstrap?
 Twitter Bootstrap is a front end web development framework
that provides us with the capability to develop a responsive
front end in according with most of today common UI
standard conventions.
 The Twitter Bootstrap framework includes files in
JavaScript, HTML and CSS.
http://twitter.github.io/bootstrap/
07/17/18 © Haim Michael 2011. All Rights Reserved. 6
Syntactically Awesome StyleSheets
 As of version 4 the framework uses Syntactically Awesome
StyleSheets, also known as 'SASS' (instead of LESS, as it
was in version 3).
 Sass is an extension of CSS that provides us with more
possibilities when creating our style sheets.
 Sass allows us to use variables, nested rules, mixins and
more.
07/17/18 © Haim Michael 2011. All Rights Reserved. 7
Responsive Web Pages
 The front end we get when using the Twitter Bootstrap is
responsive. Browsing using different devices with different
screen sizes the content and its layout adjust automatically.
07/17/18 © Haim Michael 2011. All Rights Reserved. 8
Popularity
 Using the Twitter Bootstrap is very common all over the
world. Both for web applications and for hybrid ones.
07/17/18 © Haim Michael 2011. All Rights Reserved. 9
Popularity
 The trends.builtwith.com/docinfo/Twitter-Bootstrap provides
detailed statistics about the usage of this framework.
07/17/18 © Haim Michael 2011. All Rights Reserved. 10
Alternative Frameworks
 Twitter Bootstrap is not alone. There are other alternative
frameworks we can use:
Foundation - http://foundation.zurb.com
Gumby - http://gumbyframework.com
Ground - http://groundworkcss.github.io/groundwork
Zimit - http://firezenk.github.io/zimit/
Kickstrap – http://www.getkickstrap.com
YUI Library – http://www.yuilibrary.com
© 1995-2016 Haim Michael. All Rights Reserved. 11
Jump Start
© 1995-2016 Haim Michael. All Rights Reserved. 12
Jump Start Template
 You can find a basic template to start with at
www.getbootstrap.com
© 1995-2016 Haim Michael. All Rights Reserved. 13
Jump Start Template
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href=
"https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css"
integrity="sha384-Smlep5jCw...." crossorigin="anonymous">
<title>Hello, world!</title>
</head>
<body>
<h1>Hello, world!</h1>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha..."
crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity="sha38..." ></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js"
integrity="sha38..."></script>
</body>
</html>
© 1995-2016 Haim Michael. All Rights Reserved. 14
Jump Start Template
© 1995-2016 Haim Michael. All Rights Reserved. 15
The HTML5 Doc Type Declaration
 The HTML5 doctype declaration <!DOCTYPE html> tells the
web browser to treat the file in according with the HTML5
specification.
© 1995-2016 Haim Michael. All Rights Reserved. 16
The charset Meta Data
 The <meta charset="utf-8"> meta data element tells
the web browser that UTF-8 is the encoding of this file.
© 1995-2016 Haim Michael. All Rights Reserved. 17
The View Port Meta Data
 The <meta name="viewport"
content="width=device-width, initial-scale=1,
shrink-to-fit=no"> meta data element tells the web
browser that the page should be browsed as if its width is the
same width of the device, with initial scale of 1. The user will
be able to zoom in and out changing that scale.
 The shrink-to-fil=no fixes a bug in iOS9 as described at
http://kihlstrom.com/2015/shrink-to-fit-no-fixes-zoom-problem-in-ios-9
© 1995-2016 Haim Michael. All Rights Reserved. 18
Internet Explorer Edge Mode
 Using the <meta http-equiv="x-ua-compatible"
content="ie=edge"> meta element we forces the internet
explorer to render the content in the recent Edge mode.
© 1995-2016 Haim Michael. All Rights Reserved. 19
The crossorigin Attribute
 Using the crossorigin attribute inside the link element that
points at the external CSS file means that a cross-origin
request is performed but no credential is sent.
© 1995-2016 Haim Michael. All Rights Reserved. 20
The integrity Attribute
 Using the integrity attribute allows the browser to check
the file source to ensure that the code won't be loaded if the
source has been manipulated.
 When using bootstrap we should use the integrity
attribute both inside the link and inside the script
elements.
© 1995-2016 Haim Michael. All Rights Reserved. 21
Components
© 1995-2016 Haim Michael. All Rights Reserved. 22
Introduction
 When using the Twitter Bootstrap framework there is a huge
range of ready to use components.
© 1995-2016 Haim Michael. All Rights Reserved. 23
Buttons Group
 We can place a series of buttons into the same group. Doing
so will render these buttons together in one group.
<button class="btn btn-primary">Simple Button</button>
© 1995-2016 Haim Michael. All Rights Reserved. 24
Buttons Group
 We can place a series of buttons in a group. The buttons will
be rendered together in one group.
<div class="btn-group" role="group">
<button type="button" class="btn btn-secondary">Wind</button>
<button type="button" class="btn btn-secondary">Water</button>
<button type="button" class="btn btn-secondary">Fire</button>
</div>
© 1995-2016 Haim Michael. All Rights Reserved. 25
Button Dropdown
 We can place a button together with a drop down menu by
using the btn-group and dropdown-menu CSS classes.
 Each item in the drop down menu will be created using the
dropdown-item CSS class.
© 1995-2016 Haim Michael. All Rights Reserved. 26
Button Dropdown
<div class="btn-group">
<button type="button" class="btn btn-secondary
dropdown-toggle" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
File
</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="#">New</a>
<a class="dropdown-item" href="#">Save As</a>
<a class="dropdown-item" href="#">Open</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Simple Link</a>
</div>
</div>
© 1995-2016 Haim Michael. All Rights Reserved. 27
Button Dropdown
© 1995-2016 Haim Michael. All Rights Reserved. 28
Forms
 Bootstrap provides us with controls, special layouts for forms
and unique custom components for creating different types of
forms.
© 1995-2016 Haim Michael. All Rights Reserved. 29
Forms
<form>
<fieldset class="form-group">
<label for="emailinput">Email address</label>
<input type="email" class="form-control"
id="emailinput" placeholder="Enter email address">
<small class="text-muted">
Your email won't be shared with others.
</small>
</fieldset>
<fieldset class="form-group">
<label for="passwordinput">Password</label>
<input type="password" class="form-control"
id="passwordinput" placeholder="Enter password">
</fieldset>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
© 1995-2016 Haim Michael. All Rights Reserved. 30
Forms
© 1995-2016 Haim Michael. All Rights Reserved. 31
Forms
 Bootstrap provides us with a grid we can use for placing the
controls.
© 1995-2016 Haim Michael. All Rights Reserved. 32
Forms
<form>
<div class="form-group row">
<label for="inputemail" class="col-sm-2 form-control-label">
Email
</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="inputemail"
placeholder="Email">
</div>
</div>
<div class="form-group row">
<label for="inputpassword" class="col-sm-2 form-control-label">
Password
</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="inputpassword"
placeholder="Password">
</div>
</div>
<div class="form-group row">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-secondary">Sign in</button>
</div>
</div>
</form>
© 1995-2016 Haim Michael. All Rights Reserved. 33
Forms
© 1995-2016 Haim Michael. All Rights Reserved. 34
Input Group
 Using the input-group CSS class we can place together an
input element that functions as a text field with a button or a
span element.
<div class="input-group">
<input type="text" class="form-control"
placeholder="Member Username" aria-describedby="useremail">
<span class="input-group-addon" id="useremail">@gmail.com</span>
</div>
© 1995-2016 Haim Michael. All Rights Reserved. 35
Jumbotron
 We will usually use the jumbotron for displaying a key
marketing message on our website.
© 1995-2016 Haim Michael. All Rights Reserved. 36
Jumbotron
<div class="jumbotron">
<h1 class="display-3">Hello, world!</h1>
<p class="lead">This is a simple hero unit, a simple jumbotron-style
component for calling extra attention to featured content or
information.</p>
<hr class="m-y-2">
<p>It uses utility classes for typography and spacing to space content
out within the larger container.</p>
<p class="lead">
<a class="btn btn-primary btn-lg" href="#" role="button">Learn more</a>
</p>
</div>
© 1995-2016 Haim Michael. All Rights Reserved. 37
Jumbotron
© 1995-2016 Haim Michael. All Rights Reserved. 38
Labels
 The label is an adaptive tag for adding some context to
specific text.
<h1>We Teach <span class="label label-default">Programming</span></h1>
© 1995-2016 Haim Michael. All Rights Reserved. 39
Alerts
 We can create various contextual feedback messages for
typical user actions.
<div class="alert alert-warning alert-dismissible fade in" role="alert">
<button type="button" class="close" data-dismiss="alert"
aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<strong>Becarefule!</strong> You should debug your code!
</div>
© 1995-2016 Haim Michael. All Rights Reserved. 40
Cards
 The card is a flexible and extensible content container. It
includes options for header and footer, as well as a wide
variety of content, contextual background colors, and powerful
display options.
© 1995-2016 Haim Michael. All Rights Reserved. 41
Cards
<div class="row">
<div class="col-sm-6">
<div class="card card-block">
<h3 class="card-title">Learn Swift</h3>
<p class="card-text">Bla bla bla. Bla bla bla. Bla bla bla. Bla
bla bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla.</p>
<a href="#" class="btn btn-primary">More Info</a>
</div>
</div>
<div class="col-sm-6">
<div class="card card-block">
<h3 class="card-title">Learn Scala</h3>
<p class="card-text">Bla bla bla. Bla bla bla. Bla bla bla. Bla bla
bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla.</p>
<a href="#" class="btn btn-primary">More Info</a>
</div>
</div>
</div>
© 1995-2016 Haim Michael. All Rights Reserved. 42
Cards
© 1995-2016 Haim Michael. All Rights Reserved. 43
Nav
 Bootstrap provides us with various types of navigation
components.
 We can create simple links either horizontal or vertical, we
can create tabs or pills. We can have our pills stacked on
each other. We can add dropdowns to our tabs or to our pills.
© 1995-2016 Haim Michael. All Rights Reserved. 44
Nav
<ul class="nav nav-tabs" role="tablist">
<li class="nav-item">
<a class="nav-link active" data-toggle="tab" href="#home"
role="tab">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#products"
role="tab">Products</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#about" role="tab">About</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#contact"
role="tab">Contact</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="home" role="tabpanel">home screen...</div>
<div class="tab-pane" id="products" role="tabpanel">our products are...</div>
<div class="tab-pane" id="about" role="tabpanel">about our company...</div>
<div class="tab-pane" id="contact" role="tabpanel">contact us at...</div>
</div>
© 1995-2016 Haim Michael. All Rights Reserved. 45
Nav
© 1995-2016 Haim Michael. All Rights Reserved. 46
Navbar
 The navbar is a simple wrapper for putting together the logo,
the navigation and other elements.
© 1995-2016 Haim Michael. All Rights Reserved. 47
Navbar
<nav class="navbar navbar-light bg-faded">
<a class="navbar-brand" href="#">life michael</a>
<ul class="nav navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Courses</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contact</a>
</li>
</ul>
<form class="form-inline pull-xs-right">
<input class="form-control" type="text" placeholder="Search">
<button class="btn btn-success-outline" type="submit">Search</button>
</form>
</nav>
© 1995-2016 Haim Michael. All Rights Reserved. 48
Navbar
© 1995-2016 Haim Michael. All Rights Reserved. 49
Breadcrumb
 This component indicates about the current page location
within the navigation hierarchy.
<ol class="breadcrumb" style="margin-bottom: 5px;">
<li><a href="#">Home</a></li>
<li><a href="#">Professional Courses</a></li>
<li class="active">Android Platform</li>
</ol>
© 1995-2016 Haim Michael. All Rights Reserved. 50
Pagination
 This component provides us with the capability to display
pages the user can click on.
© 1995-2016 Haim Michael. All Rights Reserved. 51
Pagination
<nav>
<ul class="pagination">
<li class="page-item">
<a class="page-link" href="#" aria-label="Previous">
<span aria-hidden="true">&laquo;</span>
<span class="sr-only">Previous</span>
</a>
</li>
<li class="page-item"><a class="page-link" href="#">1</a></li>
<li class="page-item"><a class="page-link" href="#">2</a></li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
<li class="page-item"><a class="page-link" href="#">4</a></li>
<li class="page-item"><a class="page-link" href="#">5</a></li>
<li class="page-item"><a class="page-link" href="#">6</a></li>
<li class="page-item"><a class="page-link" href="#">7</a></li>
<li class="page-item">
<a class="page-link" href="#" aria-label="Next">
<span aria-hidden="true">&raquo;</span>
<span class="sr-only">Next</span>
</a>
</li>
</ul>
</nav>
© 1995-2016 Haim Michael. All Rights Reserved. 52
Pagination
© 1995-2016 Haim Michael. All Rights Reserved. 53
Pager
 This component provides us with the capability to display
simple next and previous buttons.
<nav>
<ul class="pager">
<li><a href="#">Previous</a></li>
<li><a href="#">Next</a></li>
</ul>
</nav>
© 1995-2016 Haim Michael. All Rights Reserved. 54
Progress
 This component displays a simple progress bar on screen.
<progress class="progress progress-striped progress-animated"
value="25" max="100">35%</progress>
© 1995-2016 Haim Michael. All Rights Reserved. 55
List Group
 Using this component we can display both simple and
complex lists of elements.
© 1995-2016 Haim Michael. All Rights Reserved. 56
List Group
<ul class="list-group">
<li class="list-group-item">
<span class="label label-default label-pill pull-xs-right">8</span>
Israel
</li>
<li class="list-group-item">
<span class="label label-default label-pill pull-xs-right">42</span>
France
</li>
<li class="list-group-item">
<span class="label label-default label-pill pull-xs-right">56</span>
Canada
</li>
</ul>
© 1995-2016 Haim Michael. All Rights Reserved. 57
List Group
© 1995-2016 Haim Michael. All Rights Reserved. 58
Modal
 The Modal component is a streamlined flexible dialog prompt.
© 1995-2016 Haim Michael. All Rights Reserved. 59
Modal
<div class="modal fade" id="myModal" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"
aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="myModalLabel">
Our Dialog Title
</h4>
</div>
<div class="modal-body">
Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary"
data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">
Save changes</button>
</div>
</div>
</div>
</div>
© 1995-2016 Haim Michael. All Rights Reserved. 60
Modal
© 1995-2016 Haim Michael. All Rights Reserved. 61
Tooltips
 Using the tooltip component we can display small tooltips next
to specific elements on our page.
© 1995-2016 Haim Michael. All Rights Reserved. 62
Tooltips
<button type="button" class="btn btn-secondary" data-toggle="tooltip"
data-placement="top"
title="tooltip text on top">
Tooltip on top
</button>
<button type="button" class="btn btn-secondary" data-toggle="tooltip"
data-placement="right"
title="tooltip text on right">
Tooltip on right
</button>
<button type="button" class="btn btn-secondary" data-toggle="tooltip"
data-placement="bottom"
title="tooltip text on bottom">
Tooltip on bottom
</button>
<button type="button" class="btn btn-secondary" data-toggle="tooltip"
data-placement="left"
title="tooltip text on left">
Tooltip on left
</button>
© 1995-2016 Haim Michael. All Rights Reserved. 63
Tooltips
© 1995-2016 Haim Michael. All Rights Reserved. 64
Popover
 The popover component allows us to display overlay content
next to any element on our page.
 In order to use this component we must include the tether.js
before bootstrap.js. You can find the tether.js file at
https://github.com/HubSpot/tether
© 1995-2016 Haim Michael. All Rights Reserved. 65
Popover
<button type="button" class="btn btn-lg btn-danger"
data-toggle="popover" title="Popover Title"
data-content="Bla bla bla bla">
Click Here
</button>
© 1995-2016 Haim Michael. All Rights Reserved. 66
Collapse
 Using the collapse plugin we can toggle content on a web
page.
© 1995-2016 Haim Michael. All Rights Reserved. 67
Collapse
<p>
<a class="btn btn-primary" data-toggle="collapse" href="#phpcollapse"
aria-expanded="false" aria-controls="phpcollapse">
PHP Rocks
</a>
<button class="btn btn-primary" type="button" data-toggle="collapse"
data-target="#javacollapse" aria-expanded="false"
aria-controls="javacollapse">
Java 4ever
</button>
</p>
<div class="collapse" id="phpcollapse">
<div class="card card-block">
We love PHP! It is the simplest programming language for the server side!
</div>
</div>
<div class="collapse" id="javacollapse">
<div class="card card-block">
We love Java! It is the greatest programming language in all times!
</div>
</div>
© 1995-2016 Haim Michael. All Rights Reserved. 68
Collapse
© 1995-2016 Haim Michael. All Rights Reserved. 69
Carousel
 Using the carousel component we can get a magnificent
slideshow.
© 1995-2016 Haim Michael. All Rights Reserved. 70
Carousel
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carousel-example-generic" data-slide-to="0"
class="active"></li>
<li data-target="#carousel-example-generic" data-slide-to="1"></li>
<li data-target="#carousel-example-generic" data-slide-to="2"></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="carousel-item active">
<img src="images/slide1.jpg" alt="First slide">
</div>
<div class="carousel-item">
<img src="images/slide2.jpg" alt="Second slide">
</div>
<div class="carousel-item">
<img src="images/slide3.jpg" alt="Third slide">
</div>
</div>
<a class="left carousel-control" href="#carousel-example-generic" role="button"
data-slide="prev">
<span class="icon-prev" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#carousel-example-generic" role="button"
data-slide="next">
<span class="icon-next" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
© 1995-2016 Haim Michael. All Rights Reserved. 71
Carousel
© 1995-2016 Haim Michael. All Rights Reserved. 72
Images
© 1995-2016 Haim Michael. All Rights Reserved. 73
Introduction
 Bootstrap provides us with CSS classes that assist us with the
inclusion of images in the web page we develop.
© 1995-2016 Haim Michael. All Rights Reserved. 74
Image Shapes
 Using the img-rounded, img-circle and the img-
thumbnail CSS classes we can create styled images
shaped with rounded corners, as a circle or as a simple
rectangular thumbnail.
© 1995-2016 Haim Michael. All Rights Reserved. 75
Image Shapes
<div class="row">
<div class="col-sm-6">
we love earth!
</div>
<div class="col-sm-6">
<img src="earth.jpg" class="img-circle img-fluid" alt="Responsive image">
</div>
</div>
© 1995-2016 Haim Michael. All Rights Reserved. 76
Image Shapes
© 1995-2016 Haim Michael. All Rights Reserved. 77
Layout
© 1995-2016 Haim Michael. All Rights Reserved. 78
Introduction
 Bootstrap provides us with a powerful grid system we can use
for setting the layouts we want for each and every platform we
target.
 The grid system is based on a 12 column layout, and has
multiple tiers. Each tier refers a specific media query range.
 Bootstrap provides us with CSS classes we can use for
setting the containers, the rows and the columns we want to
have in our layout.
© 1995-2016 Haim Michael. All Rights Reserved. 79
Rows
 The rows are horizontal groups of columns that ensure our
columns are lined up properly.
 The content is placed within columns. The columns are the
only children the rows can have.
© 1995-2016 Haim Michael. All Rights Reserved. 80
Columns
 The column CSS class we are using indicates about the
number of columns we would like to use out of the possible
12 columns each row has (e.g. using the .col-sm-4 CSS
class means that we want to have a three equal width
columns row).
© 1995-2016 Haim Michael. All Rights Reserved. 81
The Grid Tiers
 There are five grid tiers. Each tier refers a specific
responsive breakpoint (extra small, small, medium, large
and extra large).
 The tiers are based on minimum widths. They apply to the
one tier they specifically refer, and all of the other ones that
above it.
© 1995-2016 Haim Michael. All Rights Reserved. 82
The Grid Tiers
<div class="container">
<div class="row">
<div class="col-sm-4">
One of three columns
</div>
<div class="col-sm-4">
One of three columns
</div>
<div class="col-sm-4">
One of three columns
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-sm-3">
One of four columns
</div>
<div class="col-sm-3">
One of four columns
</div>
<div class="col-sm-3">
One of four columns
</div>
<div class="col-sm-3">
One of four columns
</div>
</div>
</div>
© 1995-2016 Haim Michael. All Rights Reserved. 83
The Grid Tiers
<div class="container">
<div class="row">
<div class="col-sm-2">
One of six columns
</div>
<div class="col-sm-2">
One of six columns
</div>
<div class="col-sm-2">
One of six columns
</div>
<div class="col-sm-2">
One of six columns
</div>
<div class="col-sm-2">
One of six columns
</div>
<div class="col-sm-2">
One of six columns
</div>
</div>
</div>
© 1995-2016 Haim Michael. All Rights Reserved. 84
The Grid Tiers
© 1995-2016 Haim Michael. All Rights Reserved. 85
The Grid Tiers
 The documentation includes a detailed table that describes
the supported tiers.
© 1995-2016 Haim Michael. All Rights Reserved. 86
The Grid Tiers
© 1995-2016 Haim Michael. All Rights Reserved. 87
Stacked Columns
 When the device width is too small for having the columns
we created to apply we will have those columns stacked on
each other.
© 1995-2016 Haim Michael. All Rights Reserved. 88
Stacked Columns
<div class="container">
<div class="row">
<div class="col-md-8">.col-md-8</div>
<div class="col-md-4">.col-md-4</div>
</div>
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
</div>
<div class="row">
<div class="col-md-6">.col-md-6</div>
<div class="col-md-6">.col-md-6</div>
</div>
</div>
© 1995-2016 Haim Michael. All Rights Reserved. 89
Stacked Columns
© 1995-2016 Haim Michael. All Rights Reserved. 90
Stacked Columns
© 1995-2016 Haim Michael. All Rights Reserved. 91
Desktop and Mobile
 If we don’t want our columns to be stacked in smaller
devices we can use the extra small and medium device grid
classes by adding the .col-xs-* and .col-md-* to the
columns.
© 1995-2016 Haim Michael. All Rights Reserved. 92
Desktop and Mobile
© 1995-2016 Haim Michael. All Rights Reserved. 93
Desktop and Mobile
© 1995-2016 Haim Michael. All Rights Reserved. 94
Themes
© 1995-2016 Haim Michael. All Rights Reserved. 95
Introduction
 Bootstrap themes are packages of HTML, CSS and
JavaScript code that provide styling, UI components and page
layouts you can use in your Bootstrap based website.
© 1995-2016 Haim Michael. All Rights Reserved. 96
Types of Themes
 When it comes to Bootstrap there are four different types of
themes.
 There are themes that modify the look and feel of Bootstrap’s
existing components, there are themes that add new
components and new page layouts, there are themes that do
both of the two, and there are themes that integrate with an
existing CMS, such as WordPress.
© 1995-2016 Haim Michael. All Rights Reserved. 97
Bootstrap Official Themes
 You can find them all organized and ready for purchase at
https://themes.getbootstrap.com
© 1995-2016 Haim Michael. All Rights Reserved. 98
Templates
© 1995-2016 Haim Michael. All Rights Reserved. 99
Introduction
 The bootstrap template is kind of a collection of single themed
pages.
 You can find many websites that sell ready to use Bootstarp
templates.
https://themeforest.net
https://startbootstrap.com/template-categories/all/
© 1995-2016 Haim Michael. All Rights Reserved. 100
Visual Designers
© 1995-2016 Haim Michael. All Rights Reserved. 101
Introduction
 There are many tools that simplify the creation of a Bootstrap
based web page, some of them are available for free, and
some of them are even available online.
© 1995-2016 Haim Michael. All Rights Reserved. 102
The bootstrapstudio.io Application
© 1995-2016 Haim Michael. All Rights Reserved. 103
The simbla.com Application
© 2009 Haim Michael All Rights Reserved 104
Questions & Answers
Thanks for Your Time!
Haim Michael
haim.michael@lifemichael.com
+972+3+3726013 ext:700
lifemichael

More Related Content

Similar to Bootstrap Crash Course 20180717

Word press intro 4x3 draft 12
Word press intro 4x3 draft 12Word press intro 4x3 draft 12
Word press intro 4x3 draft 12msz
 
Word press bg 16x9 draft 16
Word press bg 16x9 draft 16Word press bg 16x9 draft 16
Word press bg 16x9 draft 16msz
 
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB
 
Technical SEO Checklist: How to Optimize a WordPress Site for Search Engine C...
Technical SEO Checklist: How to Optimize a WordPress Site for Search Engine C...Technical SEO Checklist: How to Optimize a WordPress Site for Search Engine C...
Technical SEO Checklist: How to Optimize a WordPress Site for Search Engine C...Pam Ann Marketing
 
Word press bg 16x9 draft 16
Word press bg 16x9 draft 16Word press bg 16x9 draft 16
Word press bg 16x9 draft 16msz
 
Developing SP 2013 Display Templates
Developing SP 2013 Display TemplatesDeveloping SP 2013 Display Templates
Developing SP 2013 Display TemplatesMichael Oryszak
 
Typescript vas ES6
Typescript vas ES6Typescript vas ES6
Typescript vas ES6Haim Michael
 
Chapter 08 php advance
Chapter 08   php advanceChapter 08   php advance
Chapter 08 php advanceDhani Ahmad
 
DDD Sydney 20111 Razor Session
DDD Sydney 20111 Razor SessionDDD Sydney 20111 Razor Session
DDD Sydney 20111 Razor SessionMohamed Meligy
 
TypeScript Seminar
TypeScript SeminarTypeScript Seminar
TypeScript SeminarHaim Michael
 
MongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch TutorialMongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch TutorialMongoDB
 
MongoDB.local Seattle 2019: MongoDB Stitch Tutorial
MongoDB.local Seattle 2019: MongoDB Stitch TutorialMongoDB.local Seattle 2019: MongoDB Stitch Tutorial
MongoDB.local Seattle 2019: MongoDB Stitch TutorialMongoDB
 
Getting Started with Test Automation: Introduction to Cucumber with Lapis Lazuli
Getting Started with Test Automation: Introduction to Cucumber with Lapis LazuliGetting Started with Test Automation: Introduction to Cucumber with Lapis Lazuli
Getting Started with Test Automation: Introduction to Cucumber with Lapis LazuliRebecca Eloise Hogg
 
Security panel-western-mass-drupal-camp
Security panel-western-mass-drupal-campSecurity panel-western-mass-drupal-camp
Security panel-western-mass-drupal-campcwworks
 
SEO Tactics for Startups - Making Your Funnel Work program - Startupbootcamp
SEO Tactics for Startups - Making Your Funnel Work program - StartupbootcampSEO Tactics for Startups - Making Your Funnel Work program - Startupbootcamp
SEO Tactics for Startups - Making Your Funnel Work program - StartupbootcampJoost Hoogstrate
 
Web Components: Web back to future.
Web Components: Web back to future.Web Components: Web back to future.
Web Components: Web back to future.GlobalLogic Ukraine
 

Similar to Bootstrap Crash Course 20180717 (20)

Word press intro 4x3 draft 12
Word press intro 4x3 draft 12Word press intro 4x3 draft 12
Word press intro 4x3 draft 12
 
Word press bg 16x9 draft 16
Word press bg 16x9 draft 16Word press bg 16x9 draft 16
Word press bg 16x9 draft 16
 
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
 
TopicHero Descriptions Tutorial
TopicHero Descriptions TutorialTopicHero Descriptions Tutorial
TopicHero Descriptions Tutorial
 
Technical SEO Checklist: How to Optimize a WordPress Site for Search Engine C...
Technical SEO Checklist: How to Optimize a WordPress Site for Search Engine C...Technical SEO Checklist: How to Optimize a WordPress Site for Search Engine C...
Technical SEO Checklist: How to Optimize a WordPress Site for Search Engine C...
 
Word press bg 16x9 draft 16
Word press bg 16x9 draft 16Word press bg 16x9 draft 16
Word press bg 16x9 draft 16
 
Developing SP 2013 Display Templates
Developing SP 2013 Display TemplatesDeveloping SP 2013 Display Templates
Developing SP 2013 Display Templates
 
Typescript vas ES6
Typescript vas ES6Typescript vas ES6
Typescript vas ES6
 
Chapter 08 php advance
Chapter 08   php advanceChapter 08   php advance
Chapter 08 php advance
 
DDD Sydney 20111 Razor Session
DDD Sydney 20111 Razor SessionDDD Sydney 20111 Razor Session
DDD Sydney 20111 Razor Session
 
TypeScript Seminar
TypeScript SeminarTypeScript Seminar
TypeScript Seminar
 
MongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch TutorialMongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch Tutorial
 
MongoDB.local Seattle 2019: MongoDB Stitch Tutorial
MongoDB.local Seattle 2019: MongoDB Stitch TutorialMongoDB.local Seattle 2019: MongoDB Stitch Tutorial
MongoDB.local Seattle 2019: MongoDB Stitch Tutorial
 
Getting Started with Test Automation: Introduction to Cucumber with Lapis Lazuli
Getting Started with Test Automation: Introduction to Cucumber with Lapis LazuliGetting Started with Test Automation: Introduction to Cucumber with Lapis Lazuli
Getting Started with Test Automation: Introduction to Cucumber with Lapis Lazuli
 
DC18_FOWD - HTML.pptx
DC18_FOWD - HTML.pptxDC18_FOWD - HTML.pptx
DC18_FOWD - HTML.pptx
 
Security panel-western-mass-drupal-camp
Security panel-western-mass-drupal-campSecurity panel-western-mass-drupal-camp
Security panel-western-mass-drupal-camp
 
Evolve18 | Juhee Garg | Bring your product documentation and support website ...
Evolve18 | Juhee Garg | Bring your product documentation and support website ...Evolve18 | Juhee Garg | Bring your product documentation and support website ...
Evolve18 | Juhee Garg | Bring your product documentation and support website ...
 
SEO Tactics for Startups - Making Your Funnel Work program - Startupbootcamp
SEO Tactics for Startups - Making Your Funnel Work program - StartupbootcampSEO Tactics for Startups - Making Your Funnel Work program - Startupbootcamp
SEO Tactics for Startups - Making Your Funnel Work program - Startupbootcamp
 
WordPress Basics
WordPress BasicsWordPress Basics
WordPress Basics
 
Web Components: Web back to future.
Web Components: Web back to future.Web Components: Web back to future.
Web Components: Web back to future.
 

More from Haim Michael

Virtual Threads in Java
Virtual Threads in JavaVirtual Threads in Java
Virtual Threads in JavaHaim Michael
 
MongoDB Design Patterns
MongoDB Design PatternsMongoDB Design Patterns
MongoDB Design PatternsHaim Michael
 
Introduction to SQL Injections
Introduction to SQL InjectionsIntroduction to SQL Injections
Introduction to SQL InjectionsHaim Michael
 
Record Classes in Java
Record Classes in JavaRecord Classes in Java
Record Classes in JavaHaim Michael
 
Microservices Design Patterns
Microservices Design PatternsMicroservices Design Patterns
Microservices Design PatternsHaim Michael
 
Structural Pattern Matching in Python
Structural Pattern Matching in PythonStructural Pattern Matching in Python
Structural Pattern Matching in PythonHaim Michael
 
Unit Testing in Python
Unit Testing in PythonUnit Testing in Python
Unit Testing in PythonHaim Michael
 
OOP Best Practices in JavaScript
OOP Best Practices in JavaScriptOOP Best Practices in JavaScript
OOP Best Practices in JavaScriptHaim Michael
 
JavaScript Jump Start 20220214
JavaScript Jump Start 20220214JavaScript Jump Start 20220214
JavaScript Jump Start 20220214Haim Michael
 
What is new in PHP
What is new in PHPWhat is new in PHP
What is new in PHPHaim Michael
 
What is new in Python 3.9
What is new in Python 3.9What is new in Python 3.9
What is new in Python 3.9Haim Michael
 
Programming in Python on Steroid
Programming in Python on SteroidProgramming in Python on Steroid
Programming in Python on SteroidHaim Michael
 
The matplotlib Library
The matplotlib LibraryThe matplotlib Library
The matplotlib LibraryHaim Michael
 
Pandas meetup 20200908
Pandas meetup 20200908Pandas meetup 20200908
Pandas meetup 20200908Haim Michael
 
The num py_library_20200818
The num py_library_20200818The num py_library_20200818
The num py_library_20200818Haim Michael
 
Jupyter notebook 20200728
Jupyter notebook 20200728Jupyter notebook 20200728
Jupyter notebook 20200728Haim Michael
 
Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start) Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start) Haim Michael
 
The Power of Decorators in Python [Meetup]
The Power of Decorators in Python [Meetup]The Power of Decorators in Python [Meetup]
The Power of Decorators in Python [Meetup]Haim Michael
 

More from Haim Michael (20)

Anti Patterns
Anti PatternsAnti Patterns
Anti Patterns
 
Virtual Threads in Java
Virtual Threads in JavaVirtual Threads in Java
Virtual Threads in Java
 
MongoDB Design Patterns
MongoDB Design PatternsMongoDB Design Patterns
MongoDB Design Patterns
 
Introduction to SQL Injections
Introduction to SQL InjectionsIntroduction to SQL Injections
Introduction to SQL Injections
 
Record Classes in Java
Record Classes in JavaRecord Classes in Java
Record Classes in Java
 
Microservices Design Patterns
Microservices Design PatternsMicroservices Design Patterns
Microservices Design Patterns
 
Structural Pattern Matching in Python
Structural Pattern Matching in PythonStructural Pattern Matching in Python
Structural Pattern Matching in Python
 
Unit Testing in Python
Unit Testing in PythonUnit Testing in Python
Unit Testing in Python
 
OOP Best Practices in JavaScript
OOP Best Practices in JavaScriptOOP Best Practices in JavaScript
OOP Best Practices in JavaScript
 
Java Jump Start
Java Jump StartJava Jump Start
Java Jump Start
 
JavaScript Jump Start 20220214
JavaScript Jump Start 20220214JavaScript Jump Start 20220214
JavaScript Jump Start 20220214
 
What is new in PHP
What is new in PHPWhat is new in PHP
What is new in PHP
 
What is new in Python 3.9
What is new in Python 3.9What is new in Python 3.9
What is new in Python 3.9
 
Programming in Python on Steroid
Programming in Python on SteroidProgramming in Python on Steroid
Programming in Python on Steroid
 
The matplotlib Library
The matplotlib LibraryThe matplotlib Library
The matplotlib Library
 
Pandas meetup 20200908
Pandas meetup 20200908Pandas meetup 20200908
Pandas meetup 20200908
 
The num py_library_20200818
The num py_library_20200818The num py_library_20200818
The num py_library_20200818
 
Jupyter notebook 20200728
Jupyter notebook 20200728Jupyter notebook 20200728
Jupyter notebook 20200728
 
Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start) Node.js Crash Course (Jump Start)
Node.js Crash Course (Jump Start)
 
The Power of Decorators in Python [Meetup]
The Power of Decorators in Python [Meetup]The Power of Decorators in Python [Meetup]
The Power of Decorators in Python [Meetup]
 

Recently uploaded

Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirtrahman018755
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Servicesexy call girls service in goa
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...Diya Sharma
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Sheetaleventcompany
 
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls KolkataLow Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)Damian Radcliffe
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxellan12
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
 
Russian Call Girls Thane Swara 8617697112 Independent Escort Service Thane
Russian Call Girls Thane Swara 8617697112 Independent Escort Service ThaneRussian Call Girls Thane Swara 8617697112 Independent Escort Service Thane
Russian Call Girls Thane Swara 8617697112 Independent Escort Service ThaneCall girls in Ahmedabad High profile
 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Roomgirls4nights
 
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...SofiyaSharma5
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebJames Anderson
 
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts servicesonalikaur4
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 

Recently uploaded (20)

Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls KolkataLow Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
 
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICECall Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
Russian Call Girls Thane Swara 8617697112 Independent Escort Service Thane
Russian Call Girls Thane Swara 8617697112 Independent Escort Service ThaneRussian Call Girls Thane Swara 8617697112 Independent Escort Service Thane
Russian Call Girls Thane Swara 8617697112 Independent Escort Service Thane
 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
 
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
 
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
 

Bootstrap Crash Course 20180717

  • 1. Bootstrap Crash Course Haim Michael July 17th , 2018 All logos, trade marks and brand names used in this presentation belong to the respective owners. lifemichael https://youtu.be/25Mj0blVVtI Part 1 https://youtu.be/VlMCuGVED9Y Part 2
  • 2. © 1996-2018 All Rights Reserved. Haim Michael Introduction ● Snowboarding. Learning. Coding. Teaching. More than 18 years of Practical Experience. lifemichael
  • 3. © 1996-2018 All Rights Reserved. Haim Michael Introduction ● Professional Certifications Zend Certified Engineer in PHP Certified Java Professional Certified Java EE Web Component Developer OMG Certified UML Professional ● MBA (cum laude) from Tel-Aviv University Information Systems Management lifemichael
  • 4. © 2008 Haim Michael 20150805 Introduction
  • 5. 07/17/18 © Haim Michael 2011. All Rights Reserved. 5 What is Twitter Bootstrap?  Twitter Bootstrap is a front end web development framework that provides us with the capability to develop a responsive front end in according with most of today common UI standard conventions.  The Twitter Bootstrap framework includes files in JavaScript, HTML and CSS. http://twitter.github.io/bootstrap/
  • 6. 07/17/18 © Haim Michael 2011. All Rights Reserved. 6 Syntactically Awesome StyleSheets  As of version 4 the framework uses Syntactically Awesome StyleSheets, also known as 'SASS' (instead of LESS, as it was in version 3).  Sass is an extension of CSS that provides us with more possibilities when creating our style sheets.  Sass allows us to use variables, nested rules, mixins and more.
  • 7. 07/17/18 © Haim Michael 2011. All Rights Reserved. 7 Responsive Web Pages  The front end we get when using the Twitter Bootstrap is responsive. Browsing using different devices with different screen sizes the content and its layout adjust automatically.
  • 8. 07/17/18 © Haim Michael 2011. All Rights Reserved. 8 Popularity  Using the Twitter Bootstrap is very common all over the world. Both for web applications and for hybrid ones.
  • 9. 07/17/18 © Haim Michael 2011. All Rights Reserved. 9 Popularity  The trends.builtwith.com/docinfo/Twitter-Bootstrap provides detailed statistics about the usage of this framework.
  • 10. 07/17/18 © Haim Michael 2011. All Rights Reserved. 10 Alternative Frameworks  Twitter Bootstrap is not alone. There are other alternative frameworks we can use: Foundation - http://foundation.zurb.com Gumby - http://gumbyframework.com Ground - http://groundworkcss.github.io/groundwork Zimit - http://firezenk.github.io/zimit/ Kickstrap – http://www.getkickstrap.com YUI Library – http://www.yuilibrary.com
  • 11. © 1995-2016 Haim Michael. All Rights Reserved. 11 Jump Start
  • 12. © 1995-2016 Haim Michael. All Rights Reserved. 12 Jump Start Template  You can find a basic template to start with at www.getbootstrap.com
  • 13. © 1995-2016 Haim Michael. All Rights Reserved. 13 Jump Start Template <!doctype html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <!-- Bootstrap CSS --> <link rel="stylesheet" href= "https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css" integrity="sha384-Smlep5jCw...." crossorigin="anonymous"> <title>Hello, world!</title> </head> <body> <h1>Hello, world!</h1> <!-- Optional JavaScript --> <!-- jQuery first, then Popper.js, then Bootstrap JS --> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha..." crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha38..." ></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js" integrity="sha38..."></script> </body> </html>
  • 14. © 1995-2016 Haim Michael. All Rights Reserved. 14 Jump Start Template
  • 15. © 1995-2016 Haim Michael. All Rights Reserved. 15 The HTML5 Doc Type Declaration  The HTML5 doctype declaration <!DOCTYPE html> tells the web browser to treat the file in according with the HTML5 specification.
  • 16. © 1995-2016 Haim Michael. All Rights Reserved. 16 The charset Meta Data  The <meta charset="utf-8"> meta data element tells the web browser that UTF-8 is the encoding of this file.
  • 17. © 1995-2016 Haim Michael. All Rights Reserved. 17 The View Port Meta Data  The <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> meta data element tells the web browser that the page should be browsed as if its width is the same width of the device, with initial scale of 1. The user will be able to zoom in and out changing that scale.  The shrink-to-fil=no fixes a bug in iOS9 as described at http://kihlstrom.com/2015/shrink-to-fit-no-fixes-zoom-problem-in-ios-9
  • 18. © 1995-2016 Haim Michael. All Rights Reserved. 18 Internet Explorer Edge Mode  Using the <meta http-equiv="x-ua-compatible" content="ie=edge"> meta element we forces the internet explorer to render the content in the recent Edge mode.
  • 19. © 1995-2016 Haim Michael. All Rights Reserved. 19 The crossorigin Attribute  Using the crossorigin attribute inside the link element that points at the external CSS file means that a cross-origin request is performed but no credential is sent.
  • 20. © 1995-2016 Haim Michael. All Rights Reserved. 20 The integrity Attribute  Using the integrity attribute allows the browser to check the file source to ensure that the code won't be loaded if the source has been manipulated.  When using bootstrap we should use the integrity attribute both inside the link and inside the script elements.
  • 21. © 1995-2016 Haim Michael. All Rights Reserved. 21 Components
  • 22. © 1995-2016 Haim Michael. All Rights Reserved. 22 Introduction  When using the Twitter Bootstrap framework there is a huge range of ready to use components.
  • 23. © 1995-2016 Haim Michael. All Rights Reserved. 23 Buttons Group  We can place a series of buttons into the same group. Doing so will render these buttons together in one group. <button class="btn btn-primary">Simple Button</button>
  • 24. © 1995-2016 Haim Michael. All Rights Reserved. 24 Buttons Group  We can place a series of buttons in a group. The buttons will be rendered together in one group. <div class="btn-group" role="group"> <button type="button" class="btn btn-secondary">Wind</button> <button type="button" class="btn btn-secondary">Water</button> <button type="button" class="btn btn-secondary">Fire</button> </div>
  • 25. © 1995-2016 Haim Michael. All Rights Reserved. 25 Button Dropdown  We can place a button together with a drop down menu by using the btn-group and dropdown-menu CSS classes.  Each item in the drop down menu will be created using the dropdown-item CSS class.
  • 26. © 1995-2016 Haim Michael. All Rights Reserved. 26 Button Dropdown <div class="btn-group"> <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> File </button> <div class="dropdown-menu"> <a class="dropdown-item" href="#">New</a> <a class="dropdown-item" href="#">Save As</a> <a class="dropdown-item" href="#">Open</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="#">Simple Link</a> </div> </div>
  • 27. © 1995-2016 Haim Michael. All Rights Reserved. 27 Button Dropdown
  • 28. © 1995-2016 Haim Michael. All Rights Reserved. 28 Forms  Bootstrap provides us with controls, special layouts for forms and unique custom components for creating different types of forms.
  • 29. © 1995-2016 Haim Michael. All Rights Reserved. 29 Forms <form> <fieldset class="form-group"> <label for="emailinput">Email address</label> <input type="email" class="form-control" id="emailinput" placeholder="Enter email address"> <small class="text-muted"> Your email won't be shared with others. </small> </fieldset> <fieldset class="form-group"> <label for="passwordinput">Password</label> <input type="password" class="form-control" id="passwordinput" placeholder="Enter password"> </fieldset> <button type="submit" class="btn btn-primary">Submit</button> </form>
  • 30. © 1995-2016 Haim Michael. All Rights Reserved. 30 Forms
  • 31. © 1995-2016 Haim Michael. All Rights Reserved. 31 Forms  Bootstrap provides us with a grid we can use for placing the controls.
  • 32. © 1995-2016 Haim Michael. All Rights Reserved. 32 Forms <form> <div class="form-group row"> <label for="inputemail" class="col-sm-2 form-control-label"> Email </label> <div class="col-sm-10"> <input type="email" class="form-control" id="inputemail" placeholder="Email"> </div> </div> <div class="form-group row"> <label for="inputpassword" class="col-sm-2 form-control-label"> Password </label> <div class="col-sm-10"> <input type="password" class="form-control" id="inputpassword" placeholder="Password"> </div> </div> <div class="form-group row"> <div class="col-sm-offset-2 col-sm-10"> <button type="submit" class="btn btn-secondary">Sign in</button> </div> </div> </form>
  • 33. © 1995-2016 Haim Michael. All Rights Reserved. 33 Forms
  • 34. © 1995-2016 Haim Michael. All Rights Reserved. 34 Input Group  Using the input-group CSS class we can place together an input element that functions as a text field with a button or a span element. <div class="input-group"> <input type="text" class="form-control" placeholder="Member Username" aria-describedby="useremail"> <span class="input-group-addon" id="useremail">@gmail.com</span> </div>
  • 35. © 1995-2016 Haim Michael. All Rights Reserved. 35 Jumbotron  We will usually use the jumbotron for displaying a key marketing message on our website.
  • 36. © 1995-2016 Haim Michael. All Rights Reserved. 36 Jumbotron <div class="jumbotron"> <h1 class="display-3">Hello, world!</h1> <p class="lead">This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.</p> <hr class="m-y-2"> <p>It uses utility classes for typography and spacing to space content out within the larger container.</p> <p class="lead"> <a class="btn btn-primary btn-lg" href="#" role="button">Learn more</a> </p> </div>
  • 37. © 1995-2016 Haim Michael. All Rights Reserved. 37 Jumbotron
  • 38. © 1995-2016 Haim Michael. All Rights Reserved. 38 Labels  The label is an adaptive tag for adding some context to specific text. <h1>We Teach <span class="label label-default">Programming</span></h1>
  • 39. © 1995-2016 Haim Michael. All Rights Reserved. 39 Alerts  We can create various contextual feedback messages for typical user actions. <div class="alert alert-warning alert-dismissible fade in" role="alert"> <button type="button" class="close" data-dismiss="alert" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> <strong>Becarefule!</strong> You should debug your code! </div>
  • 40. © 1995-2016 Haim Michael. All Rights Reserved. 40 Cards  The card is a flexible and extensible content container. It includes options for header and footer, as well as a wide variety of content, contextual background colors, and powerful display options.
  • 41. © 1995-2016 Haim Michael. All Rights Reserved. 41 Cards <div class="row"> <div class="col-sm-6"> <div class="card card-block"> <h3 class="card-title">Learn Swift</h3> <p class="card-text">Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla.</p> <a href="#" class="btn btn-primary">More Info</a> </div> </div> <div class="col-sm-6"> <div class="card card-block"> <h3 class="card-title">Learn Scala</h3> <p class="card-text">Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla.</p> <a href="#" class="btn btn-primary">More Info</a> </div> </div> </div>
  • 42. © 1995-2016 Haim Michael. All Rights Reserved. 42 Cards
  • 43. © 1995-2016 Haim Michael. All Rights Reserved. 43 Nav  Bootstrap provides us with various types of navigation components.  We can create simple links either horizontal or vertical, we can create tabs or pills. We can have our pills stacked on each other. We can add dropdowns to our tabs or to our pills.
  • 44. © 1995-2016 Haim Michael. All Rights Reserved. 44 Nav <ul class="nav nav-tabs" role="tablist"> <li class="nav-item"> <a class="nav-link active" data-toggle="tab" href="#home" role="tab">Home</a> </li> <li class="nav-item"> <a class="nav-link" data-toggle="tab" href="#products" role="tab">Products</a> </li> <li class="nav-item"> <a class="nav-link" data-toggle="tab" href="#about" role="tab">About</a> </li> <li class="nav-item"> <a class="nav-link" data-toggle="tab" href="#contact" role="tab">Contact</a> </li> </ul> <div class="tab-content"> <div class="tab-pane active" id="home" role="tabpanel">home screen...</div> <div class="tab-pane" id="products" role="tabpanel">our products are...</div> <div class="tab-pane" id="about" role="tabpanel">about our company...</div> <div class="tab-pane" id="contact" role="tabpanel">contact us at...</div> </div>
  • 45. © 1995-2016 Haim Michael. All Rights Reserved. 45 Nav
  • 46. © 1995-2016 Haim Michael. All Rights Reserved. 46 Navbar  The navbar is a simple wrapper for putting together the logo, the navigation and other elements.
  • 47. © 1995-2016 Haim Michael. All Rights Reserved. 47 Navbar <nav class="navbar navbar-light bg-faded"> <a class="navbar-brand" href="#">life michael</a> <ul class="nav navbar-nav"> <li class="nav-item active"> <a class="nav-link" href="#">Home</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Courses</a> </li> <li class="nav-item"> <a class="nav-link" href="#">About</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Contact</a> </li> </ul> <form class="form-inline pull-xs-right"> <input class="form-control" type="text" placeholder="Search"> <button class="btn btn-success-outline" type="submit">Search</button> </form> </nav>
  • 48. © 1995-2016 Haim Michael. All Rights Reserved. 48 Navbar
  • 49. © 1995-2016 Haim Michael. All Rights Reserved. 49 Breadcrumb  This component indicates about the current page location within the navigation hierarchy. <ol class="breadcrumb" style="margin-bottom: 5px;"> <li><a href="#">Home</a></li> <li><a href="#">Professional Courses</a></li> <li class="active">Android Platform</li> </ol>
  • 50. © 1995-2016 Haim Michael. All Rights Reserved. 50 Pagination  This component provides us with the capability to display pages the user can click on.
  • 51. © 1995-2016 Haim Michael. All Rights Reserved. 51 Pagination <nav> <ul class="pagination"> <li class="page-item"> <a class="page-link" href="#" aria-label="Previous"> <span aria-hidden="true">&laquo;</span> <span class="sr-only">Previous</span> </a> </li> <li class="page-item"><a class="page-link" href="#">1</a></li> <li class="page-item"><a class="page-link" href="#">2</a></li> <li class="page-item"><a class="page-link" href="#">3</a></li> <li class="page-item"><a class="page-link" href="#">4</a></li> <li class="page-item"><a class="page-link" href="#">5</a></li> <li class="page-item"><a class="page-link" href="#">6</a></li> <li class="page-item"><a class="page-link" href="#">7</a></li> <li class="page-item"> <a class="page-link" href="#" aria-label="Next"> <span aria-hidden="true">&raquo;</span> <span class="sr-only">Next</span> </a> </li> </ul> </nav>
  • 52. © 1995-2016 Haim Michael. All Rights Reserved. 52 Pagination
  • 53. © 1995-2016 Haim Michael. All Rights Reserved. 53 Pager  This component provides us with the capability to display simple next and previous buttons. <nav> <ul class="pager"> <li><a href="#">Previous</a></li> <li><a href="#">Next</a></li> </ul> </nav>
  • 54. © 1995-2016 Haim Michael. All Rights Reserved. 54 Progress  This component displays a simple progress bar on screen. <progress class="progress progress-striped progress-animated" value="25" max="100">35%</progress>
  • 55. © 1995-2016 Haim Michael. All Rights Reserved. 55 List Group  Using this component we can display both simple and complex lists of elements.
  • 56. © 1995-2016 Haim Michael. All Rights Reserved. 56 List Group <ul class="list-group"> <li class="list-group-item"> <span class="label label-default label-pill pull-xs-right">8</span> Israel </li> <li class="list-group-item"> <span class="label label-default label-pill pull-xs-right">42</span> France </li> <li class="list-group-item"> <span class="label label-default label-pill pull-xs-right">56</span> Canada </li> </ul>
  • 57. © 1995-2016 Haim Michael. All Rights Reserved. 57 List Group
  • 58. © 1995-2016 Haim Michael. All Rights Reserved. 58 Modal  The Modal component is a streamlined flexible dialog prompt.
  • 59. © 1995-2016 Haim Michael. All Rights Reserved. 59 Modal <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">&times;</span> </button> <h4 class="modal-title" id="myModalLabel"> Our Dialog Title </h4> </div> <div class="modal-body"> Bla bla bla. Bla bla bla. Bla bla bla. Bla bla bla. Bla bla </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> <button type="button" class="btn btn-primary"> Save changes</button> </div> </div> </div> </div>
  • 60. © 1995-2016 Haim Michael. All Rights Reserved. 60 Modal
  • 61. © 1995-2016 Haim Michael. All Rights Reserved. 61 Tooltips  Using the tooltip component we can display small tooltips next to specific elements on our page.
  • 62. © 1995-2016 Haim Michael. All Rights Reserved. 62 Tooltips <button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="top" title="tooltip text on top"> Tooltip on top </button> <button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="right" title="tooltip text on right"> Tooltip on right </button> <button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="bottom" title="tooltip text on bottom"> Tooltip on bottom </button> <button type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="left" title="tooltip text on left"> Tooltip on left </button>
  • 63. © 1995-2016 Haim Michael. All Rights Reserved. 63 Tooltips
  • 64. © 1995-2016 Haim Michael. All Rights Reserved. 64 Popover  The popover component allows us to display overlay content next to any element on our page.  In order to use this component we must include the tether.js before bootstrap.js. You can find the tether.js file at https://github.com/HubSpot/tether
  • 65. © 1995-2016 Haim Michael. All Rights Reserved. 65 Popover <button type="button" class="btn btn-lg btn-danger" data-toggle="popover" title="Popover Title" data-content="Bla bla bla bla"> Click Here </button>
  • 66. © 1995-2016 Haim Michael. All Rights Reserved. 66 Collapse  Using the collapse plugin we can toggle content on a web page.
  • 67. © 1995-2016 Haim Michael. All Rights Reserved. 67 Collapse <p> <a class="btn btn-primary" data-toggle="collapse" href="#phpcollapse" aria-expanded="false" aria-controls="phpcollapse"> PHP Rocks </a> <button class="btn btn-primary" type="button" data-toggle="collapse" data-target="#javacollapse" aria-expanded="false" aria-controls="javacollapse"> Java 4ever </button> </p> <div class="collapse" id="phpcollapse"> <div class="card card-block"> We love PHP! It is the simplest programming language for the server side! </div> </div> <div class="collapse" id="javacollapse"> <div class="card card-block"> We love Java! It is the greatest programming language in all times! </div> </div>
  • 68. © 1995-2016 Haim Michael. All Rights Reserved. 68 Collapse
  • 69. © 1995-2016 Haim Michael. All Rights Reserved. 69 Carousel  Using the carousel component we can get a magnificent slideshow.
  • 70. © 1995-2016 Haim Michael. All Rights Reserved. 70 Carousel <div id="carousel-example-generic" class="carousel slide" data-ride="carousel"> <ol class="carousel-indicators"> <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li> <li data-target="#carousel-example-generic" data-slide-to="1"></li> <li data-target="#carousel-example-generic" data-slide-to="2"></li> </ol> <div class="carousel-inner" role="listbox"> <div class="carousel-item active"> <img src="images/slide1.jpg" alt="First slide"> </div> <div class="carousel-item"> <img src="images/slide2.jpg" alt="Second slide"> </div> <div class="carousel-item"> <img src="images/slide3.jpg" alt="Third slide"> </div> </div> <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev"> <span class="icon-prev" aria-hidden="true"></span> <span class="sr-only">Previous</span> </a> <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next"> <span class="icon-next" aria-hidden="true"></span> <span class="sr-only">Next</span> </a> </div>
  • 71. © 1995-2016 Haim Michael. All Rights Reserved. 71 Carousel
  • 72. © 1995-2016 Haim Michael. All Rights Reserved. 72 Images
  • 73. © 1995-2016 Haim Michael. All Rights Reserved. 73 Introduction  Bootstrap provides us with CSS classes that assist us with the inclusion of images in the web page we develop.
  • 74. © 1995-2016 Haim Michael. All Rights Reserved. 74 Image Shapes  Using the img-rounded, img-circle and the img- thumbnail CSS classes we can create styled images shaped with rounded corners, as a circle or as a simple rectangular thumbnail.
  • 75. © 1995-2016 Haim Michael. All Rights Reserved. 75 Image Shapes <div class="row"> <div class="col-sm-6"> we love earth! </div> <div class="col-sm-6"> <img src="earth.jpg" class="img-circle img-fluid" alt="Responsive image"> </div> </div>
  • 76. © 1995-2016 Haim Michael. All Rights Reserved. 76 Image Shapes
  • 77. © 1995-2016 Haim Michael. All Rights Reserved. 77 Layout
  • 78. © 1995-2016 Haim Michael. All Rights Reserved. 78 Introduction  Bootstrap provides us with a powerful grid system we can use for setting the layouts we want for each and every platform we target.  The grid system is based on a 12 column layout, and has multiple tiers. Each tier refers a specific media query range.  Bootstrap provides us with CSS classes we can use for setting the containers, the rows and the columns we want to have in our layout.
  • 79. © 1995-2016 Haim Michael. All Rights Reserved. 79 Rows  The rows are horizontal groups of columns that ensure our columns are lined up properly.  The content is placed within columns. The columns are the only children the rows can have.
  • 80. © 1995-2016 Haim Michael. All Rights Reserved. 80 Columns  The column CSS class we are using indicates about the number of columns we would like to use out of the possible 12 columns each row has (e.g. using the .col-sm-4 CSS class means that we want to have a three equal width columns row).
  • 81. © 1995-2016 Haim Michael. All Rights Reserved. 81 The Grid Tiers  There are five grid tiers. Each tier refers a specific responsive breakpoint (extra small, small, medium, large and extra large).  The tiers are based on minimum widths. They apply to the one tier they specifically refer, and all of the other ones that above it.
  • 82. © 1995-2016 Haim Michael. All Rights Reserved. 82 The Grid Tiers <div class="container"> <div class="row"> <div class="col-sm-4"> One of three columns </div> <div class="col-sm-4"> One of three columns </div> <div class="col-sm-4"> One of three columns </div> </div> </div> <div class="container"> <div class="row"> <div class="col-sm-3"> One of four columns </div> <div class="col-sm-3"> One of four columns </div> <div class="col-sm-3"> One of four columns </div> <div class="col-sm-3"> One of four columns </div> </div> </div>
  • 83. © 1995-2016 Haim Michael. All Rights Reserved. 83 The Grid Tiers <div class="container"> <div class="row"> <div class="col-sm-2"> One of six columns </div> <div class="col-sm-2"> One of six columns </div> <div class="col-sm-2"> One of six columns </div> <div class="col-sm-2"> One of six columns </div> <div class="col-sm-2"> One of six columns </div> <div class="col-sm-2"> One of six columns </div> </div> </div>
  • 84. © 1995-2016 Haim Michael. All Rights Reserved. 84 The Grid Tiers
  • 85. © 1995-2016 Haim Michael. All Rights Reserved. 85 The Grid Tiers  The documentation includes a detailed table that describes the supported tiers.
  • 86. © 1995-2016 Haim Michael. All Rights Reserved. 86 The Grid Tiers
  • 87. © 1995-2016 Haim Michael. All Rights Reserved. 87 Stacked Columns  When the device width is too small for having the columns we created to apply we will have those columns stacked on each other.
  • 88. © 1995-2016 Haim Michael. All Rights Reserved. 88 Stacked Columns <div class="container"> <div class="row"> <div class="col-md-8">.col-md-8</div> <div class="col-md-4">.col-md-4</div> </div> <div class="row"> <div class="col-md-4">.col-md-4</div> <div class="col-md-4">.col-md-4</div> <div class="col-md-4">.col-md-4</div> </div> <div class="row"> <div class="col-md-6">.col-md-6</div> <div class="col-md-6">.col-md-6</div> </div> </div>
  • 89. © 1995-2016 Haim Michael. All Rights Reserved. 89 Stacked Columns
  • 90. © 1995-2016 Haim Michael. All Rights Reserved. 90 Stacked Columns
  • 91. © 1995-2016 Haim Michael. All Rights Reserved. 91 Desktop and Mobile  If we don’t want our columns to be stacked in smaller devices we can use the extra small and medium device grid classes by adding the .col-xs-* and .col-md-* to the columns.
  • 92. © 1995-2016 Haim Michael. All Rights Reserved. 92 Desktop and Mobile
  • 93. © 1995-2016 Haim Michael. All Rights Reserved. 93 Desktop and Mobile
  • 94. © 1995-2016 Haim Michael. All Rights Reserved. 94 Themes
  • 95. © 1995-2016 Haim Michael. All Rights Reserved. 95 Introduction  Bootstrap themes are packages of HTML, CSS and JavaScript code that provide styling, UI components and page layouts you can use in your Bootstrap based website.
  • 96. © 1995-2016 Haim Michael. All Rights Reserved. 96 Types of Themes  When it comes to Bootstrap there are four different types of themes.  There are themes that modify the look and feel of Bootstrap’s existing components, there are themes that add new components and new page layouts, there are themes that do both of the two, and there are themes that integrate with an existing CMS, such as WordPress.
  • 97. © 1995-2016 Haim Michael. All Rights Reserved. 97 Bootstrap Official Themes  You can find them all organized and ready for purchase at https://themes.getbootstrap.com
  • 98. © 1995-2016 Haim Michael. All Rights Reserved. 98 Templates
  • 99. © 1995-2016 Haim Michael. All Rights Reserved. 99 Introduction  The bootstrap template is kind of a collection of single themed pages.  You can find many websites that sell ready to use Bootstarp templates. https://themeforest.net https://startbootstrap.com/template-categories/all/
  • 100. © 1995-2016 Haim Michael. All Rights Reserved. 100 Visual Designers
  • 101. © 1995-2016 Haim Michael. All Rights Reserved. 101 Introduction  There are many tools that simplify the creation of a Bootstrap based web page, some of them are available for free, and some of them are even available online.
  • 102. © 1995-2016 Haim Michael. All Rights Reserved. 102 The bootstrapstudio.io Application
  • 103. © 1995-2016 Haim Michael. All Rights Reserved. 103 The simbla.com Application
  • 104. © 2009 Haim Michael All Rights Reserved 104 Questions & Answers Thanks for Your Time! Haim Michael haim.michael@lifemichael.com +972+3+3726013 ext:700 lifemichael