【问题标题】:Multiple content: attr() values多个内容:attr() 值
【发布时间】:2014-08-17 03:42:07
【问题描述】:

我试图在我的元素中显示 2 件事; class 名称和自己创建的 data-size 变量。用一个空格分隔。

我可以这样做:

.element:before {
   content: attr(class);
}

.element:after {
   content: attr(data-size);
}

但这似乎不是正确的方法。我也尝试过这样做:

.element:before {
   content: attr(class data-size);
}

但这也不起作用。

输入

HTML

<div class="element" data-size="20"></div>

CSS

.element:before {
    content: attr(class data-size);
}

想要的输出

元素 20

Demo here

【问题讨论】:

  • 试试attr(class)" "attr(data-size)

标签: html css pseudo-element css-content


【解决方案1】:

要在 CSS 中连接两个或多个字符串值,separate them with whitespace

.element:before {
    content: attr(class) ' ' attr(data-size);
}

请注意,attr() 函数和引号之间的空格与引号中的空格 不同。后者是一个包含空格字符的实际字符串,它将分隔输出中的两个属性值。三部分之间的空格是将它们连接在一起的运算符。

【讨论】:

  • 谢谢你,我可以接受你的回答。我可以随心所欲地这样做吗?我也可以在这里放其他东西吗?
  • @Bas:是的,您可以使用任意数量的字符串来执行此操作。你也可以放置任何你想要的字符串,只要你把它放在引号里,例如content: attr(data-foo) ' abc';
  • 啊好吧,不知道。是否也可以插入新行?
  • @Bas:是的,插入换行符使用'\A'。您需要将white-space: prepre-wrap 添加到您的规则中,以使其实际呈现换行符。这是一个演示:jsfiddle.net/BoltClock/vD4E3/9
  • 由于某种原因这不起作用:content: attr(class) '\A' attr(data-size);
猜你喜欢
  • 1970-01-01
  • 2015-04-02
  • 2014-02-26
  • 2014-10-05
  • 1970-01-01
  • 2020-11-11
  • 2019-07-14
  • 2019-03-09
  • 1970-01-01
相关资源
最近更新 更多