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

HTML5+CSS3應用詳解 _html5教程技巧

HTML5+CSS3應用詳解 _html5教程技巧HTML5中文學習網,是中國最大的HTML5中文門戶,為廣大HTML5愛好者提供各種HTML5資料,包括HTML5網站、HTML5資訊、HTML5應用、HTML5游戲、HTML5教程、HTML5視頻、
點評:現在,HTML5和CSS3正躍躍欲試的等待大家,下面讓我們來看看他們是否真的能讓我們的設計提升到下一個高度吧

Web設計師可以使用HTML4和CSS2.1完成一些很酷的東西。我們可以在不使用陳舊的基于table布局的基礎上完成文檔邏輯結構并創建內容豐富的網站。我們可以在不使用內聯<font>和<br>標簽的基礎上對網站添加漂亮而細膩的風格樣式。事實上,我們目前的設計能力已經讓我們遠離了那個可怕的瀏覽器戰爭時代、專有協議和那些充滿閃動、滾動和閃爍的丑陋網頁。

雖然我們現在已經普遍使用了HTML4和 CSS2.1,但是我們還可以做得更好!我們可以重組我們代碼的結構并能讓我們的頁面代碼更富有語義化特性。我們可以縮減帶給頁面美麗外觀樣式代碼量并讓他們有更高的可擴展性。現在,HTML5和CSS3正躍躍欲試的等待大家,下面讓我們來看看他們是否真的能讓我們的設計提升到下一個高度吧…

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


復制代碼
代碼如下:

<div class="section">
<div class="article">
<div class="header">
<h1>Div Soup Demonstration</h1>
<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">
<h1>Tangential Information</h1>
</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>
<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必須調用的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 呢?我很高興你能這么問…

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

同樣,我們可以使用“: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將越來越受歡迎,它們將為web設計師們帶來更無窮的能量,讓我們的web前端更上一個臺階。(文/鬼武者)


【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

HTML5新增的表單元素和屬性實例解析_html5教程技巧HTML5中文學習網,是中國最大的HTML5中文門戶,為廣大HTML5愛好者提供各種HTML5資料,包括HTML5網站、HTML5資訊、HTML5應用、HTML5游戲、HTML
HTML5+CSS3實現拖放(Drag and Drop)示例_html5教程技巧HTML5中文學習網,是中國最大的HTML5中文門戶,為廣大HTML5愛好者提供各種HTML5資料,包括HTML5網站、HTML5資訊、HTML5應用、HTML5游戲、HTML5教程
html5桌面通知(Web Notifications)實例解析_html5教程技巧HTML5中文學習網,是中國最大的HTML5中文門戶,為廣大HTML5愛好者提供各種HTML5資料,包括HTML5網站、HTML5資訊、HTML5應用、HTML5游戲、HTM
HTML5實現WebSocket協議原理淺析_html5教程技巧HTML5中文學習網,是中國最大的HTML5中文門戶,為廣大HTML5愛好者提供各種HTML5資料,包括HTML5網站、HTML5資訊、HTML5應用、HTML5游戲、HTML5教程、
HTML5 在canvas中繪制文本附效果圖_html5教程技巧HTML5中文學習網,是中國最大的HTML5中文門戶,為廣大HTML5愛好者提供各種HTML5資料,包括HTML5網站、HTML5資訊、HTML5應用、HTML5游戲、HTML5教程
HTML5使用drawImage()方法繪制圖像_html5教程技巧HTML5中文學習網,是中國最大的HTML5中文門戶,為廣大HTML5愛好者提供各種HTML5資料,包括HTML5網站、HTML5資訊、HTML5應用、HTML5游戲、HTML5教程、
主站蜘蛛池模板: 好物生环保网、环保论坛 - 环保人的学习交流平台 | 齿轮减速机_齿轮减速电机-VEMT蜗轮蜗杆减速机马达生产厂家瓦玛特传动瑞环机电 | 铁艺,仿竹,竹节,护栏,围栏,篱笆,栅栏,栏杆,护栏网,网围栏,厂家 - 河北稳重金属丝网制品有限公司 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 行吊_电动单梁起重机_双梁起重机_合肥起重机_厂家_合肥市神雕起重机械有限公司 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛婚外情取证-青岛王军侦探事务所 | 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | _网名词典_网名大全_qq网名_情侣网名_个性网名 | 西宁装修_西宁装修公司-西宁业之峰装饰-青海业之峰墅级装饰设计公司【官网】 | 定时排水阀/排气阀-仪表三通旋塞阀-直角式脉冲电磁阀-永嘉良科阀门有限公司 | 超声波焊接机_超音波熔接机_超声波塑焊机十大品牌_塑料超声波焊接设备厂家 | 鑫达滑石-辽宁鑫达滑石集团 | 锂离子电池厂家-山东中信迪生电源 | 双相钢_双相不锈钢_双相钢圆钢棒_双相不锈钢报价「海新双相钢」 双能x射线骨密度检测仪_dxa骨密度仪_双能x线骨密度仪_品牌厂家【品源医疗】 | HV全空气系统_杭州暖通公司—杭州斯培尔冷暖设备有限公司 | 冷镦机-多工位冷镦机-高速冷镦机厂家-温州金诺机械设备制造有限公司 | 真空泵维修保养,普发,阿尔卡特,荏原,卡西亚玛,莱宝,爱德华干式螺杆真空泵维修-东莞比其尔真空机电设备有限公司 | 金属切削液-脱水防锈油-电火花机油-抗磨液压油-深圳市雨辰宏业科技发展有限公司 | 步进电机_agv电机_伺服马达-伺服轮毂电机-和利时电机 | 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 深圳善跑体育产业集团有限公司_塑胶跑道_人造草坪_运动木地板 | 嘉兴恒升声级计-湖南衡仪声级计-杭州爱华多功能声级计-上海邦沃仪器设备有限公司 | 定制液氮罐_小型气相液氮罐_自增压液氮罐_班德液氮罐厂家 | 全自动在线分板机_铣刀式在线分板机_曲线分板机_PCB分板机-东莞市亿协自动化设备有限公司 | 山东限矩型液力偶合器_液力耦合器易熔塞厂家-淄博市汇川源机械厂 | 微型气象仪_气象传感器_防爆气象传感器-天合传感器大全 | 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 贴片电容-贴片电阻-二三极管-国巨|三星|风华贴片电容代理商-深圳伟哲电子 | 钢制拖链生产厂家-全封闭钢制拖链-能源钢铝拖链-工程塑料拖链-河北汉洋机械制造有限公司 | arch电源_SINPRO_开关电源_模块电源_医疗电源-东佑源 | 皮带机_移动皮带机_大倾角皮带机_皮带机厂家 - 新乡市国盛机械设备有限公司 | 排烟防火阀-消防排烟风机-正压送风口-厂家-价格-哪家好-德州鑫港旺通风设备有限公司 | 便携式表面粗糙度仪-彩屏硬度计-分体式粗糙度仪-北京凯达科仪科技有限公司 | 高温链条油|高温润滑脂|轴承润滑脂|机器人保养用油|干膜润滑剂-东莞卓越化学 | 防腐储罐_塑料储罐_PE储罐厂家_淄博富邦滚塑防腐设备科技有限公司 | 岩棉板|岩棉复合板|聚氨酯夹芯板|岩棉夹芯板|彩钢夹芯板-江苏恒海钢结构 | 油冷式_微型_TDY电动滚筒_外装_外置式电动滚筒厂家-淄博秉泓机械有限公司 | 生态板-实木生态板-生态板厂家-源木原作生态板品牌-深圳市方舟木业有限公司 | 重庆中专|职高|技校招生-重庆中专招生网 | 企业微信scrm管理系统_客户关系管理平台_私域流量运营工具_CRM、ERP、OA软件-腾辉网络 | 液压压力机,液压折弯机,液压剪板机,模锻液压机-鲁南新力机床有限公司 | 烟气换热器_GGH烟气换热器_空气预热器_高温气气换热器-青岛康景辉 |