首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CSS控件继承-继承其他控件样式

CSS控件继承-继承其他控件样式
EN

Stack Overflow用户
提问于 2009-03-13 02:06:41
回答 3查看 2.6K关注 0票数 1

我的问题有两个部分:

1)有没有办法在CSS中继承另一个控件的属性和样式?假设控件没有父/子层次结构,并且可以是完全不同的控件类型:

即:

代码语言:javascript
运行
复制
#MyFirstControl
{
  width: 100px;
}

#MySecondControl
{
  width: MyFirstControl.styles.width; /* This doesn't work */
}

2)假设一个标签标签是任何其他标签的子标签。width属性既不适用于"inherit“也不适用于"auto”。怎么了?

即:

代码语言:javascript
运行
复制
<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>
EN

回答 3

Stack Overflow用户

发布于 2009-03-13 02:19:28

第1部分:您希望使用类名而不是ids来控制样式:

代码语言:javascript
运行
复制
.control_a {
  width: 100px;
}

<blah id='MyFirstControl' class='control_a'/>
<blah id='MySecondControl' class='control_a'/>

这使您可以在任意数量的标签之间共享样式。此外,请记住,您可以在单个元素上使用多个类名:

代码语言:javascript
运行
复制
.control_a {
  width: 100px;
}

.red { background: #f00; }    
.blue { background: #00f; }

<blah id='MyFirstControl' class='control_a red'/>
<blah id='MySecondControl' class='control_a blue'/>

这使您可以为单个元素选择许多不同的样式源。

票数 2
EN

Stack Overflow用户

发布于 2009-03-13 02:22:14

没有办法继承CSS的“对象”。您可以从其他标签内的标签继承样式,但继承的是标签,而不是样式本身。如果将标签放在具有其他样式的标签内,则该标签将从该样式继承。

如果CSS样式被视为对象,这可能会很有趣,因为您可以避免许多编码,但由于您可以创建一个可以应用于不同类型的对象的类,甚至可以将多个类应用于一个标记,因此它比必要的更有趣。

我将不得不再玩一玩,看看我是否能弄清楚一些事情。

票数 1
EN

Stack Overflow用户

发布于 2009-12-01 03:25:44

1)由于CSS不允许自引用,您可以在同一样式中指定两个单独元素的共同方面:

代码语言:javascript
运行
复制
#MyFirstControl, #MySecondControl
{
  width: 100px;
}

2)如果我的集成开发环境和浏览器是可信的,那么在那个上下文中inherit不是width的有效值,但我不确定为什么。这可能就是你的例子不起作用的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/641217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档