【问题标题】:Override after pseudo element on matching element+element css在匹配元素+元素css上的伪元素之后覆盖
【发布时间】:2016-07-01 10:19:38
【问题描述】:

试图在聊天应用程序中实现一个简单的效果,如果用户发消息,在他的用户名之后应该总是出现 : 但如果机器人发消息,他的消息将有一个 .bot 类,我想覆盖 user:after 以获得不同的内容。

我无法修改 html,因为它是动态生成的。

.user {
  color: white;
  background: red;
}
.user:after {
  content: ": ";
}
.user:after + .bot {
  content: "=> ";
}
<span class="user">User1</span>
<span class="message">Hello</span>
<br />
<span class="user">Bot</span>
<span class="bot">Hello</span>

理想的输出应该是:

但是我可以编辑 css

这可能吗?或者我应该采用不同的方法。

【问题讨论】:

  • 现在你修改了你的问题,你要求的东西已经在做,那么这个问题的意义何在?
  • 抱歉,只是编辑不正确
  • 目前还不清楚理想的结果应该是什么样子。
  • @Paulie_D 完全是,OP 在编辑问题时由 cmets 解释,因此很难给出正确的答案

标签: html css pseudo-element


【解决方案1】:

请注意,当前更新的问题已经完成了 OP 试图实现的目标


你可以使用::before伪元素

仅供参考,您可以设置伪元素的样式(就像我一样)

.user {
  background: red;
  font-style: italic;
}
.message::before,
.bot::before {
  background: red;
  font-style: italic;
  position: relative;
  left: -4px
}
.message::before {
  content: ":";
}
.bot::before {
  content: "=>";
}
<span class="user">User1</span>
<span class="message">Hello</span>
<br />
<span class="user">Bot</span>
<span class="bot">Hello</span>

【讨论】:

  • 现在这是一个很好的解决方案,但是......用户类的样式将与消息类完全不同。之前分配内容会阻止用户在:=&gt; 上使用相同的样式
  • 对不起,我的错误,但我编辑了我的想法,箭头或: 应该位于用户内部。
  • 解释:箭头或 : 应该位于用户内,您的意思是让两者处于相同位置,而与您将拥有的用户名无关?
  • 应该分享用户风格,这就是为什么 :after 很重要... before 对我没有帮助
【解决方案2】:

试试这个

.user:after {
  content: ": ";
}
.user + .bot:after {
  content: "=> ";
}

【讨论】:

  • .user:after 将如何使用 .bot?这并不能解决 OP 问题。
【解决方案3】:

根据您更新的问题,这里是您的代码 sn-p:

.user + span:before{
    content: ": ";
    /*other rules you assign*/
}

.user + .bot:before { /*overriding just for bot*/
    content: "=> ";
}
<span class="user">User1</span>
<span class="message">Hello</span>
<br />
<span class="user">Bot</span>
<span class="bot">Hello</span>

否则您无法覆盖,因为 CSS 没有父元素选择器。

【讨论】:

【解决方案4】:

目前没有解决这个问题的纯 CSS 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-23
    • 1970-01-01
    • 2021-06-21
    相关资源
    最近更新 更多