HTML5+CSS3,HTML5 css

  HTML5+CSS3,HTML5 css

  网页设计师可以使用HTML4和CSS2.1来完成一些很酷的事情。我们可以完成文档的逻辑结构,创建内容丰富的网站,而不用使用旧的基于表格的布局。我们可以在不使用内嵌字体和br标签的情况下,为网站添加漂亮精致的风格。事实上,我们现在的设计能力已经让我们远离了那个可怕的浏览器战争时代,专有协议和那些充斥着闪烁、滚动、闪烁的丑陋网页。

  虽然我们现在已经广泛使用HTML4和CSS2.1,但是我们还可以做得更好!我们可以重新组织代码的结构,使页面代码更具语义性。我们可以减少给页面带来漂亮外观的代码量,使它们更具可扩展性。现在,HTML5和CSS3已经迫不及待的等着大家了。让我们看看他们是否真的能把我们的设计提升到一个新的水平…

  过去,设计师经常频繁地使用没有任何语义的基于表格的布局。然而最终,多亏了像Jeffrey Zeldman和Eric Meyer这样的创新者,聪明的设计师慢慢接受了相对更有语义的div布局,而不是表格布局,并开始调用外部样式表。不幸的是,复杂的网页设计需要大量不同的标签结构代码,我们称之为“div-soup”综合症。也许你对下面的代码很熟悉:div id=news

  复制代码如下:

  div class=section

  div class=" article "

  div class=header

  h1Div汤演示/h1

  反对于2009年7月11日/p

  /div

  div class=内容

  pLorem ipsum文本等等等等。/p

  pLorem ipsum文本等等等等。/p

  pLorem ipsum文本等等等等。/p

  /div

  div class=页脚

  pTags: HMTL,代码,演示/p

  /div

  /div

  div class=闪开

  div class=header

  h1切线信息/h1

  /div

  div class=内容

  pLorem ipsum文本等等等等。/p

  pLorem ipsum文本等等等等。/p

  pLorem ipsum文本等等等等。/p

  /div

  div class=页脚

  pTags: HMTL,代码,演示/p

  /div

  /div

  /div

  /div

  虽然这有些勉强,但上面的例子还是能说明用HTML4编码一个复杂的设计还是太臃肿了(其实xHTML1.1也不过如此)。然而,令人兴奋的是,HTML5解决了“div-soup”综合症,并为我们带来了一组新的结构元素。这些新的HTML5元素富含更详细的语义,从而取代了那些没有语义的div标签,同时为CSS调用提供了“自然的”CSS钩子。

  以下是HTML5解决方案的示例:部分

  复制代码如下:

  部分

  文章

  页眉

  h1Div汤演示/h1

  反对于2009年7月11日/p

  /页眉

  部分

  pLorem ipsum文本等等等等。/p

  pLorem ipsum文本等等等等。/p

  pLorem ipsum文本等等等等。/p

  /部分

  页脚

  pTags: HMTL,代码,演示/p

  /页脚

  /文章

  在旁边

  页眉

  h1切线信息/h1

  /页眉

  部分

  pLorem ipsum文本等等等等。/p

  pLorem ipsum文本等等等等。/p

  pLorem ipsum文本等等等等。/p

  /部分

  页脚

  pTags: HMTL,代码,演示/p

  /页脚

  /抛开

  /部分

  /部分

  正如我们所看到的,HTML5允许我们用许多更具语义结构的代码标签来替换大量无意义的div标签。这个语义特性不仅提高了我们网页的质量和语义,还大大减少了代码中用于调用CSS的class和id属性。实际上,CSS3可以通过我们忽略所有类和id。

  跟class属性说再见,欢迎整洁的标签

  与带有新语义标记的HTML5相结合,CSS3为网页设计者的网页提供了神力。有了HTML5的能量,我们将获得对文档代码更多的控制权,有了CSS3的能量,我们的控制权将趋于无穷大!

  即使没有那些高级的CSS选择器,我们仍然可以通过强大的HTML5调用不同的容器,而不用费心处理诸如class和id之类的属性。像前面的DIV布局一样,我们可以在css中这样调用它:div#news {}

  复制代码如下:

  分区{}

  div.article {}

  div.header {}

  div.content {}

  div.footer {}

  div.aside { }

  让我们再来看看基于HTML5的例子:section {}

  复制代码如下:

  文章{}

  标题{}

  页脚{}

  旁白{}

  这是进步,但仍有一些问题需要解决。在div实例中,我们需要通过class或id属性调用页面中的元素。这种逻辑允许我们将样式应用于文档中的任何元素,无论是整体还是个体。例如,在div实例中。部分和。内容元素很容易定位。但是,在HTML5实例中,实际的文档中会有许多section元素。实际上,我们可以添加一些特定的属性选择器来调用那些不同的section元素,但谢天谢地,我现在不能使用一些高级的CSS选择器来定位不同的section元素。

  查找没有类和id的HTML-5元素

  让我们看看如何在不使用类和id的情况下定位HTML5页面元素的实例。我们可以使用三个CSS选择器来定位和识别实例中的元素。如下所示:

  选择器:[CSS 2.1]: EF

  兄弟选择器:[CSS 2.1]: E F

  子选择器:[CSS 2.1]: E F

  让我们看看如何在不使用类和id的情况下在文档中定位那些节元素:

  找到最外面的截面元素。

  考虑到我们的例子不是一套完整的HTML5代码,我们假设body元素下有一个nav元素,section元素是兄弟元素。这样,我们可以像下面的代码一样定位最外层。

  部分:

  复制代码如下:

  正文导航部分{}

  定位下一个节元素

  作为最外面的section元素下的唯一直接子集元素,该section元素可以如下定位:

  复制代码如下:

  sectionsection {}

  定位article元素

  有许多方法可以定位文章元素,但最简单的方法当然是后代选择器:

  复制代码如下:

  第节第节文章{}

  定位页眉、节和页脚元素

  这三个元素出现在了两个地方,一个在文章元素,一个在旁注元素。这种差异使我们能够轻松定位每个元素。

  复制代码如下:

  文章标题{}

  文章部分{}

  文章页脚{}

  或者一起定义:

  复制代码如下:

  章节章节标题{}

  第节第节{}

  章节章节页脚{}

  到目前为止,我们已经使用CSS2.1选择器排除了所有的类和id。那么为什么我们还需要使用CSS3呢?我很高兴你问了…

  使用CSS3的HTML5元素的高级定位

  虽然我们已经使用了CSS2.1选择器来排除所有的类和id,但显然还会有很多更复杂的情况需要CSS3的高级选择器来解决。让我们通过完成下面的例子来学习如何使用CSS3定位页面元素,而不使用无用的class和id属性。

  使用一个唯一的日志 (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元素组成。为了定位指定的部分或文章元素,我们必须使用强大的“:n-child”选择器:

  复制代码如下:

  section:n-child(1){ }/*选择第一节*/

  article:n-child(1){ }/*选择第一篇文章*/

  section:n-child(2){ }/*选择第二节*/

  article:n-child(2){ }/*选择第二篇文章*/

  类似地,我们可以使用“:n-last-child”选择器以相反的顺序定位一些元素。

  复制代码如下:

  section:n-last-child(1){ }/*选择最后一节*/

  article:n-last-child(1){ }/*选择最后一篇文章*/PP section:n-last-child(2){ }/*选择倒数第二节*/

  article:n-last-child(2){ }/*选择倒数第二篇文章*/

  以更多方式选择指定元素。

  在HTML5中选择指定元素的另一种方法是利用“:only-of-type”选择器。因为这些HTML5元素通常在许多地方出现不止一次,所以当我们想要定位在父元素下只出现一次的标签时,这种方法很方便。比如我们要选择的是某个元素中的唯一元素,比如下面的代码:

  复制代码如下:

  部分

  部分/部分

  部分

  区段定位此区段元素/区段。

  /部分

  部分

  区段定位此区段元素/区段。

  /部分

  部分

  区段找不到此区段元素/区段。

  并且该部分元素/部分

  /部分

  部分/部分

  /部分

  我们可以只使用下面的一行选择器:

  复制代码如下:

  sectionsection:仅类型{}的

  同样,您可以固执地将ID属性添加到每个元素中,但您将失去代码的可扩展性、可维护性和绝对简单性,这将结构与性能分离开来。CSS3真的可以让我们快速方便的定位几乎所有没有ID和class属性的页面元素。

  摘要

  相信随着时间的推进和更多浏览器的支持,HTML5和CSS3会越来越普及。他们会给网页设计师带来更多无穷的能量,让我们的网页前端更上一层楼。(文/幽灵战士)

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: