css - 对一个 CSS 技巧帮助不大 : chained Pseudo element/classes

标签 css

想要为任何 a、p、标签等创建类“My-Tag”...以像 html 标签一样用方括号括起来。 在这种情况下,<> 括号需要是蓝色、/斜线灰色、普通文本灰色和悬停白色。我在“内容”之后添加内容。伪元素不能链接(两个连续)。 :) 这几乎可以正常工作,但不是最后一个“>”

.My-tag {color: gray;}
.My-tag:hover {color: white}
.My-tag::before {
    color: royalblue;
    content: "<";
}
.My-tag:after {
    color: gray;
    content: "/";
}
.My-tag::after::after {
    color: royalblue;
    content: ">";
}
<label class="My-tag">SomeText<label/>

最佳答案

您可以在包含两个字符的地方使用一个 :after,然后从左到右应用文本渐变以获得您想要的外观。

.My-tag:after {
  content: "/>";
  background: -webkit-linear-gradient(0deg, gray 50%, royalblue 50%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

我不能保证跨浏览器支持,这只在 Chrome 中测试过。如果您出于某种原因在 2 个字符之间换行,也可能会导致问题。

这是我能想到的唯一一种仅使用 CSS 的方法,但我建议采用 JS 方法。

关于css - 对一个 CSS 技巧帮助不大 : chained Pseudo element/classes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51673489/

相关文章:

javascript - 为什么 anchor 在此脚本中不起作用?

html - 在 Bootstrap 3.0 Modal 中,禁用滚动条但它仍然占用空间

css - 使用背景大小时,Firefox 中不显示背景

javascript - 在居中图像的顶部添加 div?

html - 保持背景和菜单栏固定在适当的位置

jquery - 如何忽略单个图像中的 img 类

html - Z 索引问题 : Stack a child element behind a parent container

css - Box-shadow CSS 样式在 IE9 中不起作用?

php - 识别 div 覆盖之外的窗口的 HTTP_REFERER 屏幕分辨率

javascript - JavaScript 幻灯片上图像之间的缓慢转换? (特别是使用 Chrome )