css清除继承样式?

html-css022

css清除继承样式?,第1张

没有办法可以取消css继承。 

当你在大的元素如body中写了一些css样式后,该继承的都会被其子元素继承。 

你只能用优先级别更高的css样式来覆盖已定义的css。 

或者写js脚本来改变元素的css,也是一种方案。 

最后有一个变通办法,只在后台等少数情况下用,用iframe,里面是一个单独的页面, 

与父窗体基本无关。

Css清除继承样式可以使用如下代码:

可以使用 CSS 的 all 属性。但是目前IE和Edge浏览器还没有任何版本兼容这个属性。所以实际开发中,如果需要兼容IE或者Edge的话,不能使用。同时安卓4.4以及以下,Safari9 的部分版本也不支持。

还是简单的说下用法:

all 属性可以重置选中元素的属性(除了direction和unicode-bidi两个属性)

all 属性在Cascading and Inheritance Level 3 规范中有三个可选的值

initial : 重置所有CSS属性为初始值

inherit : 元素继承所有服元素的CSS属性,即使有些属性原本不是可继承的

unset : 元素继承服元素所有可继承的属性

同时在 Cascading and Inheritance Level 4 规范草案中增加了 revert 值。由于还仅仅是草案,所以这里不细说,详情可以异步下面的链接。

W3C 相关标准内容:

https://www.w3.org/TR/css-cascade-3/#defaulting

https://drafts.csswg.org/css-cascade/#all-shorthand

CSS不允许取消继承属性的,如果你想要取消的话,只能再其下边再新建一个样式文件,然后将上边所有的样式全部设为正常值就可以了。注意,下边的这个样式文件,一定要根据其父端属性一一对应,不要以为是空的就是取消了。