+
80
-

css中initial、unset、revert属性值有啥不同?

css中initial、unset、revert属性值有啥不同?


网友回复

+
0
-

initial、unset 和 revert 是在CSS中用于设置属性值的特殊关键字。它们在不同的情况下有不同的作用:

initial:

initial 关键字用于将CSS属性重置为其默认初始值。

无论元素的继承规则如何,都会将属性值重置为浏览器默认值。

例如,如果你有一个元素的 color 属性设置为不同的值,使用 initial 将把它重置为浏览器默认的文本颜色。

unset:

unset 关键字用于将CSS属性重置为其默认初始值,但如果属性未被继承,则行为类似于 initial。如果属性已经继承,它将采用父元素的值。

这意味着 unset 会考虑继承规则,如果属性可以继承,则继承父元素的值;如果不可继承,则将其重置为初始值。

revert:

revert 关键字用于将属性值重置为用户代理(浏览器)样式表中定义的值,即浏览器默认值。如果用户代理没有明确定义样式,则它将与 initial 具有相同的效果。

revert 不仅重置继承的属性,还重置非继承属性。

总结:

initial 重置属性为默认值,不考虑继承规则。

unset 重置属性为默认值,但考虑继承规则。

revert 重置属性为用户代理样式表中的值,如果未定义则行为类似于 initial。

示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS Reset Examples</title>
    <style>
        /* 默认样式表 */
        body {
            font-family: Arial, sans-serif;
            font-size: 16px;
        }

        h1 {
            color: blue;
        }

        p {
            color: red;
            font-weight: bold;
        }

        /* 用户定义的样式表 */
        .custom-style {
            color: green;
        }

        /* 重置样式 */
        .reset-initial {
            color: initial; /* 重置文本颜色为默认值 */
            font-weight: initial; /* 重置字体粗细为默认值 */
        }

        .reset-unset {
            color: unset; /* 重置文本颜色为默认值,但考虑继承 */
            font-weight: unset; /* 重置字体粗细为默认值,但考虑继承 */
        }

        .reset-revert {
            color: revert; /* 重置文本颜色为浏览器默认值或用户代理样式 */
            font-weight: revert; /* 重置字体粗细为浏览器默认值或用户代理样式 */
        }
    </style>
</head>
<body>
    <h1>This is an H1 heading</h1>
    <p>This is a paragraph with custom styles.</p>
    
    <h1 class="custom-style">This is a custom H1 heading.</h1>
    <p class="custom-style">This is a custom paragraph with custom styles.</p>
    
    <h1 class="reset-initial">This is an H1 heading with initial reset.</h1>
    <p class="reset-initial">This is a paragraph with initial reset.</p>
    
    <h1 class="reset-unset">This is an H1 heading with unset reset.</h1>
    <p class="reset-unset">This is a paragraph with unset reset.</p>
    
    <h1 class="reset-revert">This is an H1 heading with revert reset.</h1>
    <p class="reset-revert">This is a paragraph with revert reset.</p>
</body>
</html>

我知道答案,我要回答