<span id="4wzam"><noframes id="4wzam"><rt id="4wzam"><tr id="4wzam"></tr></rt>
    1.                         

      Hello world! This is HTML5 Boilerplate.<\/p>

      国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

      首頁 web前端 html教學(xué) HTML5 Boilerplate

      HTML5 Boilerplate

      Jun 24, 2016 am 11:51 AM

      最近看到了HTML5 Boilerplate模版,系統(tǒng)的學(xué)習(xí)與了解了一下。在各種CSS庫、JS框架層出不窮的今天,能看到這么好的HTML模版,感覺甚爽。寫篇博客,推薦給大家使用。

      ?

      一:HTML5 Boilerplate是什么?解決了什么問題?

      對于第一次聽說這個人,肯定都有這個疑問把!在網(wǎng)上看了看,發(fā)現(xiàn)很多人都認(rèn)為這個是和Bootstrap一樣的東西,這真是大錯特錯了。

      實際上,HTML5 Boilerplate只是一個單純的HTML模版。

      什么?HTML模版?干嘛用?

      這里不得不提所有前端開發(fā)都會遇到的問題,每次要重新弄一個頁面的時候,你們都是怎么做的呢?那個doctype、html、head、body、meta標(biāo)簽,寫的多心煩?;蛘邚囊郧暗捻椖恐袕?fù)制,或者抄一抄Bootstrap推薦的模版等等。但是在做這些事情的時候,有沒有想過,自己的寫法是否是最好的呢?或者說業(yè)界對這個有沒有一個比較統(tǒng)一的推薦?那么,答案是有的。

      HTML5 Boilerplate就是解決了這么一個問題,它提供了一個十分完善的HTML模版,完善到所有的頁面似乎都應(yīng)該遵守這個規(guī)則。

      說的這么神乎其神,那么我們還是要一看究竟才行。從 官網(wǎng)下載 然后,最核心的的是一個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 href="http://browsehappy.com/">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="//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的全部了。大概看一下,肯定會發(fā)現(xiàn)有些是和自己以前的寫法一樣的,有些又是沒見過的寫法,或者說自己也是這么寫的但是從來沒想過為什么。下面,就先“解剖”下這個HTML文件把。

      二:淺析index.html

      首先,文檔類型使用了HTML5文檔聲明,比起HTML4的那一大長串,這個明顯簡單明了。而且,兼容全部瀏覽器。因為IE在設(shè)計的時候,對于這種寫法也會進入標(biāo)準(zhǔn)模式。所以,以后的文檔聲明都這樣寫,省心。

      然后,是這么一大段

      <!--[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]-->

      這段代碼很經(jīng)典。

      首先,我們先看這些條件判斷,意思分別是低于IE7,等于IE7,等于IE8,高于IE8。

      然后條件注釋里面,就有相應(yīng)的類名,比如在 lt IE 7中,html標(biāo)簽上便會有 lt-ie9 lt-ie8 lt-ie7這3個類,意思分別是低于ie7、8、9 。有什么用呢?其實最大的左右就是在寫CSS HACK的時候,因為這樣寫,就可以不用CSS HACK了,比如如果是ie6,那么html標(biāo)簽上就會有 lt-ie7這個類,直接用CSS優(yōu)先級覆蓋之前的設(shè)置即可。

      然后特殊的地方應(yīng)該就在最后一句了,最后一句的意思是所有大于ie8和非ie瀏覽器都使用這個html頭。仔細(xì)看會發(fā)現(xiàn)里面加了幾個殘缺的注釋標(biāo)簽。有什么用呢,對于大于ie8的ie瀏覽器,這幾個標(biāo)簽完全忽略。對于非ie瀏覽器。由于不識別[if gt IE 8],然后和后面的注釋一起,會發(fā)現(xiàn)整個這部分都被注釋了。這樣,就實現(xiàn)了最完美的瀏覽器識別了。

      然后還有一個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">

      首先,先設(shè)置文檔編碼,記住這個放最前面(特別注意別放title后面),以免后面代碼出現(xiàn)亂碼。

      接下來便是設(shè)置IE使用最新版本來渲染

      然后是描述,便于SEO。viewport指定移動端不對網(wǎng)頁進行縮放。

      這些個元標(biāo)簽基本都是一個網(wǎng)頁必須要有的,所以大家可以檢查下自己的網(wǎng)站是否漏了什么。

      之后,引入了normalize、main兩個css。modernizr這個js。關(guān)于這3個文件,后面再詳細(xì)說明。

      進入主體部分。

      首先,看到這么一段

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

      對于使用低于IE7版本的用戶,給出升級提示,當(dāng)然,我們可以選擇刪除這一段或者換成一個中文提示

      然后呢,便是這一段腳本

      <script src="//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。如果這段照抄,那么,,嘿嘿,網(wǎng)站肯定杯具了。所以這里換成國內(nèi)的jqueryCDN把,比如七牛的。

      然后,判斷jQuery對象是否存在。因為CDN有可能掛了。如果jQuery對象不存在,那么我們就可以用自己服務(wù)器的jquery把。

      然后引入了plugins.js還有main.js。main.js是空的,plugins.js后面詳細(xì)說明。

      最后一段代碼就是引入google統(tǒng)計了。這里,根據(jù)自己的需要換成百度統(tǒng)計或者是別的把。就不詳細(xì)說了。

      至此,HTML5 Boilerplate的最關(guān)鍵的模版HTML算是講完了。以后要新弄一個頁面,就照著這個copy把。

      不過,HTML5 Boilerplate提供的還不止這些,下面講講單個文件的作用把。

      三:靜態(tài)文件

      打開項目代碼,可以看到有挺多的文件的,有些是說明文件,比如doc/路徑下的,就不講了,有些是值得講講的,比如css/ js/下的部分文件。挑幾個有趣的說說把。

      首先 css目錄下有main和normalize

      normalize也許大家都聽過,就是一個瀏覽器重置,里面的每一條css都是進過千千萬萬的人精挑細(xì)選的,基本上這個重置屬于公認(rèn)的了。

      里面的具體每條規(guī)則就不細(xì)講了,可以百度查看這個項目的文檔,或者直接看注釋也ok。

      main就是改項目對normalize的補充,可以看到提供了一些基礎(chǔ)類名方便大家,比如圖片置換,清除浮動等等。

      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調(diào)試的時候IE報錯。這個問題我想大家都遇見過,調(diào)試代碼忘記刪除,線上IE報錯,導(dǎo)致js無法繼續(xù)執(zhí)行。加了這個,就可以避免掉這問題了。

      ?

      還有就是modernizr了,這是個強大的瀏覽器功能檢查js,具體使用可以在官網(wǎng)上看看教程,這里就不說了。

      ?

      然后,還提供了一些個文件,比如apache的配置htaccess、 404頁面、flash跨域需要的文件crossdomain.xml、爬蟲過濾文件robots.txt等,大家按需使用。

      ?

      ?

      ?

      至此,HTML5 Boilerplate算是全部理完了,很簡單的一個項目,但是很實用,也很漂亮??梢宰鳛殚_發(fā)標(biāo)配。

      ?

      ?

      ?

      轉(zhuǎn)載本站文章請注明作者和出處??,請勿用于任何商業(yè)用途

      本網(wǎng)站聲明
      本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

      熱AI工具

      Undress AI Tool

      Undress AI Tool

      免費脫衣圖片

      Undresser.AI Undress

      Undresser.AI Undress

      人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

      AI Clothes Remover

      AI Clothes Remover

      用於從照片中去除衣服的線上人工智慧工具。

      Clothoff.io

      Clothoff.io

      AI脫衣器

      Video Face Swap

      Video Face Swap

      使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

      熱工具

      記事本++7.3.1

      記事本++7.3.1

      好用且免費的程式碼編輯器

      SublimeText3漢化版

      SublimeText3漢化版

      中文版,非常好用

      禪工作室 13.0.1

      禪工作室 13.0.1

      強大的PHP整合開發(fā)環(huán)境

      Dreamweaver CS6

      Dreamweaver CS6

      視覺化網(wǎng)頁開發(fā)工具

      SublimeText3 Mac版

      SublimeText3 Mac版

      神級程式碼編輯軟體(SublimeText3)

      熱門話題

      Laravel 教程
      1601
      29
      PHP教程
      1502
      276
      使用HTML按鈕元素實現(xiàn)可點擊按鈕 使用HTML按鈕元素實現(xiàn)可點擊按鈕 Jul 07, 2025 am 02:31 AM

      要使用HTML的button元素實現(xiàn)可點擊按鈕,首先需掌握其基本用法與常見註意事項。 1.使用標(biāo)籤創(chuàng)建按鈕,並通過type屬性定義行為(如button、submit、reset),默認(rèn)為submit;2.通過JavaScript添加交互功能,可內(nèi)聯(lián)寫法或通過ID綁定事件監(jiān)聽器以提升維護性;3.利用CSS自定義樣式,包括背景色、邊框、圓角及hover/active狀態(tài)效果,增強用戶體驗;4.注意常見問題:確保未啟用disabled屬性、正確綁定JS事件、避免佈局遮擋,並藉助開發(fā)者工具排查異常。掌握這

      在HTML頭部元素中配置文檔元數(shù)據(jù) 在HTML頭部元素中配置文檔元數(shù)據(jù) Jul 09, 2025 am 02:30 AM

      HTMLhead中的元數(shù)據(jù)對SEO、社交分享和瀏覽器行為至關(guān)重要。 1.設(shè)置頁面標(biāo)題與描述,使用和並保持簡潔唯一;2.添加OpenGraph與Twitter卡片信息以優(yōu)化社交分享效果,注意圖片尺寸並使用調(diào)試工具測試;3.定義字符集與視口設(shè)置確保多語言支持與移動端適配;4.可選標(biāo)籤如作者版權(quán)、robots控制及canonical防止重複內(nèi)容也應(yīng)合理配置。

      2025年初學(xué)者的最佳HTML教程 2025年初學(xué)者的最佳HTML教程 Jul 08, 2025 am 12:25 AM

      TolearnHTMLin2025,chooseatutorialthatbalanceshands-onpracticewithmodernstandardsandintegratesCSSandJavaScriptbasics.1.Prioritizehands-onlearningwithstep-by-stepprojectslikebuildingapersonalprofileorbloglayout.2.EnsureitcoversmodernHTMLelementssuchas,

      HTML用於電子郵件模板教程 HTML用於電子郵件模板教程 Jul 10, 2025 pm 02:01 PM

      如何製作兼容性好的HTML郵件模板?首先要用表格(table)搭建結(jié)構(gòu),避免使用div flex或grid佈局;其次所有樣式必須內(nèi)聯(lián)化,不可依賴外部CSS;接著圖片要加alt說明並使用公網(wǎng)URL,按鈕應(yīng)使用帶背景色的table或td模擬;最後務(wù)必在多個客戶端測試並調(diào)整細(xì)節(jié)。

      如何使用HTML圖和Figcaption元素將字幕與圖像或媒體關(guān)聯(lián)? 如何使用HTML圖和Figcaption元素將字幕與圖像或媒體關(guān)聯(lián)? Jul 07, 2025 am 02:30 AM

      使用HTML的和可以直觀且語義清晰地為圖片或媒體添加說明文字。 1.用於包裹獨立的媒體內(nèi)容,如圖片、視頻或代碼塊;2.則作為其說明文字,置於內(nèi)部,可位於媒體上方或下方;3.它們不僅提升頁面結(jié)構(gòu)清晰度,還增強可訪問性和SEO效果;4.使用時應(yīng)注意避免濫用,適用於需強調(diào)並附帶說明的內(nèi)容,而非普通裝飾圖;5.不可忽視的alt屬性,它與figcaption的作用不同;6.figcaption位置靈活,可根據(jù)需要放在figure內(nèi)頂部或底部。正確使用這兩個標(biāo)籤,有助於構(gòu)建語義清晰、易於理解的網(wǎng)頁內(nèi)容。

      如何在沒有服務(wù)器的情況下處理HTML中的表單提交? 如何在沒有服務(wù)器的情況下處理HTML中的表單提交? Jul 09, 2025 am 01:14 AM

      沒有後端服務(wù)器時,仍可通過前端技術(shù)或第三方服務(wù)處理HTML表單提交。具體方法包括:1.使用JavaScript攔截表單提交以實現(xiàn)輸入驗證和用戶反饋,但數(shù)據(jù)不會持久化;2.借助如Formspree等第三方無服務(wù)器表單服務(wù)收集數(shù)據(jù)並提供郵件通知和重定向功能;3.利用localStorage進行客戶端臨時數(shù)據(jù)存儲,適合保存用戶偏好或管理單頁應(yīng)用狀態(tài),但不適合敏感信息的長期保存。

      HTML中最常用的全局屬性是什麼? HTML中最常用的全局屬性是什麼? Jul 10, 2025 am 10:58 AM

      class、id、style、data-、title是HTML中最常用的全局屬性。 class用於指定一個或多個類名以方便樣式設(shè)置和JavaScript操作;id為元素提供唯一標(biāo)識符,適用於錨點跳轉(zhuǎn)和JavaScript控制;style允許添加內(nèi)聯(lián)樣式,適合臨時調(diào)試但不推薦大量使用;data-屬性用於存儲自定義數(shù)據(jù),便於前後端交互;title用於添加鼠標(biāo)懸停提示,但其樣式和行為受限於瀏覽器。合理選擇這些屬性可提升開發(fā)效率和用戶體驗。

      在HTML中實現(xiàn)圖像的本機懶負(fù)荷 在HTML中實現(xiàn)圖像的本機懶負(fù)荷 Jul 12, 2025 am 12:48 AM

      原生懶加載是一種瀏覽器內(nèi)置功能,通過在標(biāo)籤中添加loading="lazy"屬性實現(xiàn)延遲加載圖片。 1.它無需JavaScript或第三方庫,直接在HTML中使用;2.適合用於頁面下方非首屏顯示的圖片、圖片畫廊滾動加載項和大型圖片資源;3.不適合首屏圖片或display:none的圖片;4.使用時應(yīng)設(shè)置合適的佔位空間以避免佈局抖動;5.應(yīng)結(jié)合srcset和sizes屬性優(yōu)化響應(yīng)式圖片加載;6.需要考慮兼容性問題,部分舊瀏覽器不支持,可通過特性檢測並結(jié)合JavaScript方案作

      See all articles