我有一个div的转发器看起来有点像这样:
<div class="header_div">
<!-- Content -->
</div>
我希望div的背景颜色根据div内容的动态属性而改变(让我们把它称为类别),但是我还是希望在我不这样做的情况下设置“header_div”样式有一个该类别的CSS类。这是最好的方法吗?
我能想到的最好的方法是将类别渲染为div的“id”并根据id应用样式,但这让我觉得非常混乱 - 标准要求id应该单独识别元素页面,每个类别肯定会有重复。
答案 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完全一样。