63

我知道以前有人问过这个问题,但我找不到覆盖这个 CSS 的干净方法:

.ui-input-search:after {
    content: "";
    height: 18px;
    left: 0.3125em;
    margin-top: -9px;
    opacity: 0.5;
    position: absolute;
    top: 50%;
    width: 18px;
}

我需要离开ui-input-search元素,但可以添加我自己的类,例如:

.ui-input-search-no-pseudo:after {
   content: "";
}

问题
有没有一种简单的方法可以删除“pseudo-css”而不必逐行覆盖 CSS?

谢谢!

4

2 回答 2

125

据我所知,除了覆盖所有属性之外别无他法。样式是在元素上定义的,它们不会因为另一个以该元素为目标的选择器而消失。

如果您只想从页面中删除伪元素,您可以这样做content: none

从以下评论中添加:

content: "" 和 content: none 之间的区别在于 content: "" 产生了一个没有内容的伪元素(即一个空的伪元素),而 content: none 完全阻止了伪元素的生成。

于 2013-07-24T08:11:51.557 回答
13

如果您想删除必须使用的伪,这里content: "";根本不会影响content:none;它会删除以前添加的伪内容。

content:none;

如果这没有帮助,您也可以尝试:

display:none; 

如果仍然不行,那么您可以尝试以下方法,但我从不建议您使用!important

 display:none !important;

这是工作的jsfiddle

https://jsfiddle.net/ganeshswami99/52duu0x8/1/

于 2017-05-19T05:44:59.860 回答