【问题标题】:CSS text-decoration hierarchy [duplicate]CSS文本装饰层次结构[重复]
【发布时间】:2013-07-11 05:25:15
【问题描述】:

抱歉,如果这是重复的,但我是一个 CSS 新手,我什至不知道要搜索什么。

我正在尝试通过添加span 来修改块内的文本装饰,但它不起作用。怎么来的?我可以在span 中添加新的文本装饰,但不能减去旧的。

<h1 class="strikethrough">
    stricken<span class="no-strikethrough"> no strike</span>
</h1>

http://jsfiddle.net/zV3ga/2/

有什么方法可以实现我的目标吗?我想继承 h1 的所有属性 除了 文本装饰,所以我真的更喜欢在那个标签内有我的“无罢工”文本。

【问题讨论】:

    标签: css


    【解决方案1】:

    我不知道为什么这些人说这不可能。这完全可以通过 CSS 实现。

    http://jsfiddle.net/austinpray/y5bRS/

    .strikethrough {
        text-decoration: line-through;
        color: blue;
    }
    
    .no-strikethrough {
        display:inline-block;
        text-decoration: none;
        color: red;
    }
    .no-strikethrough:before {
        content: '\00a0';
    }
    

    【讨论】:

    【解决方案2】:

    我认为您正试图保持第一部分用 atrile 和第二部分没有罢工。

    这样做

    <h1>
        <span class="strikethrough">stricken</span> no strike
    </h1>
    

    还有一件事。 如果您只是在 CSS 中使用连字符,那么在类名中使用连字符很好,但是当您转向 Javascript 时会导致问题(据我所知)。所以就这样练习吧

    【讨论】:

    • 事实证明,我知道的 JS 比 CSS 多。类名中的连字符不会比 CSS 属性中的连字符造成任何困难(例如,text-decoration)——而且这个特定的站点无论如何都是完全静态的。
    • 并且 +1 是显而易见的答案。它对某些人不起作用,但对我来说很好。
    【解决方案3】:

    您不能以当前形式执行此操作,您正在对作为 span 的父级的 H1 进行罢工,您不能让孩子反转它。

    【讨论】:

    • 不幸的是,情况就是这样。可以把它想象成对

      应用边框,然后在 &lt;span&gt; 上指定无边框,!important 关键字将无济于事,因为从技术上讲,&lt;span&gt; 从来没有边框开始。

    【解决方案4】:

    删除线适用于整个父元素。它呈现了父级的全宽,没有办法为孩子“关闭”。

    有什么理由不使用 HTML 标记?

    &lt;h1&gt;Partial &lt;strike&gt;stricken&lt;/strike&gt;&lt;/h1&gt;

    HTML5:

    &lt;h1&gt;Partial &lt;del&gt;stricken&lt;/del&gt;&lt;/h1&gt;

    【讨论】:

    • +1 转到此答案。快速简单。
    • 使用 CSS 而不是 HTML 标记的常见原因难道不是一个足够好的理由吗?
    【解决方案5】:
    <h1 >
        <span class="strikethrough">stricken</span><span class="no-strikethrough"> no strike</span>
    </h1>
    

    【讨论】:

    • 呃!谢谢 - 这将适用于我的情况。
    【解决方案6】:

    不知道对你有用没

    <h1 class="no-strikethrough">
       <span class="strikethrough">stricken</span> no strike
    </h1>
    

    【讨论】:

      【解决方案7】:

      试试这是最优化的方法

      <h1>stricken
          <span class="test">no strike</span>
      
      </h1>
      
      .test {
          text-decoration: line-through !important;
          color: blue;
      }
      
      h1  {
          text-decoration: none;
          color: red;
      }
      

      【讨论】:

        猜你喜欢
        • 2019-01-09
        • 1970-01-01
        • 2012-04-10
        • 2013-01-12
        • 2012-09-30
        • 2017-06-11
        • 1970-01-01
        • 2013-07-04
        • 1970-01-01
        相关资源
        最近更新 更多