【发布时间】:2013-06-14 22:57:00
【问题描述】:
根据 W3Schools CSS 注释,如果您在元素上使用 ID,则为该 ID 定义的 CSS 样式(使用#id_name)应该只适用于该元素,这就是您应该如何设置元素的样式出现一次。
我有一个网站,其中包含一个显示表(实际的表格数据,它是不同分类的电话号码网格)。所以我把表格放在一个 div 中,并将 div 设置为有一个 ID。然后我在 stylesheep 中为 ID 定义了样式。
HTML:
<div id='phone_number_grid'>
<table>
...
</table>
</div>
CSS:
#phone_number_grid table {
border-collapse: collapse;
}
#phone_number_grid th,td {
border: 1px solid #000040;
background-color: #ccccff;
padding: 5px;
}
该样式在它打算用于的表上完美运行,但它也影响了一个完全不同的表,它没有类或 id 设置,并且包含在一个完全不相关的 div 中,它有自己的(完全不相关的)类设置,on使用相同样式羊的不同页面。
如何阻止#phone_number_grid 样式影响不相关的表格?
请注意,我之前在 div 上使用类 ID 尝试过同样的事情,结果相同 - 样式“泄漏”到其他未提及它们的表上。
Q1:为什么这些样式会应用到不引用它们的元素上?
Q2:有没有一种 CSS 方式来表示“根本不对这个特定元素应用任何样式”?
【问题讨论】:
-
不要相信 w3schools!
-
您是说您的样式实际上是(等等...)级联的?
-
样式羊?我知道这是一个错字,但那是 BAA-D!
-
我曾经在一家名为“Black Sheep”的哥特俱乐部做DJ。 CSS 文件真正称为 stylesheep.css。 :)
标签: css css-selectors