成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 深度剖析HTML的語意和與其相關的前端框架

深度剖析HTML的語意和與其相關的前端框架

熱門標簽:巫山縣地圖標注app 騰訊植物園地圖標注 華為收費站地圖標注 電話機器人宣傳片 鄒城智能外呼系統(tǒng) 浦東新區(qū)百度地圖標注圖片 經綸電銷機器人 個貸電銷機器人 外呼智能系統(tǒng)報價

關于語義

語義研究的是標志與符號之間的關系,以及它們所代表的意義。在語言學中,它主要是研究這些標志(如單詞,短語,或者聲音)在語言中的意義。而在前端開發(fā)領域,語義主要涉及的是HTML元素、屬性和屬性值(包括像Microdata這樣的擴展)所約定的意義。這些在規(guī)范中常用的正式約定語義,可以幫助程序(以及后來參與開發(fā)的人)更好地理解一個網站各方面的信息。然而,即使這些元素、屬性和屬性值的語義是正式化的,它們依然得服從于開發(fā)者的適應程度以及共同選擇的結果。這使得正式的約定語義也可能會在今后被修改(而這正是HTML設計原則之一)。
區(qū)分不同類型的HTML語義

遵守編寫“語義化的HTML”這個原則,是現(xiàn)代專業(yè)前端開發(fā)的基礎之一。絕大多數(shù)的語義都與當前或預期的內容性質有關(如:h1元素,lang屬性,type屬性的email值,Microdata)。

然而,并非所有的語義都需要以內容為導向。類名不能“無語義”。不管是用什么名字命名,它們都必須要有意義與目的。類名的語義可以和那些HTML元素不同。我們可以借助HTML元素、某些HTML屬性、Microdata等所具有的“全局性”語義,然后利用網站或應用的“局部性”特定語義加以區(qū)分,這些特定語義通常包含在屬性值中,比如class屬性。

盡管在HTML5規(guī)范的class屬性這一章節(jié)中重申了這個假定的“最佳實踐”…

    …鼓勵開發(fā)者使用class屬性值描述實際內容,而不是描述期望展現(xiàn)的內容。

…并沒有什么內在的原因非這樣做不可。事實上,當這種方法在大型網站或者應用中運用時,它往往會成為一種障礙。

    HTML元素和其它屬性已經提供了內容層的語義
    對于機器或訪問者來說,類名所能透露的有用的語義信息非常少,甚至沒有。除非它是已經約定的那一小部分名稱(機器同樣可讀) —— Mircoformats
    類名的主要用途是成為CSS和JavaScript的鉤子。如果你不需要為你的頁面添加表現(xiàn)和行為,那么你或許不必在你的HTML里添加類名
    類名應該為開發(fā)者傳達有用的信息。當你閱讀一個DOM片段時,它將有助于理解某個類名的具體作用。尤其是在多人協(xié)作的開發(fā)團隊里,與HTML組件打交道的可不光只有前端開發(fā)者。

舉一個非常簡單的例子:

XML/HTML Code復制內容到剪貼板
  1. <div class="news">  
  2.     <h2>News</h2>  
  3.     [news content]   
  4. </div>  

當內容還不明顯的時候,這個類名news不能告訴你任何事情。它沒有向你提供關于這個組件整體結構的信息,而且一旦內容不再是“新聞”時,使用這個類名就顯得非常不妥。類名的語義過分貼近內容,架構既不容易擴展,也不容易為其他開發(fā)人員所用。
與內容無關的類名

從某個設計模式的結構與功能中提取類名的語義是一種更好的方法。那些類名與內容無關的組件可重用性更高。

我們不應該害怕讓各層之間的關系變得清晰而明確(這里應該是指結構層、內容層等,譯者注),而不是用類名嚴格地反應明確的內容。這樣做不會使類名“無語義”,這只是表明它們的語義并不取決于內容。我們也不應該害怕使用額外的HTML元素,只要它們能幫助你創(chuàng)建更強壯、更靈活且更具重用性的組件。這樣做不會使HTML變得“無語義”,這僅僅意味著你標記內容所使用的元素數(shù)量超過了最小值而已。
前端架構

組件、模板、面向對象的體系結構的目的是能夠開發(fā)出一種數(shù)量有限的可重復使用的組件,它可以在一定范圍內包含不同的內容類型。在大型的應用程序中,對類名語義來說最重要的事情是,能夠用實用主義服務于它們的主要目的 —— 提供有意義的、靈活的、可重復使用的表現(xiàn)或行為的鉤子供開發(fā)者使用。
可重用且可組合的組件

總的來說,可擴展的HTML/CSS必須依賴HTML中的class,以便創(chuàng)建可重用的組件。一個靈活的、可重用的組件,既不依賴DOM樹中的某一部分,也不需要使用特定類型的元素。它應該能適應不同的容器,并且可以很容易地更換主題。如果有必要,額外的HTML元素(超出標記內容所必須的元素之外的元素)可以讓組件更加強壯。Nicole Sullivan所說的media object就是一個很好的例子。

避免用類型選擇器支持class,可以讓組件更容易合并。下面這個例子中,btn組件與uilist組件不易于合并。問題在于.btn的權重比.uilist a要?。ㄟ@將覆蓋任何共享屬性)。而且ulist組件需要錨點作為子節(jié)點。

XML/HTML Code復制內容到剪貼板
  1. .btn { /* styles */ }   
  2. .uilist { /* styles */ }   
  3. .uilist a { /* styles */ }   
  4.   
  5. <nav class="uilist">  
  6.     <a href="#">Home</a>  
  7.     <a href="#">About</a>  
  8.     <a class="btn" href="#">Login</a>  
  9. </nav>  

一種讓uilist組件與其它組件輕松組合的方法是,uilist的子級DOM元素用class來添加樣式。盡管這會降低權重,但是它的主要好處在于,它為你提供了處理子節(jié)點的任何結構樣式的選擇權。

XML/HTML Code復制內容到剪貼板
  1. .btn { /* styles */ }   
  2. .uilist { /* styles */ }   
  3. .uilist-item { /* styles */ }   
  4.   
  5. <nav class="uilist">  
  6.     <a class="uilist-item" href="#">Home</a>  
  7.     <a class="uilist-item" href="#">About</a>  
  8.     <span class="uilist-item">  
  9.         <a class="btn" href="#">Login</a>  
  10.     </span>  
  11. </nav>  

JavaScript專用類

使用某種形式的JavaScript專用類,可以降低因組件樣式或結構的改變導致JavaScript失效的風險。我已經找到了一種非常有效的方法,那就是專為JavaScript的鉤子使用一種特定的類——js-*——不要在這個類名上添加任何描述。

XML/HTML Code復制內容到剪貼板
  1. <a href="/login" class="btn btn-primary js-login"></a>  

在你修改組件的結構或樣式的時候,可能會不經意間對那些必要的JavaScript行為和復雜的功能造成影響,用這種方法的話,可以降低這種可能性。
組件修改器

組件常常會有一些變體,它們與基本組件只有細微的差別。比如,不同的背景色或者邊框。主要有兩種創(chuàng)建這些組件變體的模式。我將它們稱為“單類名”模式和“多類名”模式。

單類名模式

XML/HTML Code復制內容到剪貼板
  1. .btn, .btn-primary { /* 按鈕模板樣式 */ }   
  2. .btn-primary { /* 主按鈕的特殊樣式 */ }   
  3.   
  4. <button class="btn">Default</button>  
  5. <button class="btn-primary">Login</button>  

多類名模式

XML/HTML Code復制內容到剪貼板
  1. .btn { /* 按鈕模板樣式 */ }   
  2. .btn-primary { /* 主按鈕的特殊樣式 */ }   
  3.   
  4. <button class="btn">Default</button>  
  5. <button class="btn btn-primary">Login</button>  

如果你使用預處理程序,你可以用Sass的@extend功能,以減少一些在使用“單類名”模式時所涉及的維護工作。然而,即使有預處理程序的幫忙,我依然傾向于使用“多類名”模式,并在HTML中修改類名。

我發(fā)現(xiàn)這是一種更具擴展性的模式。比如,要實現(xiàn)一個基本的btn組件,并增加5種類型的按鈕與3種額外的尺寸。用“多類名”模式的話只要9個class就可以搞定,用“單類名”模式則需要24個class。

如果需要的話,它也更容易讓上下文環(huán)境適應組件。你可能想對出現(xiàn)在其它組件中的任一btn做一些細節(jié)調整。

XML/HTML Code復制內容到剪貼板
  1. /* “多類名”樣式調整 */   
  2. .thing .btn { /* 相應的樣式調整 */ }   
  3.   
  4. /* “單類名”樣式調整 */   
  5. .thing .btn,   
  6. .thing .btn-primary,   
  7. .thing .btn-danger,   
  8. .thing .btn-etc { /* 相應的樣式調整 */ }  

“多類名”模式意味著,你只需要用一個單獨的組件內部選擇器,便可以改變所有類型的btn元素的樣式。“單類名”模式意味著,你必須顧及所有可能的按鈕類型,并在創(chuàng)造一個新的按鈕變體時調整這個選擇器。
結構化的類名

當創(chuàng)建一個組件時——并為之添加了“主題”——其中一些class被用來區(qū)分各個組件,一些class被當做組件的修改器,其它的class則被用來關聯(lián)DOM節(jié)點,它們一起被包含在一個較大的抽象組件中。

很難去判斷btn(組件)、btn-primary(修改器)、brn-group(組件)和btn-group-item(組件子對象)之間的關系,這是因為這些名字不能清晰地表現(xiàn)class的目的。沒有一致的模式。

在過去的一年中,我一直在嘗試命名模式,目的是能幫助我快速理解在一個DOM片段中節(jié)點的表象之間的關系,而不用為此來回切換HTML、CSS與JS文件拼湊網站的架構。這種模式主要受到BEM系統(tǒng)的命名方法的影響,但被改編成一種我認為更容易瀏覽的形式。


復制代碼
代碼如下:
t-template-name
t-template-name--modifier-name
t-template-name__sub-object
t-template-name__sub-object--modifier-name</p> <p>component-name
component-name--modifier-name
component-name__sub-object
component-name__sub-object--modifier-name</p> <p>is-state-type</p> <p>js-action-name
js-component-type

我將一些結構當做抽象的“模板”來處理,其它的則視為更清晰的組件(通常建立在“模板”上)。但是這種區(qū)分并非總是必要的。

這僅僅是我目前發(fā)現(xiàn)的一種有用的命名模式。命名模式可以采用任何形式。但這種命名模式的好處在于消除了模糊的類名,只依賴(單)連接符,或者下劃線,或者是駝峰格式。
原始文件大小和HTTP壓縮的注意事項

任何關于模塊化與可擴展的CSS的討論都會談及對文件大小與“膨脹”的擔心。Nicole Sullivan的言論中經常會提到文件大小的存儲(以及維護改進),并提到了像Facebook這樣的公司采用這種方法的經歷。進一步的,我想我會分享我在預處理輸出時的HTTP壓縮效果,以及大量使用HTML類的一些事情。

當Twitter Bootstrap剛剛問世的時候,我重寫了已編譯的CSS,以便更好地與手動操作的文件比較大小。在最小化所有的文件之后,手動操作的CSS文件比預處理程序輸出的小10%。但是當所有的文件都通過gzip壓縮后,預處理程序輸出的CSS文件比手動操作的小了5%。

這強調了比較HTTP壓縮后文件大小的重要性,因為減少的文件大小并不能說明全部問題。它暗示了有經驗的CSS開發(fā)者在用預處理程序時不必太過關注編譯后的CSS中一定程度的重復,因為它將在HTTP壓縮后變得更小。通過預處理程序處理更易于維護的CSS代碼所帶來的好處,要勝過關注原始CSS和壓縮后輸出的CSS的美觀或文件大小。

在另一個實驗中,我從線上扒了一個60KB的HTML文件(由很多可重用的組件組成),并刪除了它的每一個class屬性。這樣處理之后,文件大小減小到25KB。當原始文件與扒下來的文件都通過gzip壓縮后,它們的大小分別變?yōu)?.6KB和6KB——只相差1.6KB。自由使用class所導致的實際文件大小的結果已經不值得再去強調了。

標簽:廣西 南平 滁州 唐山 日喀則 楊凌 三沙 那曲

巨人網絡通訊聲明:本文標題《深度剖析HTML的語意和與其相關的前端框架》,本文關鍵詞  深度,剖析,HTML,的,語意,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《深度剖析HTML的語意和與其相關的前端框架》相關的同類信息!
  • 本頁收集關于深度剖析HTML的語意和與其相關的前端框架的相關信息資訊供網民參考!
  • 推薦文章
    欧洲av一区二区嗯嗯嗯啊| 9久久婷婷国产综合精品性色| 欧美日韩国产成人高清视频| 99在线欧洲视频| 1234区在线观看视频免费| 欧美色视频一区| 精品国产三级电影在线观看| 久艹视频在线观看| 国产欧美丝祙| 亚洲制服丝袜在线| 中文在线最新版天堂8| 国产极品在线播放| 国产成人精品免费一区二区| 91成人免费在线| 久久久夜色精品| 国产精品色综合| 国产av精国产传媒| 你懂的在线视频观看| 天堂av电影在线观看| 亚洲精品成人久久| 日韩视频在线免费看| 正在播放国产对白害羞| 91av看片| 亚洲警察之高压线| 私拍精品福利视频在线一区| 黄色a级片在线观看| 国产视频网站在线| 2019中文字幕在线视频| 国产91精品在线观看| 高清欧美精品xxxxx在线看| 国产中文字幕久久| 亚洲av成人片无码| 五月婷婷亚洲| 国产精品乱码久久久久| 欧美一二三不卡| 国精产品久拍自产在线网站| 国产精品国产三级国产aⅴ原创| 久久久电影免费观看完整版| 日本色图在线| 在线免费观看一区二区三区| 国产黄色高清视频| avhd101老司机| 久久综合偷偷噜噜噜色| 青青草国产成人a∨下载安卓| av在线电影观看| 一二三四在线观看视频| 久久国内精品一国内精品| 在线成人国产| 最新日本视频| 欧美裸身视频免费观看| 伊人精品影院| 亚洲无码久久久久久久| 成人精品一区二区三区四区| 日韩中文字幕高清在线观看| 国产精品无码一区二区三| 女明星视频黄又免费| 欧美日韩精品一区二区三区视频| 国产精品视频白浆合集| 香蕉视频在线观看免费| 免费观看黄色av| 亚洲国产成人av| 影音先锋在线中文| 91色视频在线导航| 丰满少妇xoxoxo视频| 69av成年福利视频| av手机免费观看| 国产黄色免费观看| 欧美性受xxxx黑人猛交88| 亚洲精品白浆高清| 精品福利网址导航| 在线观看成人黄色| 黄色电影免费在线看| 成年人黄视频网站| 欧美精品一区二区三区在线播放| 亚洲精品无遮挡| 亚洲色欲色欲www在线观看| xxxxx成人.com| 国产在线一卡二卡| 蜜桃传媒一区二区三区| 蜜桃视频久久一区免费观看入口| 99精品视频一区二区| 欧美日韩色图| 亚洲免费影视第一页| 亚洲色图欧美视频| 精品国产乱码久久久久久丨区2区| 日韩在线综合| 国产精品久久a| 亚洲国产婷婷| 日产精品高清视频免费| 日韩欧美在线123| 精品51国产黑色丝袜高跟鞋| 国产 欧美 精品| 你懂的视频在线播放| 热99在线视频| 国产日韩视频在线播放| 亚洲精品日韩精品| 久久精品视频免费播放| 亚州精品视频| 女同互忝互慰dv毛片观看| 妺妺窝人体色www在线小说| 性一交一乱一区二区洋洋av| 久久精品亚洲精品国产欧美| 成人看片毛片免费播放器| 日本精品一区二区三区在线| 久久精品国产2020观看福利| 日本不卡一区二区三区视频| 国产午夜精品理论片a级探花| 2017欧美狠狠色| 欧美日韩国产免费观看视频| av电影天堂一区二区在线观看| 韩日成人影院| 伊人手机在线视频| 欧美一区国产二区| 成人在线免费电影| 日本美女爱爱视频| 亚洲精品成人在线视频| 欧美日韩视频免费播放| 久久精品国产秦先生| 国产一区二区三区久久久久久久久| 视频一区视频二区欧美| 欧美亚洲国产视频| 在线电影国产精品| a√天堂在线观看| 在线观看视频黄色| 五月婷婷六月香| 欧美日韩理论片| 国产999精品在线观看| av中文字幕网址| 国产精品一 二 三| 97在线观看免费观看高清| 最爽无遮挡行房视频在线| 欧美亚洲国产一区| 91久久久久久白丝白浆欲热蜜臀| 亚洲成人久久影院| 亚洲在线播放| 一级日本黄色片| 全球中文成人在线| 哺乳挤奶一区二区三区免费看| 国产1区2区3区在线| 免费成人深夜夜行视频| youjizzjizz亚洲| 日韩欧美在线免费观看视频| jizzjizz免费大全| 午夜老司机福利| 日韩视频一区在线| 欧美大学生性色视频| 精品一区二区日本| 久久只有精品| 日本在线视频1区| 国产在线视频一区| 亚洲精品午夜久久久| 在线精品播放av| 青春草免费在线视频| 中文字幕精品在线不卡| 成人高清免费在线| 日韩视频在线观看免费视频| 精品色蜜蜜精品视频在线观看| 欧洲美女精品免费观看视频| 亚洲欧美综合乱码精品成人网| 成人中文字幕电影| 亚洲最大的网站| 国产精品99一区| 美女扒开尿口让男人操| 男人插女人视频在线观看| 精品国产乱码一区二区三区四区| 91精品国产91久久久久久最新毛片| 白白在线精品| 一区二区三区无码高清视频| 日韩激情视频一区二区| www在线观看播放免费视频日本| 国产成人在线免费看| 色综合天天视频在线观看| 在线日韩第一页| 美女诱惑黄网站一区| 色琪琪综合男人的天堂aⅴ视频| 久久亚洲国产中v天仙www| 久久精品日产第一区二区三区精品版| 欧美大片一区二区| 51免费午夜啪啪| 国产乱叫456| 色久综合一二码| 亚洲aaa视频| 色综合久久久久久久久五月| 色姑娘资源站| а√在线中文在线新版| 久久国产黄色片| 九色国产蝌蚪视频| 91在线观看下载| 久久久久狠狠高潮亚洲精品| 日本一区二区免费视频| 欧美成人精品二区三区99精品| 午夜一区二区视频| 91片在线免费观看| www.久久久精品| 五月婷婷欧美视频| 免费看成年人视频| 国产伦理吴梦梦伦理| 懂色av粉嫩av蜜乳av| 久草综合在线| 日韩高清在线观看一区二区| 国产高清自拍视频| 亚洲二区三区不卡| 2020中文字幕在线播放| 中文字幕免费高清在线| 你懂得视频网站| 久久久久久久999精品视频| 久久aaaa片一区二区| 国产亚洲一卡2卡3卡4卡新区| 中文字幕乱码在线| 99久久久国产精品美女| 日韩亚洲视频在线| 亚洲视频免费播放| 国产亚洲人成网站在线观看| 亚洲动漫在线观看| 韩国午夜理伦三级不卡影院| 亚洲欧美另类人妖| 欧美性极品少妇精品网站| 国产欧美69| 全球成人中文在线| 日本精品一区二区三区四区| 91激情五月电影| av亚洲免费| 精品国产伦一区二区三| 欧美日韩中文国产一区发布| 欧美美女一区二区三区| 欧美成人精品福利网站| 国产老肥熟一区二区三区| 欧美午夜不卡视频| 国产精品乱码一区二区视频| 福利一区二区在线观看| 在线播放性xxx欧美| 亚洲午夜久久久久中文字幕| 999日本视频| av高清久久久| 一二三区中文字幕| 国产免费不卡| 国产亚洲精品91在线| 国内视频一区二区| 欧洲成人综合网| 欧美孕妇与黑人巨交| 欧美狂猛xxxxx乱大交3| 极品av少妇一区二区| 爽爽影院免费观看视频| 亚洲最大黄色| √新版天堂资源在线资源| 欧美日韩一级在线观看| 国产日韩精品综合网站| 国产欧美一区二区精品仙草咪| 亚洲va码欧洲m码| 视频直播国产精品| 日韩亚洲欧美中文在线| 免费观看污网站| 大肉大捧一进一出好爽动态图| 免费看黄色网址| 久久女人天堂| 老太脱裤子让老头玩xxxxx| 爱爱永久免费视频| 久久在线视频| 成人看的羞羞网站| 男男成人高潮片免费网站| 日韩美脚连裤袜丝袜在线| 国产精品正在播放| 国产日产一区二区| 欧美午夜久久| 成人在线视频电影| 天天操夜夜操很很操| 亚洲欧美一区二区三区四区五区| 卡通欧美亚洲| 国产一区二区av在线| 国产绿帽一区二区三区| 久久本道综合色狠狠五月| 亚洲资源网你懂的| 日韩欧美中文字幕在线视频| 亚洲网一区二区三区| 小嫩嫩12欧美| 蜜臀久久99精品久久久画质超高清| 国产精品久久久久久妇女6080| 欧美va在线观看| vam成人资源在线观看| 91.com视频| 91成人精品观看| 精品一区二区在线视频| 最近日韩中文字幕中文| 中文字幕2018| 佐山爱痴汉视频一区二区三区| 日韩视频在线观看国产| 深夜成人在线观看| 毛片网站在线免费观看| 日韩精品免费在线视频| 成人av免费网站| 欧美性猛交xxxx富婆| ww久久中文字幕| 久久精品视频18| 成人精品在线看| 精品亚洲乱码一区二区| gogo久久| 人妻丰满熟妇av无码区| 欧美黄色片在线观看| 日韩欧美精品在线视频| 久久99精品久久久久久久久久久久| 日韩理论在线观看| 国产精品20p| 久久久久久国产视频| 国产精品视频yy9299一区| 国 产 黄 色 大 片| 五月婷婷狠狠操| 中国女人内谢25xxxxx| 欧美精选一区| 久久大综合网| 日本一卡二卡在线| 成人在线看片| 婷婷综合久久| 国产a久久精品一区二区三区| 国产原创中文在线观看| 玖玖在线精品| 不卡av免费观看| 日韩精品久久久久久久电影99爱| crdy在线观看欧美| 欧美系列电影免费观看| 国产成人综合在线| 日本搞黄视频| 日韩美女视频中文字幕| 亚洲最好看的视频| 操女生的网站| 久久久9999久久精品小说| 午夜国产福利| 欧美日本在线一区| 欧美肥婆姓交大片|