css - style span 仅在 div 的第一行

标签 css css-selectors

我有以下 html:

<div class="pp">TWO <span>WORDS</span>
</div> 

我想用“@”分隔它们,但前提是它们在同一行。 我不想使用任何 JS,只使用 CSS。

这是行不通的:

.pp{
    width:20%;
}
.pp::first-line  span:before{
    content: " @ "
}

我想不出另一个主意。

请注意,我希望同一个元素具有或不具有 @ 取决于它是否出现在同一车道上。例如

TWO @ WORDS

但是

TWO
WORDS

根据窗口的大小,当 20% 不能容纳两个 @WORDS 时,WORDS 排在第二行,然后我希望“@”消失

最佳答案

最明显的解决方案是使用两个跨度(文本无论如何都应该在文本标签中而不是文本节点中)。

然后您可以定位第二个 child 并使用:before

.pp {
  width: 20%;
}
.pp span:nth-child(2):before {
  content: '@';
}
<div class="pp">
  <span>TWO</span>
  <span>WORDS</span>
</div>

<div class="pp">
  <span>ONE</span>
</div>

关于css - style span 仅在 div 的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29254687/

相关文章:

html - 页面底部的小线

html - &lt;!DOCTYPE html> 破坏了我的页面!为什么?

CSS容器不会居中

html - 悬停元素时更改列表 (ul) 的所有其他元素 li 的 css 属性

CSS first-child 选择器不选择第一个元素

javascript - 如何旋转标签

html - 如何定位具有特定 css 属性的元素(仅 CSS 解决方案)?

div 和 span 中的 CSS 类 IMG

html - 根据应用的属性选择元素

HTML/CSS 背景问题