CSS div风格 - 我应该使用class还是id?

时间:2009-07-13 16:02:25

标签: asp.net html css

我有一个div的转发器看起来有点像这样:

<div class="header_div">
    <!-- Content -->
</div>

我希望div的背景颜色根据div内容的动态属性而改变(让我们把它称为类别),但是我还是希望在我不这样做的情况下设置“header_div”样式有一个该类别的CSS类。这是最好的方法吗?

我能想到的最好的方法是将类别渲染为div的“id”并根据id应用样式,但这让我觉得非常混乱 - 标准要求id应该单独识别元素页面,每个类别肯定会有重复。

6 个答案:

答案 0 :(得分:6)

简单的答案是为&lt; div&gt;使用多个类。这样

<div class="header_div header_red">
    <!-- Content -->
</div>

<div class="header_div header_green">
    <!-- Content -->
</div>

答案 1 :(得分:2)

您对ID的独特性是正确的。 没有什么可以阻止你为每个类属性指定多个值 - 只需用空格分隔它们。

<div class="header_div category">
    <!-- Content -->
</div>

请注意检查两个类为同一样式指定不同值时会发生什么 - 我不能说第一个或第二个是否优先。

答案 2 :(得分:2)

您可以为div类提供多种样式:

<div class="header_div mystyle">
    <!-- Content -->
</div>

我相信在声明中稍后声明的样式会覆盖之前的样式。只要您确保自定义样式“阴影”header-div的那些样式,您就可以始终包含header-div元素,并且只有在任何辅助样式不存在(或为空)时它才会生效。

答案 3 :(得分:1)

如果要在页面上重复使用它,它应该是一个类。

如果它在页面上是唯一的,请使用ID。

答案 4 :(得分:0)

在不了解您的内容的情况下,您是否可以使用其中一个标题标记(<h1>等)?

您是对的,ID应该是唯一的,如果您想多次使用相同的样式,那么请使用一个类。

答案 5 :(得分:0)

您不能拥有重复的ID,因此如果您有多个相同类别的div,则会出现问题。当需要在单个页面上为一个或多个项目应用样式时,应使用类。

为什么不根据类别在div的数据绑定上分配类?当你的转发器被绑定时,找到你绑定的项目的div并分配它。

您也可以将div替换为asp:Panel并使用它的onDataBinding方法。它看起来应该与你的div完全一样。