如何使样式CSS不被覆盖 important

html-css031

如何使样式CSS不被覆盖 important,第1张

一般直接问important的样式不被覆盖,这样是误解的,因为解决办法也需要使用important

解决办法一:

div{font-size:100px!important}

div{font-size:50px!important}

这样下面的样式就覆盖了上面的样式,使第一个样式失效

解决办法二:

<div style="font-size:30px!important">123456</div>

行内样式级别大于,外部样式,所以这样也可以去除以前设置的important的样式。

其他的方式,我还真没有找到能可以代替的办法,希望我的回答对你有所帮助!!!

在div里给它加上一个类,给新加的类写样式。

在CSS中,继承是一种非常自然的行为,我们甚至不需要考虑是否能够这样去做,但是继承也有其局限性。

首先,有些属性是不能继承的。这没有任何原因,只是因为它就是这么设置的。举个例子来说:border属性,大家都知道,border属性是用来设置元素的边框的,它就没有继承性。如下图所示,如果继承了边框属性,那么文档看起来就会很奇怪,除非采取另外的措施关掉边框的继承属性。

多数边框类属性,比如象Padding(补白),Margin(边界),背景和边框的属性都是不能继承的。

扩展资料

CSS中的样式覆盖原则:

规则一:由于继承而发生样式冲突时,最近祖先获胜(最近原则)。

strong分别从body和p中继承了color属性,但是由于p在继承树上离strong更近,因此strong中的文字最终继承p的蓝色。

规则二:继承的样式和直接指定的样式冲突时,直接指定的样式获胜(最直接原则)。

strong {color:red}

那么根据规则二,strong中的文字最终显示为红色。

规则三:直接指定的样式发生冲突时,样式权值高者获胜。

样式的权值取决于样式的选择器,权值定义如下表。

css选择器 权值

标签选择器 1

类选择器 10

ID选择器 100

内联样式 1000

伪元素(:first-child等) 1

伪类(:link等) 10

可以看到,内联样式的权值>>ID选择器>>类选择器>>标签选择器,除此以外,后代选择器的权值为每项权值之和,比如”#nav .current a”的权值为100 + 10 + 1 = 111。

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

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

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

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

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

与父窗体基本无关。

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