關(guān)于模塊自嵌套

2024-04-20    分類: 網(wǎng)站建設(shè)

  自嵌套是個(gè)很奇怪的概念,雖然 HTML/CSS 不能算是一種編程語(yǔ)言,但結(jié)構(gòu)上的自嵌套可能比函數(shù)遞歸的自嵌套還難搞定。函數(shù)遞歸時(shí)我們總要給遞歸一個(gè)結(jié)束條件,而模塊自嵌套完全是邏輯上的,這才是真正可怕的地方。我已經(jīng)被自嵌套問(wèn)題坑過(guò)無(wú)數(shù)次坑怕了。   也許會(huì)有人認(rèn)為自嵌套的情況離我們平時(shí)的用法太遠(yuǎn)了,完全不需要花時(shí)間去糾結(jié)這種問(wèn)題。其實(shí)我們一直在用自嵌套,只是平時(shí)的業(yè)務(wù)對(duì)它沒(méi)有太多需求,所以可能自己都不知道。從當(dāng)年的表格布局開始就存在了表格嵌套的問(wèn)題,所以這是很有歷史的東西了。只是在每個(gè)不同的時(shí)期人們遇到的具體問(wèn)題不同而已。   如果只以 TagName 為單位,那到處都是自嵌套。比如兩個(gè)嵌套的 DIV 標(biāo)簽就可以理解為自己嵌套自己,因?yàn)閷憳邮降臅r(shí)候?qū)嶋H上無(wú)論 DIV 的嵌套方式如何,它都是 DIV。比如下面的代碼就是一個(gè)嵌套的 DIV,但它們具有不同的樣式。 運(yùn)行
outer
inner
  在一些奇怪的論壇上經(jīng)常會(huì)看到一頁(yè)頁(yè)嵌套的回帖方式(雖然我很討厭這個(gè)),這東西就是典型的模塊自嵌套。下面這個(gè)例子就是類似的東西 運(yùn)行
test
  如果最外層模塊和內(nèi)部的所有模塊都使用同樣的樣式,那確實(shí)沒(méi)什么問(wèn)題,正常使用就行了。但實(shí)際上業(yè)務(wù)總是會(huì)有各種奇怪的需求,比如讓某一層嵌套顯示出特殊的樣子,雖然加一個(gè) class 就能解決問(wèn)題,但要是使用后代選擇器的話就可能有更深遠(yuǎn)的影響。這個(gè)問(wèn)題的一個(gè)典型是 UL/OL/LI 結(jié)構(gòu)的自嵌套。為某個(gè)層次的列表設(shè)置樣式后需要考慮樣式對(duì)后代元素的影響。不僅是后代選擇器,甚至 CSS 本身的繼承機(jī)制也會(huì)影響到后代元素。   除了 UL/OL/LI 結(jié)構(gòu)外,還有 DL/DT/DD 結(jié)構(gòu)也經(jīng)常受到自嵌套的困擾。我自己就經(jīng)常使用全局的 DL/DT/DD 結(jié)構(gòu)布局,比如 運(yùn)行
···
  這個(gè)代碼本身沒(méi)有問(wèn)題,但如果在 DD 中又嵌入了 DL/DT/DD 結(jié)構(gòu)的話,DD 的樣式可能受到外層 DD 的影響。   對(duì)于以上這些問(wèn)題我的建議是,在可能存在自己嵌套的結(jié)構(gòu)中,避免直接使用后代選擇器,可以使用子選擇器代替。 本文來(lái)源于成都網(wǎng)站建設(shè)公司與成都網(wǎng)站設(shè)計(jì)制作公司-創(chuàng)新互聯(lián)成都公司!

標(biāo)題名稱:關(guān)于模塊自嵌套
URL網(wǎng)址:http://www.bm7419.com/news46/324446.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、服務(wù)器托管響應(yīng)式網(wǎng)站網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)