Bootstrap零基础学习第一课之模板


Posted in Javascript onJuly 18, 2016

最近需要做一个简单的Web页面。
 考虑到前端经验不足,为了快速产出,同时项目只是一个工具,对项目没有什么要求,所以我选择了Bootstrap这个框架作为Web框架。
 写从零开始学Bootstrap的初衷:
 看了半天的Bootstrap的文档,包括官方的(http://v3.bootcss.com/getting-started/)和非官方的(http://www.runoob.com/bootstrap/bootstrap-tutorial.html),以及他人写的简单入门博客(http://www.cnblogs.com/fnng/p/4446047.html),和知乎上关于BootStrap上的评论(https://www.zhihu.com/question/35237472,https://www.zhihu.com/question/31409502)深深的感觉到,Bootstrap应该是一个很好用的框架,学习起来也不难,是个高速产出的工具,但是灵活性不足以让开发者随心所欲的把玩。而且前端的东西太多太杂,如果没有一个清晰的学习目标和路线,很容易陷入无尽的细节中,没有相应的产出,会有挫败感。因此我决定记录下自己的学习路径,方便自己复习,以及广大的初学者入门。
 让我们先从BootStrap的最简单的模板开始: 

<!DOCTYPE html>
<html lang="zh-CN">
 <head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
 <title>Bootstrap 101 Template</title>

 <!-- Bootstrap -->
 <link href="css/bootstrap.min.css" rel="stylesheet">

 <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
 <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
 <!--[if lt IE 9]>
 <script src="//cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
 <script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
 <![endif]-->
 </head>
 <body>
 <h1>你好,世界!</h1>

 <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
 <script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
 <!-- Include all compiled plugins (below), or include individual files as needed -->
 <script src="js/bootstrap.min.js"></script>
 </body>
</html>

让我们一行行的来看(我用#代表解释):
 <!DOCTYPE html> #代表这是HTML5页面

<html lang="zh-CN"> #lang是“language”的意思,是html标签的一个属性,这个属性是告诉搜索引擎,我这个页面是中文页面,是方便搜索引擎收录的,对页面显示并没有影响。"zh—CN"是ISO标准的一种写法,表示中文。"zh"是"zhongwen"的前两个字母(如果要告诉浏览器是英文界面,则lang="en","en"就对应了“english”的前两个字母),"CN"是国家代码。(http://www.cnblogs.com/sink_cup/archive/2010/01/22/html401_lang_iso639_iso3166_iana_language_subtag.html)

<meta charset="utf-8"> #meta标签是方便浏览器解析HTML文件的标签,charset属性告诉浏览器,本HTML文件的编码方式是utf-8.

<meta http-equiv="X-UA-Compatible" content="IE=edge"> #http-equiv属性告诉浏览器,本HTML规定的兼容性等细节是怎样的。(https://3water.com/web/70787.html)#X-UA-Compatible值是IE8及以后版本的IE(IE9,IE10,11,...)中才生效的标记,用来指定浏览器去模拟某个特定版本的IE浏览器的渲染方式。(网上有的文章居然说 X-UA-Compatible是IE8的专用标记,简直太误导人了!)

#为什么要这么做?因为微软之前的IE(IE6,IE7)是不符合W3C标准的,因此有些网站的代码使用的是老IE的标准,而不是W3C的标准。而从IE8开始,微软采用了W3C标准。

#所以可以通过这个属性值,来强制规定浏览器的渲染方式,当设置content="IE6"的时候,这样用户以IE8及以上的浏览器也能正常显示IE6标准下的HTML网页。

#content="IE=edge"则是强制规定了浏览器以当前所能支持的最新版本的IE标准进行渲染。为什么要这样做?因为有些用户的浏览器可能设成了“兼容模式”,是以老IE标准去渲染HTML文件,当遇到W3C标准的HTML代码的时候会相出现错误。所以,当我的代码是W3C标准的,又不考虑老IE标准的支持时,强制使用浏览器中所能支持的最新版本IE渲染,能够避免“兼容模式”带来的显示错误。(即不需要用户手动更改浏览器的渲染模式) <meta name="viewport" content="width=device-width, initial-scale=1"> #viewport规定了显示窗口的相关设定,这里content中width规定了显示宽度,initial-scale规定了初始缩放比例。(关于其他的功能:设置用户能否缩放,最大缩放比例,最小缩放比例等,参考:http://my.oschina.net/liangrockman/blog/380727)    

<!--[if lt IE 9]>
      <script src="//cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->

#这里是条件注释判断,当IE版本小于IE9的时候,scrpit src采取上述cdn的资源。

<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>

<script src="js/bootstrap.min.js"></script>

#这里是链接了jquery和bootstrap的js文件,放在最后是为了加快网页加载速度,即首先显示出网页内容,然后加载js文件。如果放在前面,比如head标签里,则网速不好的时候,会一直卡在加载js文件那里,无法很快的显示出网页内容,影响用户体验。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

如果大家还想深入学习,可以点击这里进行学习,再为大家附两个精彩的专题:Bootstrap学习教程 Bootstrap实战教程

Javascript 相关文章推荐
jquery 获取dom固定元素 添加样式的简单实例
Feb 04 Javascript
Javascript学习笔记之 对象篇(四) : for in 循环
Jun 24 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
Oct 08 Javascript
jQuery插件制作的实例教程
May 16 Javascript
vue.js利用defineProperty实现数据的双向绑定
Apr 28 Javascript
详解vue跨组件通信的几种方法
Jun 15 Javascript
vue一步步实现alert功能
Jul 05 Javascript
vue-cli项目中怎么使用mock数据
Sep 27 Javascript
vue中的面包屑导航组件实例代码
Jul 01 Javascript
jQuery zTree树插件的使用教程
Aug 16 jQuery
javascript 对象 与 prototype 原型用法实例分析
Nov 11 Javascript
vue elementUI表格控制对应列
Apr 13 Vue.js
深入分析javascript中的错误处理机制
Jul 17 #Javascript
javascript正则表达式中分组详解
Jul 17 #Javascript
最佳的JavaScript错误处理实践
Jul 16 #Javascript
JS+CSS3实现超炫的散列画廊特效
Jul 16 #Javascript
js canvas实现擦除动画
Jul 16 #Javascript
微信jssdk用法汇总
Jul 16 #Javascript
详解JavaScript节流函数中的Throttle
Jul 16 #Javascript
You might like
PHP小教程之实现链表
2014/06/09 PHP
php获取、检查类名、函数名、方法名的函数方法
2015/06/25 PHP
javascript 学习笔记(onchange等)
2010/11/14 Javascript
一些有用的JavaScript和jQuery的片段分享
2011/08/23 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
javascript中的变量作用域以及变量提升详细介绍
2013/10/24 Javascript
原生js事件的添加和删除的封装
2014/07/01 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
2015/07/22 Javascript
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
javascript跨域的方法汇总
2015/10/23 Javascript
jQuery实用技巧必备(上)
2015/11/02 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
jQuery实现的自定义滚动条实例详解
2016/09/20 Javascript
js使用原型对象(prototype)需要注意的地方
2017/08/28 Javascript
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
创建Vue项目以及引入Iview的方法示例
2018/12/03 Javascript
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
python实现的简单抽奖系统实例
2015/05/22 Python
对于Python中RawString的理解介绍
2016/07/07 Python
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
解决python爬虫中有中文的url问题
2018/05/11 Python
tensorflow实现简单的卷积网络
2018/05/24 Python
django 自定义过滤器的实现
2019/02/26 Python
python实现向微信用户发送每日一句 python实现微信聊天机器人
2019/03/27 Python
python 动态迁移solr数据过程解析
2019/09/04 Python
python 两个数据库postgresql对比
2019/10/21 Python
django实现web接口 python3模拟Post请求方式
2019/11/19 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
2020/05/11 Python
Pytorch 中的optimizer使用说明
2021/03/03 Python
websocket+sockjs+stompjs详解及实例代码
2018/11/30 HTML / CSS
合伙经营协议书范本
2014/04/18 职场文书
公司运动会策划方案
2014/05/25 职场文书
企业挂职心得体会
2014/09/10 职场文书
2015庆祝七一建党节94周年活动总结
2015/03/20 职场文书
酒店人事主管岗位职责
2015/04/11 职场文书
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers