有办法去掉从父级元素继承下来的 CSS 样式吗

html-css012

有办法去掉从父级元素继承下来的 CSS 样式吗,第1张

在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。

所谓的样式表层叠:指的是同一个元素通过不同方式设置样式表产生的样式重叠。

电脑培训http://www.kmbdqn.cn/认为样式表继承:指的是某一个被嵌套的元素得到它父元素样式。

还有一种样式叫浏览器样式,是这个元素在这个浏览器运行时默认附加的样式。

1.浏览器样式<b>这个元素隐含加粗样式</b><spanstyle="font-weight:bold">这个元素通过style加粗</span>解释:<b>元素就是具有加粗的隐含样式,而<span>元素没有任何隐含样式,通过style属性设置样式。

2.样式表层叠样式表层叠通过五种方式进行,如果样式相同,那么比如会产生冲突替换。

这时,它的优先级顺序就显的比较重要。

以下优先级从低到高:(1).浏览器样式(元素自身携带的样式);(2).外部引入样式(使用<link>引入的样式);(3).文档内嵌样式(使用<style>元素设置);(4).元素内嵌样式(使用style属性设置)。

3.样式继承如果某一个元素并没有设置父元素相关的样式,那么就会使用继承机制将父元素的样式集成下来。

//<b>元素继承了<p>元素的样式<pstyle="color:red">这是<b>HTML5</b></p>样式继承只适用于元素的外观(文字、颜色、字体等),而元素在页面上的布局样式则不会被继承。

如果继承这种样式,就必须使用强制继承:inherit。