重写别人样式的技巧-CSS优先级关系

2020-02-23  本文已影响0人  踩坑怪At芬达

经常使用UI组件的话,你会碰到想重写原组件样式的情况,如何讨巧的重写,而不至于暴力的使用!important呢?

第一步:了解下优先级关系

同一组内的样式优先级相同,谁在后则谁生效

我们给每一组进行了编号,A>B>C>D>E

第二步:给样式描述做一个评分,找出最大积分组

根据上面的表,每出现一次描述,给对应的组评分+1
举例

.box div p{ color:red } 
<div class="box">
  <div><p>test</p></div>
</div>

我们希望将这个原样式的红色改为蓝色

选择器 所属组别 操作 当前积分
.box 属于D组的选择器 给D组+1 D=1
p 属于E组的选择器 给E组+1 E=1
div 属于E组的选择器 给E组+1 E=2

经过计算后每组的积分如下

积分
A 0
B 0
C 0
D 1
E 2

第三步:制造一个积分大于它的描述

经过第二步,我们得出目前D=1 E=2
我们需要做的是制造一个 D>1 或 D=1 E>2 或 A|B|C>0 的积分组就行

.box.diyname div p{ color:blue } 
<div class="box diyname">
  <div><p>test</p></div>
</div>

或增加一个属性选择器

.box div p[blue]{ color:blue } 
<div class="box">
  <div><p>test</p></div>
</div>
.box span p{ color:blue } 
<div class="box">
  <span><p>test</p></span>
</div>
#myid .box div p{ color:blue } 
<div id="myid" class="box">
  <div><p>test</p></div>
</div>

或内联

<div class="box">
  <div><p style="color:blue">test</p></div>
</div>
上一篇 下一篇

猜你喜欢

热点阅读