pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

HTML5 區(qū)域(Sectioning)的重要性

不管你以前在web頁面布局中如何稱呼它們-“區(qū)域”還是“塊”,我們一直都在布局中將頁面分成可視的不同區(qū)域。但真正的問題在于我們并沒有使用任何正確的工具來實(shí)現(xiàn)。一般情況下
       不管你以前在web頁面布局中如何稱呼它們 - “區(qū)域”還是“塊”,我們一直都在布局中將頁面分成可視的不同區(qū)域。但真正的問題在于我們并沒有使用任何正確的工具來實(shí)現(xiàn)。一般情況下我們使用典型的網(wǎng)格來劃分頁頭,頁面主題,頁尾等等區(qū)域來實(shí)現(xiàn)所謂的頁面布局。

       在過去的很多年以來,我們都使用DIV來幫助我們劃分頁面區(qū)域,而為此我們定義了很多class來幫助我們有效定義頁面上的每一個(gè)層次,最新的HTML5最終幫助我們解決了這個(gè)問題 - 使用section 元素, 很多人都非常喜歡這個(gè)新的HTML成員,因?yàn)閕終于在HTML標(biāo)準(zhǔn)中給予了我們準(zhǔn)確的開發(fā)建議,Section增強(qiáng)了整個(gè)DOM的可讀性,在這篇文章中我 們將介紹這些新的元素,幫助我們了解能夠解決什么問題,提供了什么重要的功能并且對(duì)于“語義化Web”做出了什么樣的貢獻(xiàn)!

       開發(fā)網(wǎng)站

       可能大家還記得使用dreamweaver來開發(fā)網(wǎng)站的日子,我們通過拖拽來生成一個(gè)典型的頁面,如下:


       使用dreamweaver只是為了快速的生成圖形界面而非真正意義上的信息語義清晰,當(dāng)然很多人都使用dreamweaver,包括我自己。典型的傻瓜式開發(fā)的產(chǎn)物。

       web標(biāo)準(zhǔn)

       當(dāng)我們開始熟悉了web標(biāo)準(zhǔn)以及正確開發(fā)的相關(guān)最佳實(shí)踐之后,我們需要做的事情仍舊是視覺設(shè)計(jì),典型的“CSS布局”,盡量不使用語義錯(cuò)誤的table來設(shè) 計(jì)頁面布局。使用基于div的布局作為web設(shè)計(jì)其實(shí)已經(jīng)很多年了,不過使用div布局導(dǎo)致document結(jié)構(gòu)的混亂和層次的難于維護(hù)是顯而易見的。而 且最惡心的hack問題也一直困擾我們!

       Div標(biāo)簽的問題

       每天都會(huì)有成千上萬的開發(fā)人員使用div來分隔,格式化頁面內(nèi)容。我們使用div來分隔不同的內(nèi)容區(qū)域,以保證內(nèi)容的互相獨(dú)立。但是事實(shí)上div并非用來實(shí)現(xiàn)這樣的功能的。看看如下這個(gè)例子:


       在這個(gè)簡(jiǎn)單的局部中,包含了一個(gè)文字主題和一個(gè)邊欄內(nèi)容。為了讓它對(duì)于讀者絕對(duì)清晰,我們將sidebar分離于主體。這里我們使用一個(gè)粗邊框來封裝這個(gè)邊 欄內(nèi)容。也許你會(huì)說,邊欄的標(biāo)題應(yīng)該是<h3>,這個(gè)我們稍后做解釋。所有的定義使用了一個(gè)典型的CSS,如果你把CSS去除,你將看到如下 展示:


       如果我去除了CSS,你看到頁面布局變成了響應(yīng)式風(fēng)格,這其實(shí)就是HTML4 document如何在瀏覽器中實(shí)際被生成的樣式。這里我們看到邊欄區(qū)域其實(shí)是document中的另外一段信息。

       為什么會(huì)這樣呢?

       主要的原因在于<div>是一個(gè)流動(dòng)內(nèi)容的元素。不管邊框或者背景是什么樣式,它和主題document并不分離,相反,作為其中的一個(gè)部分生 成。當(dāng)我們移除CSS可以看到,邊欄的“Resource”標(biāo)題并非是一個(gè)獨(dú)立的組件,而是document的一個(gè)部分。作為頁面的閱讀者來說,這一點(diǎn)大 家應(yīng)該看到。

       為了更好的說明,我們看看如下代碼片段:

<div class="parent">
<h2>Heading</h2>
<p>Some content...</p>
<div class="child">
<h2>Another heading</h2>
<p>Some other content...</p>
</div>
</div>

       這里我們我們稍微的修改了一下內(nèi)容,添加了兩個(gè)div到來展示父子關(guān)系。 div.child標(biāo)簽屬于div.parent。我們可以使用CSS來使得兩個(gè)元素的關(guān)系看起來是這個(gè)樣子。但是,要知道div在標(biāo)準(zhǔn)中的描述是“沒什 么特殊含義”。非但不意味著任何語義上的含義,對(duì)于web頁面的計(jì)算架構(gòu)來說也沒有任何意義。而且div對(duì)于我們來說也不可見。因此我們應(yīng)該把他們都刪 除,而使用如下4個(gè)元素來展示頁面父子關(guān)系,如下:

<h2>Heading</h2>
<p>Some content...</p>
<h2>Another heading</h2>
<p>Some other content...</p>

       作為正確的結(jié)構(gòu)來說,這里是實(shí)際構(gòu)成內(nèi)容的元素。

       標(biāo)題層次實(shí)際并非非常有用

       可能很多人認(rèn)為將<h2>替換成<h3>可能能夠幫助我們解決問題。如果這樣的話,我們可能得到如下:

  • A header(h2)
  • Another header(h3) 

       這個(gè)方式貌似更加的合理。但是實(shí)際上呢?h3的內(nèi)容是否真的屬于h2?這里很難說清楚。下面我們?cè)倏匆粋€(gè)例子:

       在這個(gè)HTML4頁面中,我們使用h1來生成一個(gè)頁面內(nèi)容介紹標(biāo)題,使用h2作為主內(nèi)容的標(biāo)題,使用h3來標(biāo)示邊欄,并且使用div#footer來生成頁尾內(nèi)容。但是問題是footer究竟屬于那個(gè)一個(gè)內(nèi)容呢?

       Footer屬于哪一個(gè)標(biāo)題

       下面這個(gè)圖非常清晰的展示了document結(jié)構(gòu)問題,我們看到這里footer究竟屬于<h2>的頁尾,還是<h3>的頁尾。

       可能有些專家認(rèn)為,可以將代碼改成如下樣式:

  • h1(page)
  • h2(main)
  • h3(sidebar)
  • h2(footer)

       這個(gè)屬于一個(gè)hack,但是并非很正確。

       劃分區(qū)域

了解如何正確的劃分區(qū)域,HTML5提供了<section>,<article>,<aside>和<nav>等元素。看看下圖有幾個(gè)區(qū)域:


       多選題:

       A. 1  B. 2  C. 3  D. 4

       你的答案是什么? 正確的應(yīng)該是 (B)。

       也許你會(huì)不太理解,因?yàn)樵贖TML5的標(biāo)準(zhǔn)中擁有有如下具體的定義:

       4.4 Sections

  • 4.4.1 body
  • 4.4.2 nav
  • 4.4.3 article
  • 4.4.4 aside
  • 4.4.5 h1, h2, h3, h4, h5 and h6
  • 4.4.6 hgroup
  • 4.4.7 header
  • 4.4.8 footer
  • 4.4.9 address

       但是如果你看看 4.4.8 footer的時(shí)候,你會(huì)看到如下內(nèi)容:

       “the footer element is not sectioning content; it doesn’t introduce a new section.”

       這里HTML5的定義上有一些前后矛盾之處,不過大家也不用過于糾纏。

       Section是一個(gè)新類型的div嗎?

       這可能是一個(gè)典型的錯(cuò)誤理解。

       Div其實(shí)在功能上并沒有任何含義,如果你使用div來創(chuàng)建頁面框架結(jié)構(gòu)將會(huì)是一個(gè)非常糟糕的選擇。

       而Section用來定義一個(gè)結(jié)構(gòu)化的區(qū)域,看看下面這個(gè)例子:

<section class="outer">
<section class="inner">
<h1>Section title</h1>
</section>
</section>

       這里我們使用section來生成一個(gè)盒模式。如果我們運(yùn)行 our outliner,我們得到如下警告:

       [Untitled Section]

  • Section title

       這里如果使用div的話,可以有效幫助我們劃分區(qū)域:

<section>
<div>
<h1>Section title</h1>
</div>
</section>

       生成結(jié)果如下:

  • Section title

       可以看到?jīng)]有任何警告或者提示!

總結(jié)

       HTML 并不是一個(gè)SDK或者圖形設(shè)計(jì)師的畫板。它是一個(gè)Meta語言,一個(gè)幫助你了解特殊信息的語言。有時(shí)候我們使用解析器,獲取主體,時(shí)間,來源或者流行等內(nèi) 容。這就是microdata和RDF主要的功能。另外,上下文,層次,相關(guān)的重要性和代碼關(guān)系都需要被考慮。這就是正確的區(qū)域元素使用和語法需要考慮 的。

       有些人可能會(huì)告訴你不要過于考慮區(qū)域,可能由于沒有什么意義。但是使用區(qū)域定義很好的提高了HTML的結(jié)構(gòu),上面我們已經(jīng)很好的介紹了。

       個(gè)人認(rèn)為,Section不但對(duì)于優(yōu)化document結(jié)構(gòu)來說有好處,而且最終會(huì)讓整個(gè)DOM趨于合理。而同時(shí)對(duì)于我們來說需要去適應(yīng)這種變化,需要我們 自己去優(yōu)化和改變自己的開發(fā)流程和習(xí)慣,但是我相信對(duì)于web開發(fā)的趨勢(shì)和方向來說,最終會(huì)使得整個(gè)流程更加專業(yè)和標(biāo)準(zhǔn)化。對(duì)于變化應(yīng)該值得。
【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

由于實(shí)際運(yùn)行環(huán)境是在瀏覽器中,因此性能還取決于JavaScript解釋器的效率,指定的FPS幀速在低性能解釋器中可能不會(huì)達(dá)到,所以這部分不是開發(fā)者能夠決定的,開發(fā)者能作的是盡可能通
本文將使用HTML5提供的VideoAPI做一個(gè)自定義的視頻播放器,需要用到HTML5提供的video標(biāo)簽、以及HTML5提供的對(duì)JavascriptAPI的擴(kuò)展。,HTML5中國,中國最大的HTML5中文門戶。
隨著 Hybrid 應(yīng)用的豐富,HTML5 工程師們已經(jīng)不滿足于把桌面端體驗(yàn)簡(jiǎn)單移植到移動(dòng)端,他們覬覦移動(dòng)原生應(yīng)用人性化的操作體驗(yàn),特別是原生應(yīng)用與生俱來的豐富的手勢(shì)系統(tǒng)。HTML5 沒有提
你想要在自己網(wǎng)站上分享一個(gè)產(chǎn)品,或者是一個(gè)作品集,又或者僅僅只是一個(gè)靈感。在你發(fā)布到網(wǎng)上之前,你想讓它看起來有吸引力,專業(yè),或者至少得看起來像那么回事。那么你接下
H5廣告,包括H5廣告的設(shè)計(jì)流程,究竟有什么講究,和階段。為了能幫助更多的人了解H5廣告,我專門做了一個(gè)講義。同時(shí),也讓我意外的收到了非常好反饋和認(rèn)!這是對(duì)我的極大鼓勵(lì)!我的
本文主要內(nèi)容有:框架與組件、構(gòu)建生態(tài)、開發(fā)技巧與調(diào)試、html、css與重構(gòu)、native/hybrid/桌面開發(fā)、前端/H5優(yōu)化、全棧/全端開發(fā)、研究實(shí)驗(yàn)、數(shù)據(jù)分析與監(jiān)控、其它軟技能、前端技術(shù)網(wǎng)
主站蜘蛛池模板: 细砂提取机,隔膜板框泥浆污泥压滤机,螺旋洗砂机设备,轮式洗砂机械,机制砂,圆锥颚式反击式破碎机,振动筛,滚筒筛,喂料机- 上海重睿环保设备有限公司 | 行业分析:提及郑州火车站附近真有 特殊按摩 ?2025实地踩坑指南 新手如何避坑不踩雷 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 企业彩铃制作_移动、联通、电信集团彩铃上传开通_彩铃定制_商务彩铃管理平台-集团彩铃网 | 不锈钢复合板厂家_钛钢复合板批发_铜铝复合板供应-威海泓方金属复合材料股份有限公司 | 四川成都干燥设备_回转筒干燥机_脉冲除尘器_输送设备_热风炉_成都川工星科机电设备有限公司 | 复合肥,化肥厂,复合肥批发,化肥代理,复合肥品牌-红四方 | 生鲜配送系统-蔬菜食材配送管理系统-连锁餐饮订货配送软件-挪挪生鲜供应链管理软件 | 手术室净化厂家_成都实验室装修公司_无尘车间施工单位_洁净室工程建设团队-四川华锐16年行业经验 | 小型气象站_便携式自动气象站_校园气象站-竞道气象设备网 | 楼梯定制_楼梯设计施工厂家_楼梯扶手安装制作-北京凌步楼梯 | 合肥触摸一体机_触摸查询机厂家_合肥拼接屏-安徽迅博智能科技 | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | 固诺家居-全屋定制十大品牌_整体衣柜木门橱柜招商加盟 | 股票入门基础知识_股票知识_股票投资大师_格雷厄姆网 | 冷水机-冰水机-冷冻机-冷风机-本森智能装备(深圳)有限公司 | 专业生产动态配料系统_饲料配料系统_化肥配料系统等配料系统-郑州鑫晟重工机械有限公司 | 多功能三相相位伏安表-变压器短路阻抗测试仪-上海妙定电气 | 轴承振动测量仪电箱-轴承测振动仪器-测试仪厂家-杭州居易电气 | 西安标准厂房_陕西工业厂房_西咸新区独栋厂房_长信科技产业园官方网站 | SEO网站优化,关键词排名优化,苏州网站推广-江苏森歌网络 | 定制异形重型钢格栅板/钢格板_定做踏步板/排水沟盖板_钢格栅板批发厂家-河北圣墨金属制品有限公司 | 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 高精度电阻回路测试仪-回路直流电阻测试仪-武汉特高压电力科技有限公司 | PC阳光板-PC耐力板-阳光板雨棚-耐力板雨棚,厂家定制[优尼科板材] | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | 新疆乌鲁木齐网站建设-乌鲁木齐网站制作设计-新疆远璨网络 | 压滤机滤板_厢式_隔膜_板框压滤机滤板厂家价格型号材质-大凯环保 | 冻干机(冷冻干燥机)_小型|实验型|食品真空冷冻干燥机-松源 | 液压压力机,液压折弯机,液压剪板机,模锻液压机-鲁南新力机床有限公司 | 环氧树脂地坪_防静电地坪漆_环氧地坪漆涂料厂家-地壹涂料地坪漆 环球电气之家-中国专业电气电子产品行业服务网站! | 北京公积金代办/租房发票/租房备案-北京金鼎源公积金提取服务中心 | 天津中都白癜风医院_天津白癜风医院_天津治疗白癜风 | 塑钢件_塑钢门窗配件_塑钢配件厂家-文安县启泰金属制品有限公司 深圳南财多媒体有限公司介绍 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | Copeland/谷轮压缩机,谷轮半封闭压缩机,谷轮涡旋压缩机,型号规格,技术参数,尺寸图片,价格经销商 CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 5L旋转蒸发器-20L-50L旋转蒸发器-上海越众仪器设备有限公司 | 外贸网站建设-外贸网站设计制作开发公司-外贸独立站建设【企术】 | DAIKIN电磁阀-意大利ATOS电磁阀-上海乾拓贸易有限公司 |