4.1HTML和Bootstrap css精华

1、HTML

2、理解Bootstrap

HTML元素告诉浏览器,他要是显现的凡呀品种的始末,当他们非提供其他关于什么展示内容之音。如何展示内容的音讯,由CSS提供。

本书仅包含足够的信,让您查看AngularJS特性,和Bootstrap的体裁。要以身作则基本bootstrap的特征,在angularjs文件夹下新建bootstrap.html

<!DOCTYPE html>


<html xmlns="http://www.w3.org/1999/xhtml">


<head>


<title>Bootstrap Examples</title>


<link href="bootstrap.css" rel="stylesheet"
                                    />


<link href="bootstrap-theme.css" rel="stylesheet"
                                    />


</head>


<body>


<div class="panel">


<h3 class="panel-heading">Button Styles</h3>


<button class="btn">Basic Button</button>


<button class="btn btn-primary">Primary</button>


<button class="btn btn-success">Success</button>


<button class="btn btn-warning">Warning</button>


<button class="btn btn-info">Info</button>


<button class="btn btn-danger">Danger</button>


</div>


<div class="well">


<h3 class="panel-heading">Button Sizes</h3>


<button class="btn btn-large btn-success">Large Success</button>


<button class="btn btn-warning">Standard Warning</button>


<button class="btn btn-small btn-danger">Small Danger</button>


</div>


<div class="well">


<h3 class="panel-heading">Block Buttons</h3>


<button class="btn btn-block btn-large btn-success">Large Block Success</button>


<button class="btn btn-block btn-warning">Standard Block Warning</button>


<button class="btn btn-block btn-small btn-info">Small Block Info</button>


</div>


</body>


</html>

2.1、应用为主的Bootstrap
classes

Bootstrap样式,通过class属性应用。

<div class="panel">

笔者设置class的特性为panel,他是Bootstrap定义之多只CSS
classes中的一个。这里出三栽基本样式classes:

Bootstrap Class

Description

panel

一个圆角边框的panel。panel可以有一个header和一个footer.

panel-heading

为panel创建一个heading

btn

创建一个button

well

使用inset 效果组织元素

提拔:并无是持有的Bootstrap样式都需利用class属性。h1-h6字号,自动应用样式。

2.1.1、修改样式上下文

Bootstrap定义了扳平组style
context classes。这些classes结合一个中心的Bootstrap
样式class,hyphen,primary,success,waring,info ,danger来使用。

<button class="btn btn-primary">Primary</button>

上下文classes必须利用为基本class,这就算是干什么button元素既出btn,也闹btn-primary
classes。你切莫是必以前后文class,他们是可选的。

2.1.2、修改尺寸

可透过使用size修改class,来改元素。他们和一个基本class名,hyphen,lg,sm等一起用,

<button class="btn btn-lgbtn-success">Large Success</button>

公可动用btn-block
class,来创造一个button,它只是产生一个可用的直空间填充。

<button class="btn btn-blockbtn-lg btn-success">Large Block Success</button>

2.2、为Table的体使用Bootstrap

Bootstrap Class

description

table

为table元素和它的内容生成样式

table-striped

应用alternate-row

table-bordered

为所有行和列应用边框

table-hover

当鼠标hovers over在表中的一个行上,显示不同的样式

table-condensed

减少table里的空间,来创建一个更紧凑的布局

不无这些classes都直接用在table元素上。

<!DOCTYPE html>


<html xmlns="http://www.w3.org/1999/xhtml">


<head>


<title>Bootstrap Examples</title>


<link href="bootstrap.css" rel="stylesheet"
                                    />


<link href="bootstrap-theme.css" rel="stylesheet"
                                    />


</head>


<body>


<div class="panel">


<h3 class="panel-heading">Standard Table with Context</h3>


<table class="table">


<thead>


<tr><th>Country</th><th>Capital City</th></tr>


</thead>


<tr class="success"><td>United Kingdom</td><td>London</td></tr>


<tr class="danger"><td>France</td><td>Paris</td></tr>


<tr><td>Spain</td><td class="warning">Madrid</td></tr>


</table>


</div>


<div class="panel">


<h3 class="panel-heading">Striped, Bordered and Highlighted Table</h3>


<table class="table table-striped table-bordered table-hover">


<thead>


<tr><th>Country</th><th>Capital City</th></tr>


</thead>


<tr><td>United Kingdom</td><td>London</td></tr>


<tr><td>France</td><td>Paris</td></tr>


<tr><td>Spain</td><td>Madrid</td></tr>


</table>


</div>


</body>


</html>

2.2.1、确保合适的Table结构

留意,作者用了thead元素。浏览器会于table元素下的首先独tr元素,用于thead。

<!DOCTYPE html>


<html xmlns="http://www.w3.org/1999/xhtml">


<head>


<title>Bootstrap Examples</title>


<link href="bootstrap.css" rel="stylesheet"
                                    />


<link href="bootstrap-theme.css" rel="stylesheet"
                                    />


</head>


<body>


<div class="panel">


<h3 class="panel-heading">Striped, Bordered and Highlighted Table</h3>


<table class="table table-striped table-bordered table-hover">


<tr><th>Country</th><th>Capital City</th></tr>


<tr><td>United Kingdom</td><td>London</td></tr>


<tr><td>France</td><td>Paris</td></tr>


<tr><td>Spain</td><td>Madrid</td></tr>


</table>


</div>


</body>


</html>

夫事例没有thead元素,这意味着,header
row会被增长浏览器自动创建及tbody元素上。

2.3、使用Bootstrap来创造一个表单

<!DOCTYPE html>


<html xmlns="http://www.w3.org/1999/xhtml">


<head>


<title>Bootstrap Examples</title>


<link href="bootstrap.css" rel="stylesheet"
                                    />


<link href="bootstrap-theme.css" rel="stylesheet"
                                    />


</head>


<body>


<div class="panel">


<h3 class="panel-header">


Form Elements

</h3>


Figure 4-5.  The effect of combining header and body rows in a table

CHAPTer 4 ■HTML And BooTSTrAPCSS PrIMer

68

<div class="form-group">


<label>Name:</label>


<input name="name" class="form-control"
                                    />


</div>


<div class="form-group">


<label>Email:</label>


<input name="email" class="form-control"
                                    />


</div>


<div class="radio">


<label>


<input type="radio" name="junkmail" value="yes" checked />


Yes, send me endless junk mail

</label>


</div>


<div class="radio">


<label>


<input type="radio" name="junkmail" value="no"
                                            />


No, I never want to hear from you again

</label>


</div>


<div class="checkbox">


<label>


<input type="checkbox"
                            />


I agree to the terms and conditions.

</label>


</div>


<input type="button" class="btn btn-primary" value="Subscribe"
                                            />


</div>


</body>


</html>

由此让一个饱含label和input的div元素使用form-group
class,来使用中心的表单样式。

<div class="form-group">


<label>Email:</label>


<input name="email" class="form-control"
                                    />


</div>

Bootstrap样式,label在input元素的上方显示,input元素拥有100%底水平可用空间。

提拔:label元素用于包含叙文本,input元素与用于其他种类的input元素有不同之组织。

2.4、使用Bootstrap来创建Grids

Bootstrap提供的体裁classes,可以用于创造不同档次之grid布局,用于响应式布局。

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>Bootstrap Examples</title>

<link href="bootstrap.css" rel="stylesheet" />

<link href="bootstrap-theme.css" rel="stylesheet" />

<style>

#gridContainer {padding: 20px;}

.grid-row > div { border: 1px solid lightgrey; padding: 10px;

background-color: aliceblue; margin: 5px 0; }

</style>

</head>

<body>

<div class="panel">

<h3 class="panel-header">

Grid Layout

</h3>

<div id="gridContainer">

<div class="row grid-row">

<div class="col-xs-1">1</div>

<div class="col-xs-1">1</div>

<div class="col-xs-2">2</div>

<div class="col-xs-2">2</div>

<div class="col-xs-6">6</div>

</div>

<div class="row grid-row">

<div class="col-xs-3">3</div>

<div class="col-xs-4">4</div>

<div class="col-xs-5">5</div>

</div>

<div class="row grid-row">

<div class="col-xs-6">6</div>

<div class="col-xs-6">6</div>

</div>

<div class="row grid-row">

<div class="col-xs-11">11</div>

<div class="col-xs-1">1</div>

</div>

<div class="row grid-row">

<div class="col-xs-12">12</div>

</div>

</div>

</div>

</body>

</html>

2.4.1、Table VS Grids

Table用于扁平的数码,经常用来在grid中布局内容。一般,你该于grid中的情以CSS布局,因为table与时分手内容的口径相背离。CSS3含grid布局,但其还未曾以主流浏览器中贯彻。最好的挑选项,是运CSS框架,像Bootstrap。

以作者自己之项目被,有时出于客户端以及web
app不接受CSS框架,不支持时的CSS3布局。在这种气象下,作者以一个table元素,来创造一个grid布局。

2.4.2

Bootstrap
grid布局体系,用起来格外简短。你可叫div元素应用一个row
class,来指定一个排列。他会见呢div元素包含的情,配置grid布局。

君得由此col-xs,指定列的子元素占据多少排列。

Bootstrap不见面吃row中的要素运用任何样式,所以作者利用style元素,创建一个自定义CSS样式,设置背景颜色,行之间的距离,添加一个边框。

<div class="row grid-row">

2.4.3创建响应式Grids

响应式Grids,基于浏览器窗口的尺码,调整布局。响应式grids,主要为此来允许倒装备和桌面设备显示平之情节,有重复好的屏幕可用空间。要开创一个响应式grid,用脚表中的一个classes,替换每个cells的col-*
class。

Bootstrap Class

Description

Col-sm-*

当屏幕宽度大于768像素时,Grid cell水平显示

Col-md-*

当屏幕宽度大于940像素时,Grid cell水平显示

Col-lg-*

当屏幕宽度大于1170像素时,Grid cell水平显示

当屏幕宽度低于class支持之宽窄,grid
row的 cell 会垂直排列,而非是程度。

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>Bootstrap Examples</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

<link href="bootstrap.css" rel="stylesheet" />

<link href="bootstrap-theme.css" rel="stylesheet" />

<style>

#gridContainer { padding: 20px; }

.grid-row > div { border: 1px solid lightgrey;

padding: 10px; background-color: aliceblue; margin: 5px 0; }

</style>

</head>

<body>

<div class="panel">

<h3 class="panel-header">

Grid Layout

</h3>

<div id="gridContainer">

<div class="row grid-row">

<div class="col-sm-3">3</div>

<div class="col-sm-4">4</div>

<div class="col-sm-5">5</div>

</div>

<div class="row grid-row">

<div class="col-sm-6">6</div>

<div class="col-sm-6">6</div>

</div>

<div class="row grid-row">

<div class="col-sm-11">11</div>

<div class="col-sm-1">1</div>

</div>

</div>

</div>

</body>

</html>

我使用col-sm-*,替换之前的col-xs*。当浏览器窗体宽度超过768像素时,水平排列,小于时,垂直排列。

唤醒:注意作者加了meta元素。该因素告诉移动装备浏览器,以实际尺寸显示内容。没有meta元素的话,许多运动装备浏览器会一缩放的形式,显示桌面版网页,用户用拓宽才能够看仔细。简而言之,当有运动设备看时,你要丰富一个meta元素。查看作者的The
Definitive Guide to HTML5 这本开,有详实说明。

 

 

相关文章