国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

HTML5和CSS3讓網頁設計提升到下一個高度

2020-03-24 15:56:20
字體:
來源:轉載
供稿:網友
Web設計師可以使用HTML4和CSS2.1完成一些很酷的東西。我們可以在不使用陳舊的基于table布局的基礎上完成文檔邏輯結構并創建 內容豐富的網站。我們可以在不使用內聯 font 和 br 標簽的基礎上對網站添加漂亮而細膩的風格樣式。事實上,我們目前的 設計能力已經讓我們遠離了那個可怕的瀏覽器戰爭時代、專有協議和那些充滿閃動、滾動和閃爍的丑陋網頁。
雖然我們現在已經普遍使用了HTML4和CSS2.1,但是我們還可以做得更好!我們可以重組我們代碼的結構并能讓我們的頁面代碼更富有語義化特性。 我們可以縮減帶給頁面美麗外觀樣式代碼量并讓他們有更高的可擴展性。現在,HTML5和CSS3正躍躍欲試的等待大家,下面讓我們來看看他們是否真的能讓 我們的設計提升到下一個高度吧
跟 div 說再見,歡迎語義化標簽曾經,設計師們經常會跟頻繁使用基于table的沒有任何語義的布局。不過最終還是要感謝像Jeffrey Zeldman和Eric Meyer這樣的思想革新者,聰明的設計師們慢慢的接受了相對更語義化的 div 布局替代了table布局,并且開始調用外部樣式表。但不 幸的是,復雜的網頁設計需要大量不同的標簽結構代碼,我們把它叫做 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 盡管這有些勉強,但上面這個實例還是可以說明使用HTML4對一個復雜的設計進行代碼化后依然過于臃腫(其實xHTML1.1也不過如此)。不 過值得激動的是,HTML5解決 div -soup 綜合癥并帶給我們一套新的結構化元素。這些新的HTML5元素富有更細致的語義從而代替了那些毫無語義的 div 標簽,并同時為CSS的調 用提供了 自然 的CSS鉤子。下面是HTML5的解決方案實例: 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 正如我們所見,HTML5可以讓我們用很多更語義化的結構化代碼標簽代替那些大量的無意義的 div 標簽。這種語義化的特性不僅 提升了我們網頁的質量和語義,并且大量減少了曾經代碼中用于CSS必須調用的html' target='_blank'>class和id屬性。事實上,CSS3也是可以然通過我們忽略掉所有 class和id的。跟class屬性說再正如我們所見,HTML5可以讓我們用很多更語義化的結構化代碼標簽代替那些大量的無意義的標簽。這種語義化的特性不僅提升了我們網頁的質量和語義,并且大量減少了曾經代碼中用于CSS必須調用的class和id屬性。事實上,CSS3也是可以然通過我們忽略掉所有 class和id的。 跟class屬性說再見,歡迎整潔的標簽結合了富有新的語義化標記的HTML5,CSS3為web設計師們的網頁提供了神一般的力量。有了HTML5的能量,我們將得到更多的對文檔代碼的控制權,有了CSS3的能量,我們的控制權將趨于無窮大!即使沒有那些高級的CSS選擇器,我們仍然可以通過強大的HTML5條調用不同的容器而不勞駕class和id這類屬性。像以往的DIV布局,我們在css中可能要這樣調用:
div#news {}
div.section {}
div.article {}
div.header {}
div.content {}
div.footer {}
div.aside {}
這是個進步,但仍有一些問題需要解決。在 div 實例中,我們需要通過class或id屬性來調用頁面中的元素。這種邏輯將允許 我們將樣式應用到文檔中的任何一個元素上,無論是整體還是個體。例如在 div 實例中,.section 和 .content元素很容易定位。但是在HTML5實例中,實際文檔中會有很多個section元素。其實我們可以添加一些特定的屬性選擇器來調用那些不 同的section元素,不過謝天謝地,我沒現在可以用少量的高級CSS選擇器來定位不同的section元素。不使用class和id定位HTML-5元素下面讓我們來看看如何在不使用class和id的情況下定位HTML5頁面元素的一個實例,我們可以使用三種CSS選擇器來定位和辨別實例中的元素。如下: 后代選擇器:[CSS 2.1]: E F 兄弟選擇器:[CSS 2.1]: E + F 子元素選擇器:[CSS 2.1]: E F 下面讓我們來看看如何不使用class和id而完成對文檔中的那些section元素的定位吧:

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

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

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

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通河县| 库车县| 济南市| 嘉义市| 霍林郭勒市| 香河县| 大埔区| 九台市| 桃江县| 曲周县| 湖北省| 涡阳县| 甘洛县| 和田市| 武夷山市| 金阳县| 万载县| 鄢陵县| 洛宁县| 栾川县| 高碑店市| 慈利县| 武威市| 惠水县| 随州市| 龙井市| 交口县| 湖南省| 平泉县| 巴楚县| 奉化市| 江都市| 南丰县| 关岭| 垣曲县| 尼木县| 扬中市| 罗甸县| 宜兰市| 华池县| 石渠县|