在页面中,我们常用id、class以及内联样式表来设置我们的组件CSS。有时候我们为了编码的简便会使用CSS库,这些库会设置好全局的CSS,但是有某几个组件我们不想使用CSS库中定义的样式而想用别的特别的样式怎么办呢?
使用自定的CSS样式覆盖之前的CSS样式就可以解决这种情况。
在网页中css样式根据css优先级来使用,优先级高的会覆盖优先级低的css样式。
CSS中的优先级大体是:内联样式>id引用>class引用
示例:
<style>
body{
background-color:black;
font-family:Monospace;
color:green;
}
#orange-text{
color:orange;
}
.class1{
color:pink;
}
.class2{
color:blue;
}
</style>
上述css样式说明:
1、我们来创建一个段落加上点文本看看字体颜色会发生什么变化
<p>HelloWorld!</p>
首先不指定id和class,字体默认为body中的样式,为green
2、比如这段代码
<pclass="class1class2">HelloWorld!</p>
这段文本会同时继承class1、class2中的样式,但是当这两个类中有相同的变量时,class间有冲突时,优先使用后者的定义,所以此时文本字体为blue。
3、id与class同时使用
<pclass="class1class2"id="orange-text">HelloWorld!</p>
此时id覆盖class,文本字体为orange。
4、id、class与内联样式同时使用
<pclass="class1class2"id="orange-text"style="color:whitle">HelloWorld!</p>
此时内联样式表覆盖id和class,文本字体为white。
5、如果你想某个样式的某个变量不被覆盖的话,可以在其后面加上!important来强制增加其的优先级,但是只能加在id、class中。比如在#orange-text中的color后面加上!important:
#orange-text
{
color:orange!important;
}
<pclass="class1class2"id="orange-text"style="color:whitle">HelloWorld!</p>
这样的话就算有内联样式表设置color为white,color仍然为orange。
以上内容到此结束,下面在看下CSS样式覆盖的相关知识。
css样式覆盖
样式覆盖:如果使用一些组建的时候,想要修改它的样式,可以自己写新的样式去覆盖原本的样式,方法如下,见style中的三种写法:
<template>
<viewclass="custom-transition"></view>
</template>
<style>
/*样式强制覆盖吧*/
.custom-transition{
width:100px!important;
height:100px!important;
background-color:red!important;
}
</style>
|