不再使用class和id进行网页布局

2016-02-20 00:11 4 1 收藏

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的不再使用class和id进行网页布局,手机电脑控们准备好了吗?一起看过来吧!

【 tulaoshi.com - Web开发 】

  结合了富有新的语义化标记的HTML5,CSS3为web设计师们的网页提供了神一般的力量。有了HTML5的能量,我们将得到更多的对文档代码的控制权,有了CSS3的能量,我们的控制权将趋于无穷大!

  即使没有那些高级的CSS选择器,我们仍然可以通过强大的HTML5条调用不同的容器而不劳驾class和id这类属性。像以往的DIV布局,我们在css中可能要这样调用:

1
2
3
4
5
6
7
div#news    {}
div.section {}
div.article {}
div.header  {}
div.content {}
div.footer  {}
div.aside   {}

我们再来看看基于HTML5的实例:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/) 1
2
3
4
5
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了:

1
body nav+section {}

定位下一个section元素
作为最外层section元素下的唯一直属子集元素,这个section元素也许可以这样定位:

1
sectionsection {}

定位article元素
可以定位article元素的方法有很多,不过最简单的方法当然就是后代选择器了:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/) 1
section section article {}

定位header、section和footer元素
这三个元素分别在两个地方都出现过,一是在article元素中出现,另一是在aside元素中出现。这种差别能让我们轻松定位每个元素。

1
2
3
article header {}
article section {}
article footer {}

或者一起定义:

1
2
3
section section header {}
section section section {}
section section footer {}

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

来源:https://www.tulaoshi.com/n/20160220/1631443.html

延伸阅读
标签: Web开发
在前几日的文章中我提到过XHTML的重要性,在那篇文章中我讲了为什么说XHTML结构重要,重视XHTML结构的好处。但是那篇文章从开发的效率入手,并没有深入细节,而今天的这篇文章是讲XHTML中的细节部分的,可以说是上一篇的续述。这篇续述的主题就是ID与CLASS怎么用,在标题中有提及使用原则与技巧,这里的使用原则与技巧是我的经验总结,并非摘自...
标签: Web开发
class是设置标签的类 id是设置标签的标识 class属性用于指定元素属于何种样式的类。 如样式表可以加入 .baobao { color: lime; background: #ff80c0 } 使用方法:class="baobao" id属性用于定义一个元素的独特的样式。如一个CSS规则#binbin { font-size: larger } 使用方法:id="binbin" id是一个标签,用于区分不同的结构和内容,就象你...
标签: Web开发
符合WEB标准的CSS网页布局相对于传统TABLE布局的一些优势: 一、代码臃肿 首先,Table里面唯一无法用CSS定义的属性只有Cellspacing,Cellpadding几个,其它属性都可以并且应当使用CSS,这样,剩下的,就是tabletrtd和div的对决,我相信一个动辄几十K大小的网页,即使使用了几十个Table,因此多出来的代码也可以忽略不计,那些埋...
在CSS初级教程中我们仅仅考虑了HTML选择符──以HTML标签形式出现。你当然可以用类选择符class和标识选择符id来定义自己的选择符。这样做的好处是,依赖于class或者id,你可以不同地表现相同的HTML元素。 在CSS中,类选择符在一个半角英文句点(.)之前,而id则在半角英文井号(#)之前。 看起来像这样: #top { background-colo...
标签: Web开发
以前看过一些类似的文章,但这些文章文字在理论上阐述得比较多,没有从技术角度来分析和实现滑动门效果,前段时间心血来潮对此作了一番专门的研究,这里就把我的所得奉献给大家。 一、什么是滑动门技术? 导航按钮 如上图,简单地说,滑动门技术就是:当点击页面上的导航按钮后这个导航按钮的CSS特性发生变化,从而区...

经验教程

559

收藏

16
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部