我的问题有两个部分:
1)有没有办法在CSS中继承另一个控件的属性和样式?假设控件没有父/子层次结构,并且可以是完全不同的控件类型:
即:
#MyFirstControl
{
width: 100px;
}
#MySecondControl
{
width: MyFirstControl.styles.width; /* This doesn't work */
}2)假设一个标签标签是任何其他标签的子标签。width属性既不适用于"inherit“也不适用于"auto”。怎么了?
即:
<style>
div
{
width: 100px;
}
</style>
<div>
<!-- This label does what it wants for width. It's not the width of the containing div -->
<label style="width: inherit">Some Text</label>
<div>发布于 2009-03-13 02:19:28
第1部分:您希望使用类名而不是ids来控制样式:
.control_a {
width: 100px;
}
<blah id='MyFirstControl' class='control_a'/>
<blah id='MySecondControl' class='control_a'/>这使您可以在任意数量的标签之间共享样式。此外,请记住,您可以在单个元素上使用多个类名:
.control_a {
width: 100px;
}
.red { background: #f00; }
.blue { background: #00f; }
<blah id='MyFirstControl' class='control_a red'/>
<blah id='MySecondControl' class='control_a blue'/>这使您可以为单个元素选择许多不同的样式源。
发布于 2009-03-13 02:22:14
没有办法继承CSS的“对象”。您可以从其他标签内的标签继承样式,但继承的是标签,而不是样式本身。如果将标签放在具有其他样式的标签内,则该标签将从该样式继承。
如果CSS样式被视为对象,这可能会很有趣,因为您可以避免许多编码,但由于您可以创建一个可以应用于不同类型的对象的类,甚至可以将多个类应用于一个标记,因此它比必要的更有趣。
我将不得不再玩一玩,看看我是否能弄清楚一些事情。
发布于 2009-12-01 03:25:44
1)由于CSS不允许自引用,您可以在同一样式中指定两个单独元素的共同方面:
#MyFirstControl, #MySecondControl
{
width: 100px;
}2)如果我的集成开发环境和浏览器是可信的,那么在那个上下文中inherit不是width的有效值,但我不确定为什么。这可能就是你的例子不起作用的原因。
https://stackoverflow.com/questions/641217
复制相似问题