【问题标题】:Create Line Breaks in Data Description [duplicate]在数据描述中创建换行符[重复]
【发布时间】:2013-05-26 12:52:25
【问题描述】:

我有使用数据描述在页面上显示文本的 CSS。

代码:

CSS

#nav a:after { 
      text-align:center; 
      content: attr(data-description); 
      display: block;
}

HTML

<li><a data-description="The Thinking Man,The Artist, The Philosopher"  href="#">The Renaissance Man</a></li>

我遇到的问题并且我想做的是让句子的每个部分都在线。换句话说

The Thinking Man
The Artist
The Philosopher 

但是当我插入&lt;br /&gt; 时,它不会创建中断,它只会在代码中显示&lt;br /&gt;。如何使用以下代码在数据描述中创建换行符?

【问题讨论】:

  • 添加一些width怎么样?
  • @Vucko - 这不起作用,因为 1) 它会偏离正文下方描述的中心。 2)当它应该是下一行时,我仍然在一行上留下the。需要休息一下。

标签: css html line-breaks


【解决方案1】:

content 属性永远不会将您的 Html 解释为标记,因此您需要另辟蹊径。

一种方法是转义换行符并在伪元素中设置white-space: pre;。该值是“preserves”的缩写,表示换行符将由浏览器呈现。

The Thinking Man,\AThe Artist,\AThe Philosopher

View on JSFiddle

有关 white-space 属性的更多信息,refer to the MDN article on it.

有关在content 中转义新行的更多信息,请查看CSS2 specs on strings

【讨论】:

    【解决方案2】:

    可以通过将\Awhite-space:pre-wrap; 组合来添加新行,例如:

    p:after {
        content:"Line 1\ALine 2";
        white-space:pre-wrap;
    }
    
    /* Line 1
     * Line 2 */
    

    JSFiddle example.

    不幸的是,您似乎无法使用 attr() 执行此操作。

    <p data-description="Line 1\ALine 2"></p>
    
    p:after {
        content:attr(data-description);
        white-space:pre-wrap;
    }
    
    /* Line 1\ALine 2 */
    

    JSFiddle example.

    您可以做的就是使用多个 data-* 属性:

    <p data-description1="Line 1" data-description2="Line 2"></p>
    
    p:after {
        content:attr(data-description1) "\A" attr(data-description2);
        white-space:pre-wrap;
    }
    
    /* Line 1
     * Line 2 */
    

    JSFiddle example.

    不过,我不知道这是否可以解决您的问题。

    【讨论】:

    • 啊,是的,看看那个。好答案!
    • 感谢您的详细回答。最后一个解决方案&lt;p data-description1="Line 1" data-description2="Line 2"&gt;&lt;/p&gt; 看起来是最好的解决方案。
    • 问题:当使用 `white-space:pre-wrap;` 时,它可以工作但是下拉列表现在有大量空间。我不能让空间不在那里。我尝试将white-space:normal; 添加到其他CSS,但它不起作用。想法?
    • @Lynda 你可以试试prepre-line 而不是pre-wrap。不幸的是,\A 依赖于 white-space 属性而不是折叠空白。 w3.org/TR/CSS21/generate.html
    猜你喜欢
    • 2017-01-22
    • 2013-11-19
    • 1970-01-01
    • 2015-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-16
    相关资源
    最近更新 更多