CSS在已引入默认样式时,新样式不生效问题即删除css样式方法

269 阅读2分钟

问题描述:

已对项目中html标签默认样式做清除操作。如对ul,ol,li{list-style:none}

开发过程中ol,ul,li样式不生效,检查发现是重置样式造成。而后需要清除已设置样式,采用!important效果不佳。

搜索查询发现一篇好文章写了几种方法删除css样式,其中的unset解决了问题。

本文搬运文中几种方法,方便下回阅读使用。

原文指路👇

# css怎么删除样式?多种方法浅析

一、使用inherit值

在 CSS 中,我们可以使用 inherit 值来从父元素继承样式。如果我们想要删除一个元素的样式并使用其父元素的样式,可以将元素的样式设置为 inherit。

例如:想要删除一个按钮的颜色

button { color: inherit; }

这将使按钮从其父元素继承颜色样式。

二、 使用 unset 值

在 CSS3 中,新增了一个 unset 值,它可以将元素的样式设置为默认值

例如:想要删除一个元素的所有样式

p { all: unset; }

这将删除段落的所有样式,并将其设置为默认状态。

三、使用 !important 规则

CSS 中,!important 规则可以用于强制将样式应用于元素,可以覆盖其他样式。如果我们想要删除一个元素的样式,可以使用 !important 规则并将其设置为 none。

例如:想要删除一个 div 元素的边框样式

div { border: none !important; }

这将删除 div 元素的边框样式,即使已经定义了其他边框样式。

四、使用指定的属性

在某些情况下,我们可能只想删除元素的某个属性,而不是其所有样式。为此,我们可以使用该属性并将其值设置为默认值。

例如:想要删除一个链接的下划线样式

a { text-decoration: none; }

这将删除链接的下划线样式,但不会影响其他样式。