首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS :内容前两种颜色

CSS :内容前两种颜色
EN

Stack Overflow用户
提问于 2013-01-12 08:26:52
回答 2查看 8.7K关注 0票数 1

我有一个结构化的语义数据,我想要显示,样式它与CSS。下面是一个示例:

代码语言:javascript
复制
...<user name="John">...</user>...

我希望它是这样呈现的:

代码语言:javascript
复制
...
User John ...
...

如果我想让'User‘和'John’具有相同的颜色,我可以使用以下CSS:

代码语言:javascript
复制
user:before{
  content: 'User ' attr(name);
}

但是,我希望'User‘是蓝色的,而'John’是红色的。我如何使用CSS来实现这一点?

附注:我不想转换我的数据表示。我知道通过将数据转换为额外的div等等,我可以很容易地获得这样的格式,但我希望直接以它的形式显示我的纯语义数据。

EN

回答 2

Stack Overflow用户

发布于 2013-01-13 00:41:13

如果user元素为空,则可以使用以下CSS:

代码语言:javascript
复制
user::before {content:"User "; color:blue;}
user::after {content:attr(name); color:red;}

如果user元素包含内容,则可以使用:

代码语言:javascript
复制
user::before {content:"User "; color:blue; float:left; margin-right:0.5em;}
user::after {content:attr(name); color:red; float:left; margin-right:0.5em;}

(使用float获取"User John“字符串后面的元素内容;使用margin获取单词之间的空格;可能有更好的方法来解决这些问题)

票数 4
EN

Stack Overflow用户

发布于 2013-01-12 08:34:32

你不能在CSS中以伪不同的方式设置:before部分内容的样式。你需要一个额外的元素(比如span)。:first-letter:first-line (以及整个:before的内容)是例外,但这不是您想要实现的目标。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14288847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档