<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      HTML5 Boilerplate - 讓頁面有個好的開始

      最近看到了HTML5 Boilerplate模版,系統的學習與了解了一下。在各種CSS庫、JS框架層出不窮的今天,能看到這么好的HTML模版,感覺甚爽。寫篇博客,推薦給大家使用。
       
      一:HTML5 Boilerplate是什么?解決了什么問題?
      對于第一次聽說這個人,肯定都有這個疑問把!在網上看了看,發現很多人都認為這個是和Bootstrap一樣的東西,這真是大錯特錯了。
      實際上,HTML5 Boilerplate只是一個單純的HTML模版。
      什么?HTML模版?干嘛用?
      這里不得不提所有前端開發都會遇到的問題,每次要重新弄一個頁面的時候,你們都是怎么做的呢?那個doctype、html、head、body、meta標簽,寫的多心煩。或者從以前的項目中復制,或者抄一抄Bootstrap推薦的模版等等。但是在做這些事情的時候,有沒有想過,自己的寫法是否是最好的呢?或者說業界對這個有沒有一個比較統一的推薦?那么,答案是有的。
      HTML5 Boilerplate就是解決了這么一個問題,它提供了一個十分完善的HTML模版,完善到所有的頁面似乎都應該遵守這個規則。
      說的這么神乎其神,那么我們還是要一看究竟才行。從官網下載 然后,最核心的的是一個index.html文件,不大,我們來看看它的源碼
      <!DOCTYPE html>
      <!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
      <!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
      <!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
      <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
          <head>
              <meta charset="utf-8">
              <meta http-equiv="X-UA-Compatible" content="IE=edge">
              <title></title>
              <meta name="description" content="">
              <meta name="viewport" content="width=device-width, initial-scale=1">
      
              <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
      
              <link rel="stylesheet" href="css/normalize.css">
              <link rel="stylesheet" href="css/main.css">
              <script src="js/vendor/modernizr-2.6.2.min.js"></script>
          </head>
          <body>
              <!--[if lt IE 7]>
                  <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a >upgrade your browser</a> to improve your experience.</p>
              <![endif]-->
      
              <!-- Add your site or application content here -->
              <p>Hello world! This is HTML5 Boilerplate.</p>
      
              <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
              <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.2.min.js"><\/script>')</script>
              <script src="js/plugins.js"></script>
              <script src="js/main.js"></script>
      
              <!-- 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='//www.google-analytics.com/analytics.js';
                  r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
                  ga('create','UA-XXXXX-X');ga('send','pageview');
              </script>
          </body>
      </html>
      這可以說就是HTML5 Boilerplate的全部了。大概看一下,肯定會發現有些是和自己以前的寫法一樣的,有些又是沒見過的寫法,或者說自己也是這么寫的但是從來沒想過為什么。下面,就先“解剖”下這個HTML文件把。
       
      二:淺析index.html
      首先,文檔類型使用了HTML5文檔聲明,比起HTML4的那一大長串,這個明顯簡單明了。而且,兼容全部瀏覽器。因為IE在設計的時候,對于這種寫法也會進入標準模式。所以,以后的文檔聲明都這樣寫,省心。
       
      然后,是這么一大段
      <!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
      <!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
      <!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
      <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
      這段代碼很經典。
       
      首先,我們先看這些條件判斷,意思分別是低于IE7,等于IE7,等于IE8,高于IE8。
      然后條件注釋里面,就有相應的類名,比如在 lt IE 7中,html標簽上便會有  lt-ie9 lt-ie8 lt-ie7這3個類,意思分別是低于ie7、8、9 。有什么用呢?其實最大的左右就是在寫CSS HACK的時候,因為這樣寫,就可以不用CSS HACK了,比如如果是ie6,那么html標簽上就會有 lt-ie7這個類,直接用CSS優先級覆蓋之前的設置即可。
       
      然后特殊的地方應該就在最后一句了,最后一句的意思是所有大于ie8和非ie瀏覽器都使用<html class="no-js">這個html頭。仔細看會發現里面加了幾個殘缺的注釋標簽。有什么用呢,對于大于ie8的ie瀏覽器,這幾個標簽完全忽略。對于非ie瀏覽器。由于不識別[if gt IE 8],然后和后面的注釋一起,會發現整個這部分都被注釋了。這樣,就實現了最完美的瀏覽器識別了。
       
      然后還有一個no-js類。這個主要是會和后面的modernizr.js一起使用。因為modernizr會在瀏覽器啟用的js的時候,把no-js換成js。簡單來說這個類可以用來判斷瀏覽器是否啟用了js。
       
      接著,就是
      <meta charset="utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <title></title>
      <meta name="description" content="">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      首先,先設置文檔編碼,記住這個放最前面(特別注意別放title后面),以免后面代碼出現亂碼。
      接下來便是設置IE使用最新版本來渲染
      然后是描述,便于SEO。viewport指定移動端不對網頁進行縮放。
      這些個元標簽基本都是一個網頁必須要有的,所以大家可以檢查下自己的網站是否漏了什么。
       
      之后,引入了normalize、main兩個css。modernizr這個js。關于這3個文件,后面再詳細說明。
       
      進入主體部分。
      首先,看到這么一段
      <!--[if lt IE 7]>
            <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a >upgrade your browser</a> to improve your experience.</p>
      <![endif]-->
      對于使用低于IE7版本的用戶,給出升級提示,當然,我們可以選擇刪除這一段或者換成一個中文提示
       
      然后呢,便是這一段腳本
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
      <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.2.min.js"><\/script>')</script>
      <script src="js/plugins.js"></script>
      <script src="js/main.js"></script>
      首先,通過CDN引入jquery。這里用的是谷歌的CDN。如果這段照抄,那么,,嘿嘿,網站肯定杯具了。所以這里換成國內的jqueryCDN把,比如七牛的。
      然后,判斷jQuery對象是否存在。因為CDN有可能掛了。如果jQuery對象不存在,那么我們就可以用自己服務器的jquery把。
      然后引入了plugins.js還有main.js。main.js是空的,plugins.js后面詳細說明。
       
      最后一段代碼就是引入google統計了。這里,根據自己的需要換成百度統計或者是別的把。就不詳細說了。
       
      至此,HTML5 Boilerplate的最關鍵的模版HTML算是講完了。以后要新弄一個頁面,就照著這個copy把。
      不過,HTML5 Boilerplate提供的還不止這些,下面講講單個文件的作用把。
       
      三:靜態文件
      打開項目代碼,可以看到有挺多的文件的,有些是說明文件,比如doc/路徑下的,就不講了,有些是值得講講的,比如css/ js/下的部分文件。挑幾個有趣的說說把。
       
      首先 css目錄下有main和normalize
      normalize也許大家都聽過,就是一個瀏覽器重置,里面的每一條css都是進過千千萬萬的人精挑細選的,基本上這個重置屬于公認的了。
      里面的具體每條規則就不細講了,可以百度查看這個項目的文檔,或者直接看注釋也ok。
      main就是改項目對normalize的補充,可以看到提供了一些基礎類名方便大家,比如圖片置換,清除浮動等等。
       
      js提供了個plugins.js
      代碼如下
      // Avoid `console` errors in browsers that lack a console.
      (function() {
          var method;
          var noop = function () {};
          var methods = [
              'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',
              'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',
              'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',
              'timeStamp', 'trace', 'warn'
          ];
          var length = methods.length;
          var console = (window.console = window.console || {});
      
          while (length--) {
              method = methods[length];
      
              // Only stub undefined methods.
              if (!console[method]) {
                  console[method] = noop;
              }
          }
      }());
      比較簡單,就不說明了。解決的主要問題就是用console調試的時候IE報錯。這個問題我想大家都遇見過,調試代碼忘記刪除,線上IE報錯,導致js無法繼續執行。加了這個,就可以避免掉這問題了。
       
      還有就是modernizr了,這是個強大的瀏覽器功能檢查js,具體使用可以在官網上看看教程,這里就不說了。
       
      然后,還提供了一些個文件,比如apache的配置htaccess、 404頁面、flash跨域需要的文件crossdomain.xml、爬蟲過濾文件robots.txt等,大家按需使用。
       
       
       
      至此,HTML5 Boilerplate算是全部理完了,很簡單的一個項目,但是很實用,也很漂亮。可以作為開發標配。
       
       
       
      轉載本站文章請注明作者和出處 奇葩一朵朵 – http://www.rzrgm.cn/season-huang/ ,請勿用于任何商業用途
      posted @ 2014-12-30 15:20  哎呦大黃  閱讀(7092)  評論(4)    收藏  舉報
      主站蜘蛛池模板: 国产精品任我爽爆在线播放6080| 亚洲熟女乱一区二区三区| 日韩国产精品一区二区av| 欧美极品色午夜在线视频| 18禁裸乳无遮挡自慰免费动漫| 亚洲av色一区二区三区| 精品国产熟女一区二区三区| 日韩大片一区二区三区| 日本高清在线观看WWW色| 亚洲第一无码AV无码专区| 男人狂桶女人高潮嗷嗷| 五十路丰满中年熟女中出| 风流少妇又紧又爽又丰满| 成人区精品一区二区不卡| 免费99视频| 亚洲综合精品中文字幕| 999国产精品999久久久久久 | 欧美高清狂热视频60一70| 免费三级网站| 无码免费大香伊蕉在人线国产| 亚洲成人免费一级av| 中文字幕在线日韩| 精品无码国产污污污免费| 丰满人妻熟妇乱又精品视| 国语精品一区二区三区| 99国产欧美另类久久久精品| 久久国产成人精品国产成人亚洲 | 欧美日韩国产一区二区三区欧| 日韩中文字幕亚洲精品| 风流老熟女一区二区三区| 日韩av片无码一区二区不卡| 久久久久人妻一区二区三区| 亚洲天天堂天堂激情性色| 新久久国产色av免费看| 久久天天躁夜夜躁狠狠85| 99热门精品一区二区三区无码| 亚洲国产精品黄在线观看| 中文字幕久久久久人妻中出| 午夜成人精品福利网站在线观看| 精品久久久久久中文字幕202| 黄色网站免费在线观看|