当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > 不使用class和id进行网页布局的方法

CSS样式表
CSS网页设计 IE8和IE7共存
CSS2 打印属性让打印HTML文档不出问题
制作网页中设计段落缩进的方法
CSS border 属性使用说明
CSS border-style 属性使用方法
CSS border-color 属性使用方法
CSS border-width 属性使用教程
CSS padding属性定义边内补白
CSS margin 属性定义边外补白
网页布局教程 掌握CSS网页布局属性
css 背景样式属性说明
span margin 设置生效
html 滚动条在IE6和IE7中兼容性问题
IE6 两个div有间隙的问题(IE 3px bug)
CSS 数字和字母将容器撑大问题解决
换个角度看页面重构中的语义化
DIY属于个人开发使用的CSS Reset
CSS 空格引起网页布局间距问题
CSS 网页制作时遇到问题的快速参考技巧
css li 去掉点的样式写法

CSS样式表 中的 不使用class和id进行网页布局的方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 62 ::
收藏到网摘: n/a

结合了富有新的语义化标记的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的情况下定位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>了:

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呢?我很高兴你能这么问…