麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 開(kāi)發(fā) > CSS > 正文

HTML5和CSS3讓網(wǎng)頁(yè)設(shè)計(jì)提升到下一個(gè)高度

2020-03-24 15:56:20
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
Web設(shè)計(jì)師可以使用HTML4和CSS2.1完成一些很酷的東西。我們可以在不使用陳舊的基于table布局的基礎(chǔ)上完成文檔邏輯結(jié)構(gòu)并創(chuàng)建 內(nèi)容豐富的網(wǎng)站。我們可以在不使用內(nèi)聯(lián) font 和 br 標(biāo)簽的基礎(chǔ)上對(duì)網(wǎng)站添加漂亮而細(xì)膩的風(fēng)格樣式。事實(shí)上,我們目前的 設(shè)計(jì)能力已經(jīng)讓我們遠(yuǎn)離了那個(gè)可怕的瀏覽器戰(zhàn)爭(zhēng)時(shí)代、專有協(xié)議和那些充滿閃動(dòng)、滾動(dòng)和閃爍的丑陋網(wǎng)頁(yè)。
雖然我們現(xiàn)在已經(jīng)普遍使用了HTML4和CSS2.1,但是我們還可以做得更好!我們可以重組我們代碼的結(jié)構(gòu)并能讓我們的頁(yè)面代碼更富有語(yǔ)義化特性。 我們可以縮減帶給頁(yè)面美麗外觀樣式代碼量并讓他們有更高的可擴(kuò)展性。現(xiàn)在,HTML5和CSS3正躍躍欲試的等待大家,下面讓我們來(lái)看看他們是否真的能讓 我們的設(shè)計(jì)提升到下一個(gè)高度吧
跟 div 說(shuō)再見(jiàn),歡迎語(yǔ)義化標(biāo)簽曾經(jīng),設(shè)計(jì)師們經(jīng)常會(huì)跟頻繁使用基于table的沒(méi)有任何語(yǔ)義的布局。不過(guò)最終還是要感謝像Jeffrey Zeldman和Eric Meyer這樣的思想革新者,聰明的設(shè)計(jì)師們慢慢的接受了相對(duì)更語(yǔ)義化的 div 布局替代了table布局,并且開(kāi)始調(diào)用外部樣式表。但不 幸的是,復(fù)雜的網(wǎng)頁(yè)設(shè)計(jì)需要大量不同的標(biāo)簽結(jié)構(gòu)代碼,我們把它叫做 div -soup 綜合癥。也許你很熟悉下面的代碼: div id= news
div > div > div > h1 Div Soup Demonstration /h1
p Posted on July 11th, 2009 /p
/div
div > p Lorem ipsum text blah blah blah. /p
p Lorem ipsum text blah blah blah. /p
p Lorem ipsum text blah blah blah. /p
/div
div > p Tags: HMTL, code, demo /p
/div
/div
div > div > h1 Tangential Information /h1
/div
div > p Lorem ipsum text blah blah blah. /p
p Lorem ipsum text blah blah blah. /p
p Lorem ipsum text blah blah blah. /p
/div
div > p Tags: HMTL, code, demo /p
/div
/div
/div
/div 盡管這有些勉強(qiáng),但上面這個(gè)實(shí)例還是可以說(shuō)明使用HTML4對(duì)一個(gè)復(fù)雜的設(shè)計(jì)進(jìn)行代碼化后依然過(guò)于臃腫(其實(shí)xHTML1.1也不過(guò)如此)。不 過(guò)值得激動(dòng)的是,HTML5解決 div -soup 綜合癥并帶給我們一套新的結(jié)構(gòu)化元素。這些新的HTML5元素富有更細(xì)致的語(yǔ)義從而代替了那些毫無(wú)語(yǔ)義的 div 標(biāo)簽,并同時(shí)為CSS的調(diào) 用提供了 自然 的CSS鉤子。下面是HTML5的解決方案實(shí)例: section
section
article
header
h1 Div Soup Demonstration /h1
p Posted on July 11th, 2009 /p
/header
section
p Lorem ipsum text blah blah blah. /p
p Lorem ipsum text blah blah blah. /p
p Lorem ipsum text blah blah blah. /p
/section
footer
p Tags: HMTL, code, demo /p
/footer
/article
aside
header
h1 Tangential Information /h1
/header
section
p Lorem ipsum text blah blah blah. /p
p Lorem ipsum text blah blah blah. /p
p Lorem ipsum text blah blah blah. /p
/section
footer
p Tags: HMTL, code, demo /p
/footer
/aside
/section
/section 正如我們所見(jiàn),HTML5可以讓我們用很多更語(yǔ)義化的結(jié)構(gòu)化代碼標(biāo)簽代替那些大量的無(wú)意義的 div 標(biāo)簽。這種語(yǔ)義化的特性不僅 提升了我們網(wǎng)頁(yè)的質(zhì)量和語(yǔ)義,并且大量減少了曾經(jīng)代碼中用于CSS必須調(diào)用的html' target='_blank'>class和id屬性。事實(shí)上,CSS3也是可以然通過(guò)我們忽略掉所有 class和id的。跟class屬性說(shuō)再正如我們所見(jiàn),HTML5可以讓我們用很多更語(yǔ)義化的結(jié)構(gòu)化代碼標(biāo)簽代替那些大量的無(wú)意義的標(biāo)簽。這種語(yǔ)義化的特性不僅提升了我們網(wǎng)頁(yè)的質(zhì)量和語(yǔ)義,并且大量減少了曾經(jīng)代碼中用于CSS必須調(diào)用的class和id屬性。事實(shí)上,CSS3也是可以然通過(guò)我們忽略掉所有 class和id的。 跟class屬性說(shuō)再見(jiàn),歡迎整潔的標(biāo)簽結(jié)合了富有新的語(yǔ)義化標(biāo)記的HTML5,CSS3為web設(shè)計(jì)師們的網(wǎng)頁(yè)提供了神一般的力量。有了HTML5的能量,我們將得到更多的對(duì)文檔代碼的控制權(quán),有了CSS3的能量,我們的控制權(quán)將趨于無(wú)窮大!即使沒(méi)有那些高級(jí)的CSS選擇器,我們?nèi)匀豢梢酝ㄟ^(guò)強(qiáng)大的HTML5條調(diào)用不同的容器而不勞駕class和id這類屬性。像以往的DIV布局,我們?cè)赾ss中可能要這樣調(diào)用:
div#news {}
div.section {}
div.article {}
div.header {}
div.content {}
div.footer {}
div.aside {}
這是個(gè)進(jìn)步,但仍有一些問(wèn)題需要解決。在 div 實(shí)例中,我們需要通過(guò)class或id屬性來(lái)調(diào)用頁(yè)面中的元素。這種邏輯將允許 我們將樣式應(yīng)用到文檔中的任何一個(gè)元素上,無(wú)論是整體還是個(gè)體。例如在 div 實(shí)例中,.section 和 .content元素很容易定位。但是在HTML5實(shí)例中,實(shí)際文檔中會(huì)有很多個(gè)section元素。其實(shí)我們可以添加一些特定的屬性選擇器來(lái)調(diào)用那些不 同的section元素,不過(guò)謝天謝地,我沒(méi)現(xiàn)在可以用少量的高級(jí)CSS選擇器來(lái)定位不同的section元素。不使用class和id定位HTML-5元素下面讓我們來(lái)看看如何在不使用class和id的情況下定位HTML5頁(yè)面元素的一個(gè)實(shí)例,我們可以使用三種CSS選擇器來(lái)定位和辨別實(shí)例中的元素。如下: 后代選擇器:[CSS 2.1]: E F 兄弟選擇器:[CSS 2.1]: E + F 子元素選擇器:[CSS 2.1]: E F 下面讓我們來(lái)看看如何不使用class和id而完成對(duì)文檔中的那些section元素的定位吧:

定位最外層的 section 元素考慮到我們的例子并不是一套完整的HTML5代碼,所以我們假定在 body 元素下有個(gè) nav 元素與 section 元素是兄弟元素。這樣的話,我們就可以向下面代碼那樣定位最外層的 section 了:
定位下一個(gè) section 元素
作為最外層 section 元素下的唯一直屬子集元素,這個(gè) section 元素也許可以這樣定位:
定位 article 元素
可以定位 article 元素的方法有很多,不過(guò)最簡(jiǎn)單的方法當(dāng)然就是后代選擇器了:
定位 header 、 section 和 footer 元素
這三個(gè)元素分別在兩個(gè)地方都出現(xiàn)過(guò),一是在 article 元素中出現(xiàn),另一是在 aside 元素中出現(xiàn)。這種差別能讓我們輕松定位每個(gè)元素。
到目前為止,我們已經(jīng)使用CSS2.1選擇器排除掉了所有的class和id。那么我們?yōu)槭裁催€需要使用CSS3呢?我很高興你能這么問(wèn) 使用CSS3對(duì)HTML5元素進(jìn)行高級(jí)定位雖然我們已經(jīng)使用CSS2.1選擇器排除掉了所有的class和id,顯然還會(huì)有很多更復(fù)雜的情況需要CSS3的高級(jí)選擇器來(lái)解決。讓我們通過(guò)完成一下的實(shí)例來(lái)了解一下如何在不使用無(wú)用的class和id屬性的情況下利用CSS3定位頁(yè)面元素。使用一個(gè)唯一的日志(post)ID定位所有日志wordpress提供給我們一種包含了ID的每篇日志的源代碼輸出。這種信息通常用于導(dǎo)航和/或了解資料的意圖,不過(guò)CSS3可以利用這些唯 一的ID來(lái)定義這些日志的樣式。當(dāng)然,你還可以像往常那樣為每篇日志添加 >
article[id*=post-] {} /* 定位所有日志 */
article[id*=post-] header h1 {} /* 定位所有日志中的h1標(biāo)簽 */
article[id*=post-] section p {} /* 定位所有日志中的p標(biāo)簽 */
article[id*=comment-] {} /* 定位所有評(píng)論 */
article[id*=comment-] header h1 {} /* 定位所有評(píng)論中的h1標(biāo)簽 */
article[id*=comment-] section p {} /* 定位所有評(píng)論中的p標(biāo)簽 */
定位一些指定的區(qū)域(section)或文章(article)
有很多博客的日志量和評(píng)論量都相當(dāng)大,HTML 5 會(huì)將它們由 section 或 article 元素組成。為了定位哪些指定的 section 或 article 元素,我們就要轉(zhuǎn)而使用強(qiáng)大的 :nth-child 選擇器了:
section:nth-child(1) {} /* 選擇第一個(gè) section */
article:nth-child(1) {} /* 選擇第一個(gè) article */

section:nth-child(2) {} /* 選擇第二個(gè) section */
article:nth-child(2) {} /* 選擇第二個(gè) article */
section:nth-last-child(1) {} /* 選擇最后一個(gè) section */
article:nth-last-child(1) {} /* 選擇最后一個(gè) article */

section:nth-last-child(2) {} /* 選擇倒數(shù)第二個(gè) section */
article:nth-last-child(2) {} /* 選擇倒數(shù)第二個(gè) article */
使用更多的方式選擇指定元素
另一種選擇HTML5中指定元素(如header、section和footer)的方法就是利用 :only-of-type 選擇器的優(yōu)勢(shì)。由于 這些HTML5元素通常會(huì)在很多地方出現(xiàn)不止一次,所以當(dāng)我們想定位那種在父元素下僅出現(xiàn)過(guò)一次的標(biāo)簽時(shí)這種方法很方便。例如,我們要選擇的是在某元素中有切僅有的唯一一個(gè)元素,如以下代碼:
section
section /section
section
section 定位這個(gè)section元素 /section
/section
section
section 定位這個(gè)section元素 /section
/section
section
section 但不定位這個(gè)section元素 /section
section 和這個(gè)section元素 /section
/section
section /section
/section
再次嘮叨,你可以固執(zhí)的為每個(gè)元素添加ID屬性,但你會(huì)失去代碼的可擴(kuò)展性、維護(hù)性和絕對(duì)簡(jiǎn)潔的結(jié)構(gòu)與表現(xiàn)相分離。CSS3的確能讓我們可快速更方便的定位幾乎所有沒(méi)有ID和class屬性的頁(yè)面元素。我相信隨著時(shí)間的推進(jìn)和更多瀏覽器的支持,HTML5和CSS3將越來(lái)越受歡迎,它們將為web設(shè)計(jì)師們帶來(lái)更無(wú)窮的能量,讓我們的web前端更上一個(gè)臺(tái)階。更多編程語(yǔ)言

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 精品国产一区二区三区四区阿崩 | 日本精品一二区 | 国产亚洲区 | 一区二区三区视频在线观看 | 久久国产精品二区 | 国产一国产一级毛片视频在线 | 韩国一级免费视频 | 欧美一级毛片免费观看 | 涩涩激情网 | 欧美性黄 | 欧美视频国产 | 午夜视频在线免费播放 | 中午字幕无线码一区2020 | 免费视频www在线观看 | 99精品视频在线导航 | 欧美一级网 | 激情在线免费观看 | 色综合久久久久久久粉嫩 | 久久国产综合视频 | 国产91中文字幕 | 九九热在线观看视频 | 爱逼爱操综合网 | 粉嫩粉嫩一区二区三区在线播放 | 国产精品av久久久久久久久久 | 日韩.www | 康妮卡特欧美精品一区 | 国产一区二区在线免费观看 | 一级在线免费观看视频 | 国产精品视频一区二区三区四 | 欧美日本免费一区二区三区 | 91久久国产露脸精品国产 | 久久久婷婷一区二区三区不卡 | 亚洲一区二区中文字幕在线观看 | 欧美一级性 | 成人区精品一区二区婷婷 | 香蕉视频1024 | 国产毛片网站 | 国产精品刺激对白麻豆99 | 亚洲免费视| 毛片在线免费播放 | av在线更新 |