2017-03-04 102 views
2

假设我在页面2000元素上。我想从自定义模块注入此页面元素(横幅)。这个模块的css文件有300多个css选择器,每个选择器都需要有唯一的动态前缀,以避免与同一页面内的其他模块发生冲突。我不能用1个独特的ID选择,因为更多的横幅可以被加载,所以我需要使用这样的事情:CSS正则表达式id选择器vs类选择器的性能

<div id="company_banner14"></div> 
<div id="company_banner15"></div> 
div[id^='company_banner']{ 

} 

<div id="company_banner14" class="company_banner"></div> 
<div id="company_banner15" class="company_banner"></div> 
.company_banner{ 

} 

什么是从性能视图更好吗?正在使用正则表达式选择器坏习惯,300个正则表达式选择器会产生任何可见的性能影响?

+0

好问题,我也对此感兴趣。 – g5wx

+1

如果您不打算使用类选择器,那么拥有class属性有什么意义?尤其是当你在演奏时。它似乎...奇怪。 – BoltClock

+0

你说得对,这是我的错,我修改了这个问题。 – user1324762

回答

-1

看完你需要的是为所有元素定制一个CSS。这个查询应该记住一些要点。

  1. 使用内联CSS-我认为,内联CSS是最好的解决方案,如果你不使用长CSS的一个元素。如果您的循环元素太多,它会将非常有价值的代码保存到您的页面中。例如,<div id="company_banner15" class="company_banner" style="Width:x; height:y;"></div>

  2. 使用CSS类-这是内联CSS的替代方法,但不是内联CSS的代码保存方式。如果您对所有元素使用相同类型的样式,则准确无误,如果您在循环中使用不同类型的样式。

希望这些建议会引导你。感谢和欢呼。

+0

将会有300个不同的选择器,因为每个div都会有更多的元素。对300多个元素使用内联css将不会好。问题是,如果最好使用类选择器或ID正则表达式选择器来处理这300个元素。里面的每个元素都需要定义父亲选择器以避免任何冲突。 – user1324762