- CSS 教程
- CSS - 教程
- CSS - 简介
- CSS - 语法
- CSS - 选择器
- CSS - 包含
- CSS - 度量单位
- CSS - 颜色
- CSS - 背景
- CSS - 字体
- CSS - 文本
- CSS - 图像
- CSS - 链接
- CSS - 表格
- CSS - 边框
- CSS - border-block 属性
- CSS - 边框内联
- CSS - 边距
- CSS - 列表
- CSS - Padding 属性
- CSS - 光标
- CSS - 轮廓
- CSS - 维度
- CSS - 滚动条
- CSS - 内联块
- CSS - 下拉列表
- CSS - visibility 属性
- CSS - Overflow 属性
- CSS - 清除修复
- CSS - float(浮点)
- CSS - 箭头
- CSS - resize 属性
- CSS - quotes 属性
- CSS - order 属性
- CSS - Position 属性
- CSS - hypens 属性
- CSS - :hover(悬停)
- CSS - display(显示)
- CSS - focus 属性
- CSS - zoom(缩放)
- CSS - translate 属性
- CSS - Height 属性
- CSS - hyphenate-character 属性
- CSS - Width 属性
- CSS - opacity 属性
- CSS - z-index 属性
- CSS - bottom 属性
- CSS - 导航栏
- CSS - 覆盖
- CSS - 表单
- CSS - 对齐
- CSS - 图标
- CSS - 图片库
- CSS - 注释
- CSS - 加载器
- CSS - Atrribute 选择器属性
- CSS - 运算器
- CSS - root
- CSS - 盒子模型
- CSS - 计数器
- CSS - Clip (Obsolete) 属性
- CSS - writing-mode 属性
- CSS - Unicode-bidi 属性
- CSS - min-content 属性
- CSS - 全部
- CSS - inset 属性
- CSS - isolation 属性
- CSS - overscroll-behavior 属性
- CSS - justify-items 属性
- CSS - justify-self 属性
- CSS - tab-size 属性
- CSS - pointer-event 属性
- CSS - place-content 属性
- CSS - place-items 属性
- CSS - place-self 属性
- CSS - max-block-size 属性
- CSS - min-block-size 属性
- CSS - mix-blend-mode 属性
- CSS - max-inline-size 属性
- CSS - min-inline-size 属性
- CSS - offset 属性
- CSS - accent-color 属性
- CSS - user-select 属性
- CSS 高级
- CSS - grid 属性
- CSS - Grid 布局
- CSS - flexbox
- CSS - vertical-align 属性
- css - positioning
- css - layers
- css - pseudo_classes
- CSS - 伪元素
- CSS - @ 规则
- CSS 滤镜 - text-effect 属性
- CSS 分页媒体
- CSS 打印
- CSS - 布局
- CSS - 验证
- CSS - 图像精灵
- CSS - !important
- CSS - 数据类型
- CSS3 教程
- CSS - 圆角
- CSS - 边框图像
- CSS - 多种背景
- CSS - 渐变
- CSS - box-shadow 属性
- CSS - box-decoration-break 属性
- CSS - caret-color 属性
- CSS - text-shadow 属性
- CSS - 2D 转换
- CSS - 3D 变换
- CSS - transition 属性
- CSS - 动画
- CSS - 多列布局
- CSS - 盒子大小调整
- CSS - 工具提示
- CSS - buttons
- CSS - 分页
- CSS - 变量
- CSS - 媒体查询
- CSS - 值函数
- CSS - 数学函数
- CSS - Mask 属性
- CSS - shape-outside 属性
- CSS - 样式图像
- CSS - 特异性
- CSS - 自定义属性
- CSS 响应式
- CSS - 响应式网页设计 (RWD)
- CSS - 响应式设计视口
- CSS - 响应式网格视图
- CSS - 响应式媒体查询
- CSS - 响应式图像
- CSS - 响应式视频
- CSS - 响应式框架
- CSS 引用
- CSS - 所有属性列表
- CSS - 颜色引用
- CSS - 浏览器支持参考
- CSS - 网页字体
- CSS 工具
- CSS - PX 到 EM 的转换
CSS - 自定义属性
自定义属性使用以 --- 开头的名称,例如 --color-name。这些属性可以存储值,然后可以使用 var() 函数在其他元素中使用这些值。
自定义属性特定于元素,其值遵循级联规则,自定义属性的值由级联算法确定。
可能的值
- <declaration-value> - 此值可以是标记的任意组合,但不得包含某些不允许的标记。它指定了有效声明可以具有哪些值作为其值。
适用于
所有 HTML 元素。
语法
--keywordValue: right;
--colorValue: #e74c3c;
--complexValue: 5px 10px rgb(238, 50, 17);
CSS 自定义属性 - 值中的逗号
以下语法演示如何使用逗号使用多个值。transform: scale(var(--scale, 1.1, 1.5)) 属性定义了第一个逗号(分隔回退逗号)和第二个逗号(值 -
button {
transform: scale(var(--scale, 1.1, 1.5));
}
CSS 自定义属性
以下示例演示了自定义属性的使用 -
<html>
<head>
<style>
:root {
--red-color: red;
--green-color: rgb(125, 226, 31);
}
div {
width: 200px;
height: 100px;
margin: 10px;
}
.box1 {
background-color: var(--green-color);
color: var(--red-color);
}
.box2 {
background-color: var(--red-color);
color: var(--green-color);
}
.box3 {
--pink-color: rgb(247, 30, 193);
}
.box3 p {
color: var(--pink-color);
}
</style>
</head>
<body>
<div class="box1">
Green Background, Red Text
</div>
<div class="box2">
Red Background, Green Text
</div>
<div class="box3">
<p>Pink Text</p>
</div>
</body>
</html>
CSS 自定义属性 - 设置值
以下示例演示可以使用另一个自定义属性来设置自定义属性的值 -
<html>
<head>
<style>
html {
--red-color: #e92424;
--green-color: #2c1fdd;
--yellow-color: #f6f867;
--back: var(--yellow-color);
--para: var(--green-color);
--border: var(--red-color);
}
div {
width: 200px;
height: 150px;
padding: 10px;
background-color: var(--back);
border: 3px solid var(--border);
}
h3 {
color: var(--green-color);
text-align: center;
}
p {
color: var(--para);
}
</style>
</head>
<body>
<div>
<h3>Tutorialspoint</h3>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text.</p>
</div>
</body>
</html>
CSS 自定义属性 - 分割颜色
以下示例演示当您将鼠标悬停在框上时,通过修改 --h、--s、--l 和 --a 的值来更改背景颜色 -
<html>
<head>
<style>
.box {
width: 150px;
width: 150px;
padding: 10px;
--h: 0; /* hue */
--s: 70%; /* saturation */
--l: 50%; /* lightness */
--a: 1; /* alpha */
background-color: hsl(var(--h) var(--s) var(--l) / var(--a));
color: white;
}
.box:hover {
--l: 75%;
}
.box:focus {
--s: 75%;
}
.box[disabled] {
--s: 0%;
--a: 0.5;
}
</style>
</head>
<body>
<div class="box">
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text.
</div>
</body>
</html>
CSS 自定义属性 - Shadow
以下示例演示了具有 --shadow 值的框阴影效果。框阴影最初是 2px,但当您将鼠标悬停在它上面时,阴影增加到 10px -
<html>
<head>
<style>
.box {
width: 150px;
width: 150px;
padding: 10px;
margin: 30px;
--shadow: 2px;
background-color: aqua;
box-shadow: 0 0 20px var(--shadow) red;
}
.box:hover {
--shadow: 10px;
}
</style>
</head>
<body>
<div class="box">
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text.
</div>
</body>
</html>
CSS 自定义属性 - 渐变
以下示例演示了具有渐变背景的框从绿色过渡到黄色再到红色。渐变角最初为 90 度,但当您将鼠标悬停在其上时,渐变角变为 180 度 -
<html>
<head>
<style>
.box {
width: 150px;
width: 150px;
padding: 10px;
margin: 30px;
--gradient-angle: 90deg;
background: linear-gradient(var(--gradient-angle), green, yellow, red);
}
.box:hover {
--gradient-angle: 180deg;
}
</style>
</head>
<body>
<div class="box">
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text.
</div>
</body>
</html>
CSS 自定义属性 - 网格
以下示例演示了网格布局,其中列的宽度根据屏幕宽度而变化。--boundary 的值最初是 30px,但是当您调整浏览器窗口的大小时,--boundary 值会变为容器宽度的 40% -
<html>
<head>
<style>
.box {
background-color: lightcoral;
display: grid;
--boundary: 30px;
grid-template-columns: var(--boundary) 1fr var(--boundary);
}
@media (max-width: 800px) {
.box {
--boundary: 40%;
}
}
</style>
</head>
<body>
<div class="box">
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text.
</div>
</body>
</html>
CSS 自定义属性 - 转换
以下示例演示了使用自定义属性的转换效果。当您将鼠标悬停在按钮上时,它会缩小到原始大小的 80%,当您单击它时,它会向下移动 3px -
<html>
<head>
<style>
button {
transform: var(--scale-button, scale(1)) var(--translate-button, translate(0));
padding: 10px;
background-color: yellow;
}
button:active {
--translate-button: translate(0, 3px);
}
button:hover {
--scale-button: scale(0.8);
}
</style>
</head>
<body>
<button>
Tutorialspoint
</button>
</body>
</html>
CSS 自定义属性 - 单位类型的串联
以下示例演示如何使用 CSS 自定义属性动态设置字体大小。calc() 函数通过将自定义属性 --size-val 和 --pixel-values 相乘来计算大小 -
<html>
<head>
<style>
html {
--size-val: 24;
--unit-val: px;
font-size: var(--size-val) + var(--unit-val);
font-size: calc(var(--size-val) * 1px);
--pixel-values: 1px;
font-size: calc(var(--size-val) * var(--pixel-values));
}
.box {
width: 200px;
height: 150px;
background-color: yellowgreen;
}
</style>
</head>
<body>
<div class="box">
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
</div>
</body>
</html>
CSS 自定义属性 - 使用级联
以下示例演示了如何通过级联使用 CSS 自定义属性。第一个框使用默认的全局 --background-color 值(黄色),第二个框使用本地 --background-color 值(浅蓝色) -
<html>
<head>
<style>
html {
--background-color: yellow;
--color: red;
}
.container {
--background-color: lightblue;
}
.box {
background: var(--background-color);
}
div {
height: 100px;
width: 100px;
margin: 10px;
}
</style>
</head>
<body>
<div class="box">
Yellow background color box.
</div>
<div class="container">
<div class="box">
Blue background color box.
</div>
</div>
</body>
</html>
CSS 自定义属性 - :root
以下示例演示如何使用 :root 选择器设置自定义属性。:root 选择器尽可能高地匹配 -
<html>
<head>
<style>
:root {
--yellow: yellow;
}
.box {
background-color: var(--yellow);
}
</style>
</head>
<body>
<div class="box">
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
</div>
</body>
</html>
CSS 自定义属性 - 与 !important 结合使用
以下示例演示了将 !important 应用于 --background-color 变量时,很难覆盖 --background-color 变量的值 -
<html>
<head>
<style>
.box {
--background-color: yellow !important;
background-color: var(--background-color);
--text: red;
color: var(--text);
}
</style>
</head>
<body>
<div class="box">
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
</div>
</body>
</html>
CSS 自定义属性 - 回退
以下示例演示了按钮上的缩放变换效果。比例因子是使用 --scale 自定义属性指定的。如果未定义 --scale,则刻度设置为 1.2 −
<html>
<head>
<style>
button {
transform: scale(var(--scale, 1.2));
padding: 10px;
background-color: yellow;
margin: 5px;
}
button:hover {
--scale: scale(0.8);
}
</style>
</head>
<body>
<button>
Hover Me
</button>
</body>
</html>
CSS 自定义属性 - @property
以下示例演示如何使用@property规则来定义自定义属性 --gradient-color,其初始值为 pink 和过渡效果。当您将鼠标悬停在框上时,渐变颜色会变为绿色 -
<html>
<head>
<style>
@property --gradient-color {
initial-value: pink;
inherits: false;
}
.box {
width: 150px;
height: 150px;
--gradient-color: pink;
background: linear-gradient(var(--gradient-color), yellow);
transition: --gradient-color 1s;
}
.box:hover {
--gradient-color: green;
}
</style>
</head>
<body>
<div class="box">
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
</div>
</body>
</html>