zoukankan      html  css  js  c++  java
  • 积跬步,聚小流------Bootstrap学习记录(2)

    现阶段开启每一次新的征程,已然离不开“Hello World”的习惯仪式。这次自然也不例外。先来看下给出的官网给出的演示样例:

    1、bootstrap官网提供的html基本模板代码

    <!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>Hello World!</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>

    2、html基本模板代码解读

    * html5的必备元素

    先来看这段代码,当然是不可缺少的html5的必备元素:

    <!DOCTYPE html>、<html>、<head>、<title>、<body>

    * 对应的meta标签设定

    除此之外。我们看到了3个<meta>标签/1个样式链接/4个脚本链接

    首先。<meta>标签通常分为两类:HTTP-EQUIV变量和NAME变量。通常我的理解是HTTP-EQUIV变量多数是用来对网页的设定,比方缓存,定点刷新等等。而NAME变量多数是用来做页面渲染时的说明和介绍,像是keyword、简单介绍等等。

    先来看<meta charset="utf-8">,我想这个是最简单的。设定以什么语言来解读,通常大家都会用到,而它写全了应该是<meta http-equiv="Content-Type" content="text/html; charset=utf-8">,这个就不再多说了

    再来看<meta http-equiv="X-UA-Compatible" content="IE=edge">,这个是IE8的专用标记,用来指定ie8来模拟某个特定版本号的渲染方式,这里IE=edge代表了假设系统安装了ie8以上版本号,则用最高版本号的IE内核进行渲染。假设没有则无意义。这是由于IE8在刚推出的时候由于重构的问题,无法适应较高级的浏览器,所以用X-UA-Compatible标签来强制用较低版本号的ie来渲染,当然能够用指定版本号。比如经常使用的<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">.

    另外<meta http-equiv="X-UA-Compatible" content="IE=edge,chorme=1">.则是谷歌做的Google Chrome Frame(谷歌内嵌浏览器框架GCF),这个框架是让用户ie浏览器外表不变,但用户在浏览网页时使用Google Chrome浏览器内核。它是支持IE6/7/8等多个版本号IE浏览器的。万恶的IE还得谷歌帮你解决兼容么,而以上标记则就是在安装了GCF之后,用来指定页面使用chrome内核来渲染。

    至于<meta name="viewport" content="width=device-width,initial-scale=1">则是用来设定移动端的,通常移动端的分辨率要小于pc端,并且移动端的分辨率并不固定。(见下图)


    (此图盗于点击打开链接,也可在此文中查看更具体信息)

    我们姑且就记得是用来解决移动端分辨率问题的就可以。另外还有maximum-scale、minimum-scale和user-scalable等属性。这一问题通常出如今app中(app端一般是固定样式的,假设像页面一样能够缩放则显的不那么正式)。解释例如以下图


    对应的链接样式在这里没有什么可说的,会在后期的学习中不断分解它,学习它。

    * 代码中脚本解读

    而链接的脚本有4个,当中两个是在<!--[if]><![endif]-->之间,那这又是什么意思呢?事实上这样的条件凝视仅仅有在IE之下才干被解读,其他浏览器是将它当做html凝视不进行解读,释用来给IE加入特别的指令,从IE5才開始被支持。

    而这里的[if lt IE 9]我们能够理解为“ie浏览器版本号假设小于(less than)IE9”,满足这样的条件才被解读。

    那在这样的满足这样的条件的情况下运行的这两个脚本又是用来做什么的呢?

    首先html5shiv.js是用来让IE浏览器来支持html5元素的。然后respond.js则是用来让IE浏览器和其他不支持css3的浏览器提供媒体查询的min-width和max-width,从而来实现网页的响应式设计。

    可是这里须要注意的是,这两个脚本必须载入在head中,在结构载入前解释。否则就没有意义了。

    至于剩下的两个脚本,我们须要注意的则是jquery的js必须载入在bootstrap的js载入之前,当然这个是我们已经习以为常的问题了,另外js载入在body之后,能够让页面载入的更为迅速,渲染更快。

    (我们能够用ie打开对应的链接,然后直接保存该js。

    这里提供下链接:html5shiv.js的https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js;

    respond.js的https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js。

    3、基本版bootstrap模板

    这样我们就把基本模板的全部代码都弄明确了,删掉一些不必要的凝视,我们就能够得到一个最精简的hello world了。

    <!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">
        <title>Bootstrap 101 Template</title>
        <link href="css/bootstrap.min.css" rel="stylesheet">
        <!--[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>Hello World。</h1>
        <script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
        <script src="js/bootstrap.min.js"></script>
      </body>
    </html>
  • 相关阅读:
    爬虫框架scrapy(1)持久化存储的多种方式及多页爬取数据
    爬虫之selenium
    redis相关
    爬虫之数据解析
    爬虫之requests模块2
    爬虫之requests模块
    HTTP和HTTPS协议
    Pymongo使用
    MongoDB
    python网络编程之黏包问题
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/7054309.html
Copyright © 2011-2022 走看看