2017-04-21 23 views
2

试图帮助一个项目的朋友。由于客户需求,他们被迫使用两个互相冲突的第三方CSS库。例如,库A定义了一个名为.active的类,库B也定义了一个名为.active的类。你可以看到这可能出错。如何解决来自多个第三方库的CSS类名冲突?

一种解决方法是进入并手动重命名一个库或另一个库中的类,但这对我来说似乎很笨拙,以防将来维护中的任何人尝试使用原始第三方库的干净版本的问题。此外,冲突的数量还不知道,但被认为很大。由于这些原因,命名空间并不是很可行。

我个人的解决方案是为我的项目推出我自己的CSS,并正确命名它。但听起来客户端拒绝这样做,并且要求使用这两个CSS库并非因为他们关心共享的特殊原因。

因为我们不控制任何一个库,有没有其他的技巧从一个库或其他库中分离HTML元素?例如,有没有办法告诉元素接受给定类的CSS样式,但只能从特定的.css文件中接受?我在这里伪造语法,但是像这样:

<div class="myStyles.css[active]">styled content</div> 

回答

0

您的关注看起来不错。

请在下面找到我关于您关心的问题的发现。

有没有办法告诉元素接受与给定 类CSS样式,但只能从特定的.css文件

<div class="myStyles.css[active]">styled content</div>

这是不可能的HTML5/CSS。你可以解决这个矛盾是

的一种方式,

包括您custom.css文件与第三方(后他们按顺序)必要样式#我的方式包装。主动{沿.. 。}

你会明显地,其中包装膜选择到你的这个DIV像下面

<div id="my-wrapper"> 
    <div class=".active">styled content</div> 
</div> 

现在,。主动custom.css的样式将被放在应有的优先地位链接CSS的顺序