多个css如何覆盖前面的属性

html-css08

多个css如何覆盖前面的属性,第1张

遵循后面的覆盖前面的,以及只覆盖相同属性的原则,比如:

.class1 {width:100pxheight:200px}

.class1 {width:300px}

那么实际生效的css是:width:300pxheight:200px

CSS代码修改。

有时候在写CSS的过程中,某些限制总是不起作用,这就涉及了CSS样式覆盖的问题,如下。

css的顺序是“元素上的style”>“文件头上的style元素”>“外部样式文件”,但对于样式文件中的多个相同样式的优先级怎样排列,没有详细说明。经过测试和继续搜索,得知优先级如下排列:

样式表的元素选择器选择越精确,则其中的样式优先级越高:id选择器指定的样式>类选择器指定的样式>元素类型选择器指定的样式。所以上例中,#navigator的样式优先级大于.current_block的优先级,及时.current_block是最新添加的,也不起作用。

对于相同类型选择器制定的样式,在样式表文件中,越靠后的优先级越高。注意,这里是样式表文件中越靠后的优先级越高,而不是在元素class出现的顺序。比如.class2在样式表中出现在.class1之后:

3.如果要让某个样式的优先级变高,可以使用!important来指定:

将border从#navigator中拿出来,放到一个class.block中,而.block放到.current_block之前: