【问题标题】:Can inline CSS apply to child elements nested in the styled element?内联 CSS 可以应用于嵌套在样式元素中的子元素吗?
【发布时间】:2014-01-04 08:22:26
【问题描述】:

简而言之就是这个问题:

  • 我想将样式 vertical-align: top 应用到表格中的每个 <tr>而不手动将样式应用到每一行。
  • 我必须使用内联 CSS,因为我在 wiki 上,所以我无法编辑 外部样式表,或编辑 <head> 以嵌入样式。
  • 当我将样式属性添加到<table> 标记时,该样式似乎没有传递给它的子元素。 (我知道这几乎总是一件好事。)
  • 我不能使用<style><!--...--></style>,因为这不是 MediaWiki 页面上允许的标签。

我应该放弃将style="vertical-align: top 添加到每个<tr>,还是仍然是我忽略的解决方案?

编辑:删除了一大堆背景信息,以便将问题限制在问题标题所暗示的范围内。

【问题讨论】:

  • 除了使用 javascript,我想不出什么了。
  • 这个问题尤其与 MediaWiki 页面有关。您也不能在 MediaWiki 页面上使用内联 javascript。

标签: html css


【解决方案1】:

内联 CSS 可以应用于嵌套在样式元素中的子元素吗?

不直接。

间接地,仅当子元素在其现有样式表中设置了that-property: inherit

【讨论】:

    【解决方案2】:

    我对这个问题的兴趣来自不同的背景,特别是对 html 电子邮件的样式。由于 CSS 无法添加到 gmail 中的电子邮件头部(信不信由你),所以一致地应用电子邮件样式的唯一方法是内联。

    这个问题的答案是否定的,在我知道的这个或任何其他情况下,没有可接受的方法来规避这个问题。在处理此类问题时,考虑您尝试应用的样式应该是“例外”还是“规则”会很有帮助,即如果 90% 的 td 是垂直对齐的顶部,则应该只应用风格作为一项规则,并通过并纠正 10%。执行此操作时,务必明确指定例外情况,最好使用引用“规则”的注释块。

    关于支持什么 css 以及在哪里非常有用的完整参考:http://www.campaignmonitor.com/css/

    【讨论】:

    • 谢谢 - 我确实是在同样的背景下看待这个问题
    【解决方案3】:

    我不熟悉 Wiki,但您可以创建一个类并将样式应用于该类中的所有子节点吗?

    所以...

    <style type="text/CSS"><!-- SomeClass tr { vertical-align: top } --></style>
    
    <table class="SomeClass">
    
    </table> 
    

    值得一试吗?

    【讨论】:

    • 哦。事实证明,&lt;style&gt; 可以完美地出现在普通 HTML 页面的正文中,正如您所建议的那样。 但是, &lt;style&gt; 不是 Mediawiki 语法中允许的标签,这是我的问题。谢谢!
    • 我遇到了类似的问题。我有一个 MediaWiki 页面,上面有一个大表格,我需要将第二列中的文本居中。如果我可以使用
    【解决方案4】:

    使用以下:

    <style type="text/css">
    
    table tr td {
       vertical-align:top;
    }
    
    </style>
    

    【讨论】:

    • 这个问题明确提到了内联样式。
    猜你喜欢
    • 2011-07-25
    • 2010-10-12
    • 1970-01-01
    • 2019-05-20
    • 1970-01-01
    • 1970-01-01
    • 2011-01-20
    相关资源
    最近更新 更多