91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

HTML5+CSS3應用實例分析

發布時間:2022-03-07 16:17:40 來源:億速云 閱讀:150 作者:iii 欄目:web開發

這篇文章主要介紹“HTML5+CSS3應用實例分析”,在日常操作中,相信很多人在HTML5+CSS3應用實例分析問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”HTML5+CSS3應用實例分析”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

曾經,設計師們經常會跟頻繁使用基于table的沒有任何語義的布局。不過最終還是要感謝像Jeffrey Zeldman和Eric Meyer這樣的思想革新者,聰明的設計師們慢慢的接受了相對更語義化的<div>布局替代了table布局,并且開始調用外部樣式表。但不幸的是,復雜的網頁設計需要大量不同的標簽結構代碼,我們把它叫做“<div>-soup” 綜合癥。也許你很熟悉下面的代碼: 

<div id="news">

復制代碼

代碼如下:

<div class="section">

<div class="article">

<div class="header">

<h2>Div Soup Demonstration</h2>

<p>Posted on July 11th, 2009</p>

</div>

<div class="content">

<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 class="footer">

<p>Tags: HMTL, code, demo</p>

</div>

</div>

<div class="aside">

<div class="header">

<h2>Tangential Information</h2>

</div>

<div class="content">

<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 class="footer">

<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>

<h2>Div Soup Demonstration</h2>

<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>

<h2>Tangential Information</h2>

</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必須調用的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 {}

我們再來看看基于HTML5的實例: section {}

復制代碼

代碼如下:

article {}

header {}

footer {}

aside {}

這是個進步,但仍有一些問題需要解決。在<div>實例中,我們需要通過class或id屬性來調用頁面中的元素。這種邏輯將允許我們將樣式應用到文檔中的任何一個元素上,無論是整體還是個體。例如在<div>實例中,.section 和 .content元素很容易定位。但是在HTML5實例中,實際文檔中會有很多個section元素。其實我們可以添加一些特定的屬性選擇器來調用那些不同的section元素,不過謝天謝地,我沒現在可以用少量的高級CSS選擇器來定位不同的section元素。

不使用class和id定位HTML-5元素

  下面讓我們來看看如何在不使用class和id的情況下定位HTML5頁面元素的一個實例,我們可以使用三種CSS選擇器來定位和辨別實例中的元素。如下:

      后代選擇器:[CSS 2.1]: EF

      兄弟選擇器:[CSS 2.1]: E + F

      子元素選擇器:[CSS 2.1]: E > F

      下面讓我們來看看如何不使用class和id而完成對文檔中的那些section元素的定位吧:

定位最外層的<section>元素

  考慮到我們的例子并不是一套完整的HTML5代碼,所以我們假定在<body>元素下有個<nav>元素與<section>元素是兄弟元素。這樣的話,我們就可以向下面代碼那樣定位最外層的

<section>了:

復制代碼

代碼如下:

body nav+section {}

定位下一個<section>元素

作為最外層<section>元素下的唯一直屬子集元素,這個<section>元素也許可以這樣定位:

復制代碼

代碼如下:

section>section {}

定位<article>元素

可以定位<article>元素的方法有很多,不過最簡單的方法當然就是后代選擇器了:

復制代碼

代碼如下:

section section article {}

定位<header>、<section> 和<footer>元素

這三個元素分別在兩個地方都出現過,一是在<article>元素中出現,另一是在<aside>元素中出現。這種差別能讓我們輕松定位每個元素。

復制代碼

代碼如下:

article header {}

article section {}

article footer {}

或者一起定義:

復制代碼

代碼如下:

section section header {}

section section section {}

section section footer {}

到目前為止,我們已經使用CSS2.1選擇器排除掉了所有的class和id。那么我們為什么還需要使用CSS3 呢?我很高興你能這么問&hellip;

使用CSS3對HTML5元素進行高級定位

  雖然我們已經使用CSS2.1選擇器排除掉了所有的class和id,顯然還會有很多更復雜的情況需要CSS3的高級選擇器來解決。讓我們通過完成一下的實例來了解一下如何在不使用無用的class和id屬性的情況下利用CSS3定位頁面元素。

使用一個唯一的日志 (post)ID定位所有日志

  wordpress提供給我們一種包含了ID的每篇日志的源代碼輸出。這種信息通常用于導航和/或了解資料的意圖,不過CSS3可以利用這些唯一的ID來定義這些日志的樣式。當然,你還可以像往常那樣為每篇日志添加class=”post”這樣的屬性,但這就與我們練習的意圖相沖突了(再加上它沒有一點樂趣所在)。使用”子字符串匹配選擇器”,我們就可以像下面這樣定位所有日志和它們的不同元素了。

復制代碼

代碼如下:

article[id*=post-] {} /* 定位所有日志 */

article[id*=post-] header h2 {} /* 定位所有日志中的h2標簽 */

article[id*=post-] section p {} /* 定位所有日志中的p標簽 */

我們仍然可以使用同樣的方式定位評論的元素和它們的子元素。

復制代碼

代碼如下:

article[id*=comment-] {} /* 定位所有評論 */

article[id*=comment-] header h2 {} /* 定位所有評論中的h2標簽 */

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> */

同樣,我們可以使用“:nth-last-child”選擇器定位反序的一些元素。

復制代碼

代碼如下:

section:nth-last-child(1) {} /* 選擇最后一個 <section> */

article:nth-last-child(1) {} /* 選擇最后一個 <article> */ </p><p>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>

我們可以僅使用以下一行選擇器:

復制代碼

代碼如下:

section>section:only-of-type {}

再次嘮叨,你可以固執的為每個元素添加ID屬性,但你會失去代碼的可擴展性、維護性和絕對簡潔的結構與表現相分離。 CSS3的確能讓我們可快速更方便的定位幾乎所有沒有ID和class屬性的頁面元素。

到此,關于“HTML5+CSS3應用實例分析”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黑龙江省| 白沙| 富宁县| 泸水县| 越西县| 湛江市| 加查县| 宁远县| 咸宁市| 长乐市| 龙胜| 集贤县| 榕江县| 汪清县| 昌乐县| 洞头县| 大足县| 新津县| 从化市| 迭部县| 城步| 威宁| 屯门区| 沧州市| 阿坝| 郁南县| 萍乡市| 安义县| 金寨县| 化德县| 冕宁县| 寿宁县| 东宁县| 清苑县| 云阳县| 嫩江县| 靖远县| 通许县| 社会| 宣城市| 冷水江市|