关于CSS,为什么我一个ID可以给很多个标签定义样式啊? 正常吗?

html-css010

关于CSS,为什么我一个ID可以给很多个标签定义样式啊? 正常吗?,第1张

ID给很多个标签定义样式是不正常的。页面存在多个相同的ID影响就是不能通过W3的校验。

在页面显示上,目前的浏览器还都允许犯这个错误,用多个相同ID“一般情况下”也能正常显示。但是当你需要用JavaScript通过id来控制这个div,那就会出现错误。

id是一个标签,用于区分不同的结构和内容,就象人的名字,如果一个屋子有2个人同名,就会出现混淆;

class是一个样式,可以套在任何结构和内容上,就象一件衣服;

概念上说就是不一样的:

id是先找到结构/内容,再给它定义样式;class是先定义好一种样式,再套给多个结构/内容。

也就是说建议在写XHML+CSS时如果是唯一的结构定位的就用id,否则就用class。

用逗号隔开,例如:

#a,#b,#c,#d{width:200px}

如果是用class,也是用逗号隔开,例如:

.a,.b,.c,.d{width:200px}

属性:通过属性的复杂叠加才能做出漂亮的网页。

选择器:通过选择器找到对应的标签设置样式

标签选择器:就是用标签名来当选择器

1>所有的标签都能做选择器,例如:div、p、 ul、 li、 a、 span、body等等

2>不管这个标签藏的多深,都能够被选择上。

3>选择的整个界面所有的标签,而不是某个,是共性而不是特性

比如说火狐浏览器中的 li 里面所有的 a 标签去掉下划线

# 表示选择 id 选择器

1>任何标签都可以有 id ,命名方式要以字母开头,区分大小写

2>同一页面内 id 不可重复,即使是不一样的标签,也不允许相同的 id

. 表示类选择器 与 id 选择器类似,但是类选择器可以重复,比如说很多标签都有 aa 这个类

css里面用 . 来表示类

同一标签,可能同时属于多个类,用空格隔开.说明 div 同时属于 bb 和 cc 类

<div class = @"bb cc">我是bbcc</div>

错误方式:

<div class = @"bb" class="cc">我是bbcc</div>

思路:提供公共类,再根据相应的类名,去设置相应的样式。

在根据每个标签,去选取自己想要的类。