CSS 中的 var() 函数用法与根选择器

该函数用于插入 CSS 变量的值。var()

该函数的语法如下:var()

var(--name, value)
ValueDescription 描述
nameRequired. The variable name (must start with two dashes) 必需的。变量名(必须以两个破折号开头)
valueOptional. The fallback value (used if the variable is not found) 可选的。回退值(如果没有找到变量则使用)

注意:变量名称必须以两个短划线 (--) 开头,并且区分大小写!

var() 如何工作

首先:CSS变量可以具有全局或局部作用域。

局部变量:

CSS:

        div {
            float: left;
            width: 200px;
            height: 200px;
            background-color: var(--a);
        }
        <div style="--a:red">1</div>
        <div style="--a:pink">2</div>
        <div style="--a:blue">3</div>
        <div style="--a:green">4</div>
        <div style="--a:yellow">5</div>

 注意:它只能在 div 标签里使用

全局变量:

可以在整个文档中访问/使用,而局部变量只能在声明它的选择器内使用。

CSS :根选择器

:root 里面定义变量,就是全局变量,它跟less sass 定义跟使用方法异曲同工

该函数与less、sass的语法如下:

// root
:root {
  --blue: #1e90ff;
  --width: 200px;
  --border: #ccc;
}
div {
  border: 1px solid var(--border);
}

// less
@border: #ccc;
div {
  border: 1px solid @border;
}

// sass
$border: #ccc;
div {
  border: 1px solid $border;
}

若要创建具有全局作用域的变量,请在选择器中声明它。选择器与文档的根元素匹配。:root``:root

若要创建具有局部作用域的变量,请在要使用它的选择器中声明该变量。

下面的示例与上面的示例相同,但此处我们使用函数。var()

首先,我们声明两个全局变量(--blue 和 --white)。然后,我们使用该函数稍后在样式表中插入变量的值:var()

<!DOCTYPE html>
<html>

<head>
    <style>
        :root {
            --blue: #1e90ff;
            --white: #ffffff;
            --pink: #FFa9c6;
            --PinkPurple: #f434e2;
        }

        body {
            background-color: var(--blue);
        }

        h2 {
            border-bottom: 2px solid var(--blue);
        }

        .container {
            color: var(--blue);
            background-color: var(--white);
            padding: 15px;
        }

        button {
            background-color: var(--white);
            color: var(--blue);
            border: 1px solid var(--blue);
            padding: 5px;
        }

        .box {
            float: left;
            width: 150px;
            height: 150px;
            background: linear-gradient(to right, var(--a), var(--b));
        }
    </style>
</head>

<body>

    <h1>Using the var() Function</h1>

    <div class="container">
        <h2>Lorem Ipsum</h2>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam semper diam at erat pulvinar, at pulvinar
            felis blandit.</p>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam semper diam at erat pulvinar, at pulvinar
            felis blandit.</p>
        <p>
            <button>Yes</button>
            <button>No</button>
        </p>
    </div>

    <div class="box" style="--a:#a955FF;--b:#ea51FF">1</div>
    <div class="box" style="--a:#56CCF2;--b:#2F80ED">2</div>
    <div class="box" style="--a:#FF9966;--b:#FF5E62">3</div>
    <div class="box" style="--a:#80FF72;--b:#7EE8FA">4</div>
    <div class="box" style="--a:var(--pink);--b:var(--PinkPurple)">5</div>
</body>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

joshua king

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值