这篇文章主要介绍了如何解决css中的匹配问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。
<强>问题描述强>
众所周知在写css的时候,会根据html中类的定义或者id的定义来写相应的css代码。给不同的类定义不同的样式,当然为了能够少写一些代码,大家就会在css中引用匹配。匹配有模糊匹配和全局匹配。匹配的方式有几种。当然也可以在html中写不同的类名,或者写相同的类名,就能够实现所有的样式的匹配。但有时候类名不能够写到相同,这样就会出现冗余的代码,就会造成代码复杂度的增强。为了减少代码的冗余,就出现了类的匹配。
<强>解决方案强>
第1种就是利用div进行匹配,但这种匹配会给所有的div都使用相同的样式。
& lt; div> & lt; div , id=& # 39; div1& # 39;/比; & lt; div , id=& # 39; div2& # 39;/祝辞,,,, & lt;/div>//,如果要设置内部所有,div 样式,则使用,祝辞,标识符 .parent> div {//风格//2}
第种是利用类定义的类进行匹配。这种匹配就相对精确,也有两种匹配方式,第1种匹配方式是利用箭头符号进行匹配。例如:[类^=巴急瓴澄臸
& lt; ! DOCTYPE html> & lt; html> & lt; head> & lt; meta charset=癠TF-8"祝辞 & lt; title> Title & lt; style> (类^=巴急瓴澄?{ 宽度:100 px; 高度:50 px; 背景颜色:红色; } & lt;/style> & lt;/head> & lt; body> & lt; div> 1111 & lt;/div> & lt; div> 2222 & lt;/div> & lt; div> 3333 & lt;/div> & lt; div> 4444 & lt;/div> & lt; div> 5555 & lt;/div> & lt;/body> & lt;/html>
2.1图效果
但这种匹配方式需要类名前面为图标——的才可以。如果类名前面还有其他的命的名,就不能够发挥相应的效果,因此就可以使用另一种匹配方式。也就是类名中的全局匹配。例如:
[类*=?图标产生绯闻;),需要注意的是在图标前面有一个空格。而且需要将上面的箭头换为星号,这样就能够实现相应类名的全局匹配。
& lt; ! DOCTYPE html> & lt; html> & lt; head> & lt; meta charset=癠TF-8"祝辞 & lt; title> Title & lt; style> (类*=?图标产生绯闻;){ 宽度:100 px; 高度:50 px; 背景颜色:红色; } & lt;/style> & lt;/head> & lt; body> & lt; div> 1111 & lt;/div> & lt; div> 2222 & lt;/div> & lt; div> 3333 & lt;/div> & lt; div> 4444 & lt;/div> & lt; div 类=皌ext-success , icon-t"在555 & lt;/div> & lt;/body> & lt;/html>
2.2图效果
这样就能够实现,只要类名中含有图标的都可以实现样式的匹配。但这种匹配,对于开始为图标类名的就无法实现相应的效果,所以可以将两者配合使用。这样就可以完全的实现匹配效果。
2.3图效果
对于实现上述效果,有两种方式。第一是两者的配合使用,第二就是清除图标前面的空格。
& lt; ! DOCTYPE html> & lt; html> & lt; head> & lt; meta charset=癠TF-8"祝辞 & lt; title> Title & lt; style> [类^=巴急瓴澄臸,[类*=?图标产生绯闻;){ 宽度:100 px; 高度:50 px; 背景颜色:红色; } & lt;/style> & lt;/head> & lt; body> & lt; div> 1111 & lt;/div> & lt; div> 2222 & lt;/div> & lt; div> 3333 & lt;/div> & lt; div> 4444 & lt;/div> & lt; div 类=皌ext-success , icon-test"在555 & lt;/div> & lt;/body> & lt;/html>
这样就能够减少代码的冗余了。
在写代码的过程中一定要学会减少代码的冗余,这样的程序就能够更好的运行。