删除CSS“内容”属性

问题描述:

我的3rdParty CSS包含以下声明:删除CSS“内容”属性

:-webkit-any(body):after { 
    content: ""; 
    display: block; 
    visibility: hidden; 
    height: 0; 
    font: 0/0; 
    -webkit-transform: translateZ(0); 
} 

内容的CSS属性导致jQuery UI的对话框一个问题 - 滚动条消失......

如果我删除内容(发表评论)一切正常。 由于它是3rdparty,我想通过代码通过jquery删除此属性,而不是更新css。可能吗?

感谢 希格

+4

你为什么不与其他CSS规则覆盖它,将其设置为'none'? – ThiefMaster 2013-05-13 07:55:00

+0

我认为这是可能的......但可能不是你想要的。难道你不能为你创建另一个CSS规则文件,只需在调用第一个文件后调用它?国际海事组织你有两个真正难以解决的问题:CSS的目标和时间问题,以检查该规则是否已经加载。我只是简单地在第一个CSS之后添加另一个规则并为自己省去麻烦。 – Joum 2013-05-13 08:17:06

+0

谢谢它的作品! (在另一个css文件中设置为none) – user2324030 2013-05-13 10:36:28

您已经标记了这个问题,但OT知道这是不可能直接针对使用JavaScript :before:after伪元素是很重要的。

的选项有:

  1. 编写额外的CSS代码,重写你不想要的样式。

  2. 更改原始CSS选择器(或您的HTML),使选择器不再适用于不需要的地方。

+0

现在可以定位前/后伪元素(尽管IE只在11中获得支持)。例如这会得到'body:'后面的内容:'window.getComputedStyle(document.body,':after')。getPropertyValue('content');'见https://developer.mozilla.org/en-US/文档/网络/ API /窗/的getComputedStyle – 2015-04-08 15:13:27

我不确定如何选择css3选择器,但正如盗贼大师提到的那样,您可以覆盖属性。您可以在页面加载时将其设置为无。

1)使用jQuery追加

$('body').append(":-webkit-any(body):after {content: none;}");