美文网首页
CSS中如何正确的使用 id 和 class?

CSS中如何正确的使用 id 和 class?

作者: 培训机构 | 来源:发表于2016-12-29 11:00 被阅读41次

CSS中如何正确的使用 id 和 class?

今天有点闲,想向大家请教一下id和class的使用。

按照字面的意思,id是指一个元素在整个文档中的ldquo;唯一标志rdquo;,而class则是它所属的ldquo;类别rdquo;。按照语法,同名的id在一个文档里只应该出现一次,而class名可重复使用。

但是在具体使用的时候,哪些样式该用id,哪些样式改用class呢?有个答案很简单:

那些只会在页面中出现一次的元素应该用id来表示。比如页头(header)

页尾(footer),导航菜单(main-menu)等。但是真的这么简单么?

IT教育平台先举几个例子来说明我所遇到的尴尬:

大多数的页面都是两栏布局的:一个主栏(main column),一个侧栏(side column)。就像这样:

OK,我们会用两个div来表示它们。问题来了,应该使用id还是class?按照常规的理解,一个页面只会有一个主栏,一个侧栏咯,所以当然应该用id。文档写成这:

div id=main-col/div

div id=side-col/div

main-col { float: left; width: 700px;}

side-col { float: right; width: 200px; }

也是很赏心悦目的,不是么?所以我决定用id。

于是页面做好了,网站做好了,上线了,运营了,访问量大了。这时候公司决定,嗯,我们应该在一些页面中加几个通栏广告。ldquo;通栏rdquo;哦!这就意味着它必须横跨主栏和侧栏,把它们俩拦腰截断。于是我们重新ldquo;发明rdquo;一个样式:banner,让banner来一个clear:both;

然后放到页面中间去阻止掉两个栏的浮动。然后再在banner的后面继续分两栏。下面是示意图:

所以HTML应该是这样:

div id=main-col/div

div id=side-col/div

div class=banner/div

div id=main-col/div

div id=side-col/div

问题轻松解决(多亏偶经验丰富啊,表扬一下自己,咔咔。)。唯独只有一个问题:main-col和side-col这两个id重复了。这个问题其实也不麻烦,把它们全部改成class不就好啦(甚至,不去改它,我就不信浏览器会给我报错,哼)。

但是,我这不是自己给了自己一个嘴巴么?当初还信誓旦旦的说,main-col只会出现一次,所以用idhellip;hellip;。所以教训就是,main-col和side-col,或是left-col,

right-col ,extra-col, xxx-col,这些用来分栏布局的样式,都给我用class。嗯,记在本本上。

设计页面的时候,在页头和主菜单之间放了一个搜索框(search-box)。既然我们的页头(header),导航栏(main-menu),登录框(login-box)都用的是id,和它们在一起的search-box也应该用id咯?呃,小心啊,老板很可能会让你在页尾也放一个搜索框的,你用id你就死定了。所以search-box应该用class。不过这样怪怪的,凭什么login-box用id,而search-box却用class呢?

慢着,你以为导航栏就可以保证唯一了么?我来讲一个例子:

喏,老板要来一点不同的,让把导航栏放在左侧。这个没问题,用一个ul就搞定拉。我把它的id设置成main-menu但是过了一会儿,他说,嗯,为了可用性(咳咳。。),我们需要把菜单分成两部分。就像:

呃。。好说,分成两个ul就好了。但是,它们的id都叫main-menu么??哎,老问题又来了。

相关文章

  • CSS中如何正确的使用 id 和 class?

    CSS中如何正确的使用 id 和 class? 今天有点闲,想向大家请教一下id和class的使用。 按照字面的意...

  • 近期学习前端疑问解读(持续更新)

    CSS 的 ID 和 Class 有什么区别?如何正确使用它们? https://www.zhihu.com/qu...

  • 任务7

    1.class和id的使用场景? 在css中id用"#"表示,class用"."表示,在一个html中id只能为一...

  • CSS 选择器

    CSS 选择器 id 和 class 的使用场景 id 具有唯一性,class 具有普遍性,可以多次使用。 id ...

  • CSS选择器

    1.class 和 id 的使用场景? class使用场景:CSS操作,把一些特定样式放到一个class类中,需要...

  • css选择器

    class 和 id 的使用场景? id选择器,使用id="name"定义,使用#name调用来设置此id的css...

  • css选择器整理

    class 和 id 的使用场景? 在CSS文件里书写时,ID加前缀"#";CLASS用"." id一个页面只可以...

  • CSS选择器

    1.class 和 id 的使用场景? class是类,用于CSS,可以多个HTML标签复用。id是HTML标签的...

  • 前端css命名规范

    1,10 命名规范 如何命名 • css最好用class来命名,js用id来命名,已做区分 • id和class的...

  • CSS . .

    class和id 同一个class属性可以出现多次 添加给不同的元素使用 用 .class 来添加css样式而id...

网友评论

      本文标题:CSS中如何正确的使用 id 和 class?

      本文链接:https://www.haomeiwen.com/subject/kiwuvttx.html