Bootstrap【读书笔记《Bootstrap 实战》】1.初识Bootstrap

当Web前端开发框架,Bootstrap为绝大多数正经的UI设计大提供了用户自己、扩浏览器的化解方案。

 

1.下载Bootstrap

打开官方网址 http://getbootstrap.com/
进行下载。

Bootstrap 1

 

 

2.备选项目模板文件夹

连接下去,我们呢第一个类型开创一个文件夹和有着力的文书。谓词我们还要采取HTML5样板文件
HTML5 Boilerplate(H5BP),然后将Bootstrap的发出因此文件复制过去。

2.1 下载H5BP

拜网站链接地址:https://html5boilerplate.com/
,下载B5BP。

Bootstrap 2

解压后,修改文件夹名为Bootstrap_First,其目录结构如下:

Bootstrap 3

2.2 然后去和创新下必备之指南文件

删除下列至于H5BP相关的文本夹和文件:

□ 因为稍后要使LESS创建和谐之CSS文件,所以先去css文件夹。

□ doc 文件夹和中间内容

2.3 理解则中的.htaccess文件

本条文件被的情无自然举且为此,这有赖于主机设置及站点需求。这个文件的一个主要用途是保险站点性能最好优秀。

2.4 更新必要之师文件

师中之下列文件提供了型之正经信息,根据需要可以创新她、直接用她或就加大那么无论是。

□ humans.txt:这个文件记载贡献者,H5BP、Bootstrap的,还闹另外贡献者。

□ LICENSE.txt:在H5BP许可前,加上你根据该许可构建的网站的准许信息,在H5BP许可后,加上Bootstrap以及另站点中因故到的关键的堆栈底准信息。

2.5 更新站点桌面以及触摸设备图标

永不忘记了为此自己种之图标替换 Boilerplate 默认的图标文件。

 

 

3.加入Bootstrap文件

3.1 字体

从Bootstrap的主文件夹着,把fonts文件夹复制粘贴到Bootstrap_First文件夹着。这个文件夹里噙着Bootstrap附带的机要的Glyphicon字体。

保起见,再于fonts文件夹着推广一个跨域友好之.htaccess文件:

<FilesMatch "\.(ttf|otf|eot|woff)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>

夫目的是承保即使站点根目录下没有放H5BP之.htaccess文件,也未见面并发字体问题。

 

3.2 JavaScript

连通下去就是入Bootstrap的JavaScript文件。H5BP的文件夹着曾经包含了几独JavaScript文件如下:

Bootstrap 4 

每当js文件夹里新建文件夹bootsreap,然后把Bootstrap的js文件夹着之本子还复制过来。下面的截图显示了Bootstrap随带的插件。每个插件一个文本:

Bootstrap 5

将这些插件文件集中保存及新建的js/bootstrap
文件夹,便于优化网站性能,即好随需选用插件、排除其他文件并缩减文件大小。

于付出中,保持有Bootstrap的插件都可用也是一个方法。这样,如果想补充加个折叠、提示或传送带效应,都得随手拈来。

H5BP采用的法子是把有插件代码复制到一个
plugins.js模板文件被。这是终结开发从此的顶尖做法,因为这样好减少HTTP请求,加快站点速度。(换句话说,一个80K的公文,比加载4单20K之文件速度又快。)

开拓Bootstrap文件夹着寓分发文件之dist文件夹。在这文件夹着之js文件夹里,包含在
bootstrap.js 和 bootstrap.min.js,它们就是是富含
Bootstrap所有插件代码的非常文件。

Bootstrap 6

拿bootstrap.min.js 的备代码复制到plugins.js 里。

下一场把Bootstrap文件夹里之less文件夹也复制到项目文件夹着。

 

4.构造HTML模板

打开项目受到的 index.html
文件进行编制。这个示例标记文件来H5BP,体现了一部分顶尖实践和建议方案。我们就算因为之也底蕴,把其构成到Bootstrap的做事流中。

浏览一下全副文件,其中起几乎个好玩的地方,H5BP文档中还发生详细说明,目前之5.3.0本子的链接地址为:https://github.com/h5bp/html5-boilerplate/blob/5.3.0/dist/doc/extend.md
。下面为简单介绍下,按次序来:

□ HTML5 文档类型声明:

<!doctype html>

□ 接下去是几乎单meta标签

  ■  用于指定字符集的:  

<meta charset="utf-8">

  ■  告诉IE使用新型版本的渲染引擎

<meta http-equiv="x-ua-compatible" content="ie=edge">

  ■  预留给描述站点用的:

<meta name="description" content="">

  ■ 针对移动浏览器的视口标签

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

□ 接下去是个别独样式表的链接

<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/main.css">


再下就是加载Modernizr脚本的script标签。这个剧本回味IE8提供HTML5“垫片脚本”,以便她能够分辨HTML5的分区元素:

<script src="js/vendor/modernizr-2.8.3.min.js"></script>

□ 接下是IE条件注释,包含推荐用户将原来本子IE升级到新本子的音信:

<!--[if lt IE 8]>
<p class="browserupgrade">You are using an <strong>outdated</strong> browse. ...
<![endif]-->

□ 紧接着是同一截文本

□ 随后是托管在谷歌服务器上之jQuery链接,以及一个当地jQuery的后备链接:

<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.12.0.min.js"><\/script>')</script>

□ 下面就plugins.js
和main.js的链接,别分保存JavaScript插件代码和咱们编辑的代码:

<script src="js/plugins.js"></script>
<script src="js/main.js"></script>

□ 谷歌的Analytics 脚本:

<!-- Google Analytics: change UA-XXXXX-X to be your site's ID. -->
<script>
  (function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
  function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
  e=o.createElement(i);r=o.getElementsByTagName(i)[0];
  e.src='https://www.google-analytics.com/analytics.js';
  r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
  ga('create','UA-XXXXX-X','auto');ga('send','pageview');
</script>

 

本着此次的职责而言,我们得对这个模板被的因素进行如下操作:

(1) 设定我们站点的题,针对旧本子浏览器用户更新现有的IE条件注释;

(2) 基于LESS文件编译Bootstrap的CSS,添加基本的页面内容;

(3)
整合Bootstrap的JavaScript插件,确保响应式的领航漫漫(navbar)正常应。

开了就几乎项事后,我们不怕得起计划协调之网站了。

 

5.设定站点标题 

<title>初识 Bootstrap</title>

5.1 调整过时的浏览器消息

模板被之音对老浏览器用户。

<!--[if lt IE 8]>
<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">
upgrade your browser</a> to improve your experience.</p>
<![endif]-->

 其中蕴藏的链接 http://browsehappy.com/
,该网站是一个推荐浏览器升级的站点。

5.2 设置主结构元素

下开始备页面内容,目前还仅仅生一个段子。我们得稍微添加一些情节:

□ 包含Logo的导航的页头区;

□ 包含页面内容之内容区;

□ 包含版权和社交媒体链接的页脚区。

丰富这些内容,都见面冲最新的HTML最佳实践来开,而且会考虑ARIA(Accessible
Rich Internet
Applications,可看富因特网应用)的role属性(即banner、navigation、main和contentinfo
这几乎单角色)。HTML5后来同时加了 <main cole=”main></main>
元素,目的是专门为页面或分区中之预告内容提供一个专用的素。要打听又多信息,可以参照链接:https://www.sitepoint.com/how-to-use-aria-effectively-with-html5/

找到下面的代码:

<!-- Add your site or application content here -->
<p>Hello world! This is HTML5 Boilerplate.</p>

修改为:

<header role="banner">
<nav role="navigation">
</nav>
</header>

<main role="main">
<h1>Main Heading</h1>
<p>Content specific to this page goes here.</p>
</main>

<footer role="contentinfo">
<p><small>Copyright &copy; Luka Ye</small></p>
</footer>

就就是是咱页面的骨干组织和情节。

 

6.导航条

俺们先行管Bootstrap特有的素设置好,那即便是导航条。

作起点,我们好暂时虽采用
Bootstrap基本的导航条。为者,从Bootstrap文档中拿来她的领航长长的代码,然后做出如下调整:

□ 添加了 navbar-static-top
类,因为咱们意在导航条能稳定到窗口顶部,但能按照页面滚动而滚动。

□ 将项目名称连接至 index.html;

□ 把本的父div标签改成为了语义化的HTML5 nav 标签。

调后,其header元素如下:

<header role="banner">
<nav role="navigation" class="navbar nav-static-top navbar-default">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="index.html">初识 Bootstrap</a>
</div>
<ul class="nav navbar-nav">
<li class="active"><a href="index.html">Home</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</div>
</nav>
</header>

保存结果,其导航条的示力量如下:

Bootstrap 7

内容发生了。现在,我们特地要团结的样式表。先来形成并链接Bootstrap默认的样式表。

 

7.编翻译和链接默认的Bootstrap CSS

7.1 编译Bootstrap CSS

找到less/bootstrap.less
并开拓它,这个文件导入了less文件夹着所出另文件。编译后,这个文件会变完整的bootstrap.css样式表。而及时就是是咱们第一步而做的。

PS:LESS的文档地址也 http://lesscss.org/  

一旦周没有编译过LESS文件,需要下载和装她的编译器。

□ Window 用户,下载和设置者编译器:

 ■ WinLess(免费桌面应用),地址也 http://winless.org 。

□ Mac 用户可以选择下载:

 ■ Crunch 应用(免费),地址为 http://crunchapp.net/

 ■ CodeKit(收费),地址为 http://incident57.com/codekit/

下载了摘的LESS编译器之后,安装,打开。然后就可以按照下面的步骤来做了。

(1) 在清目录创建css文件夹。

Bootstrap 8

(2) 使用下列的同样栽把主文件(css、fonts、img、js和
less文件夹的父文件夹)添加到编译器:

 ■ 把公文夹拖到编译器窗口被;

 ■ 在编译器窗口被找到 Add folder 按钮,点击选择主文件夹。

(3)
然后又编译器窗口被可见到加载的LESS文件,找到less/bootstrap.lesss文件

(4) 右键单击less/bootstrap.less 文件,选择 Select output
file,找到刚创立的css文件夹,此时出口文件称当自行会变成bootstrap.css,单击“保存”。

(5) 选择输出路径和文件称,点击Compile。

Bootstrap 9

(6) css文件夹着会起编译生成的 bootstrap.css文件。

(7)
编译成功后,唯一要留意的凡者文件称是否与index.html中链接的文本称相同。

(8) 在 index.html 中,删除指向 css/normalize.css
的体表链接,因为此样式表已经包含在 Bootstrap中了。

(9) 复制一卖 bootstrap.css,重命名吧main.css。

Bootstrap 10

(10)
浏览器打开index.html文件,可以看到由默认的导航样式如下,从排版和布局上有着加强,这说明CSS已经生效。

Bootstrap 11

7.2 完成响应式导航条

以在 Bootstrap
响应式导航条基础及形成我们的领航长条,还得又充实有限只新因素,以及相应的好像以及data属性。相关的用法可以参见
Bootstrap的Components
文档,在Navbar选项卡下:http://getbootstrap.com/components/#navbar

先期照下列步骤上加额外的记号。

(1) 搜索到 <div
class=”navbar-header”>,在一个要素中上加一个navbar-toggle按钮,用于进行和接收响应式导航条。下面就是此按钮的普记:

<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">



</button>
<a class="navbar-brand" href="index.html">初识 Bootstrap</a>
</div>

概括说下以上代码:

 ■ 按钮中的navbar-toggle 类用于采取CSS样式;

 ■ 后面的数据性 data-toggle 和 data-target 是Bootstrap 的JavaScript
插件而用之,分部表示预期行为以及预期目标(即 collapse 和类名为
navbar-collapse 的要素,这个元素后面会加上)

 ■ 类名吧 icon-bar 的span 元素是CSS用来创造按钮中之老三志杠按钮用的。

(2) 接下来把导航项包装在一个接受的div中,即用带有适当
Bootstrap类的div把<ul class=”nav navbar-nav”>包装起来:

<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="index.html">Home</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</div>

每当前方两步着,我们将代码分分隔成稀片段,而且还放在 <div
class=”container”>中。

吓了,在其余一个现代浏览器(IE9
或Firefox、Chrome、Safari等的新式版本)中,拖动窗口缩小到低于980像从。其出示效果如下:

Bootstrap 12

 

 

7.3 排除故障

若果一切顺利,那么证明您已打响地把LESS编译成CSS,而且也成功地含有了Bootstrap的JavaScript插件。如果未尽如人意,那即便假设仔细检查下咯。

7.4 支持IE8

假设支持IE8,需要同段子JavaScript代码让浏览器会响应媒体询问。这段代码就是Scott
Jehl的 respond.js “腻子脚论”。

Bootstrap自身的文档推荐这样做盖兼容IE8。相关消息可参照这里:http://getbootstrap.com/getting-started/#browsers

为对IE8 应用即段脚本,需要对IE8底条件注释:

<!--[if lt IE 9]>
...
<![endif]-->

另外,根据Andy Clarke的提议,为了不让并不需要这个剧本的Windows
移动装备加载该脚本,还应该破除IE移动版浏览器,具体参见他的在线代码块
320andup,地址是:https://github.com/malarkey/320andup/ 。

Clarke建议的准绳注释如下:

<!--[if (lt IE 9) & (!IEMobile)]>
...
<![endif]-->

发矣极注释,下面就是在站点模板文件中上加腻子脚论了,步骤如下:

(1) 打开 https://github.com/scottjehl/Respond ,下载源代码。

Bootstrap 13

(2) 解压缩,找到名为吧 respond.min.js 的压缩版。

(3) 把它复制到品种文件夹着的 js/vendor 目录下,与jQuery 和
Modernizr放到一起。

Bootstrap 14

(4) 然后,把脚几乎履行加载 respond.js 文件代码添加到 index.html
中,包括针对IE的法注释,就加载 Modernizr的代码下面:

<!-- Modernizr -->
<script src="js/vendor/modernizr-2.8.3.min.js"></script>
<!-- Respond.js for IE 8 or less only -->
<!--[if (lt IE 9) & (!IEMobile)]>
<script src="js/vendor/respond.min.js"></script>
<![endif]-->

(5) 好了,这样IE8 就可支撑媒体询问响应视口大小变化了。

PS:如果你想测试添加腻子脚本的结果,但同时没IE8
浏览器,可以以一个在线服务,叫Browsershots,地址是:http://browsershots.org/,这是免费之。还有一个收费的,叫BrowserStack,地址是:
https://www.browserstack.com/(试用免费Bootstrap)。

 

来源:《Bootstrap实战》

相关文章