在 CSS 中,有一些内置的函数可以帮助我们实现更复杂和灵活的样式效果。以下是一些常见的 CSS 函数
1. calc()
函数允许进行数学计算来确定属性值。例如,width: calc(100% - 50px);
可以根据屏幕宽度动态调整元素宽度。
案例:响应式布局
.container {
width: calc(100% - 20px);
padding: 0 10px;
}
@media (min-width: 768px) {
.container {
width: calc(750px - 20px);
}
}
2.
rgba()
函数用于创建具有透明度的颜色值。像 color: rgba(255, 0, 0, 0.3);
这样的设置能使颜色呈现半透明效果。
案例:透明度调整
.overlay {
background-color: rgba(255, 0, 0, 0.3);
}
3. url()
函数用于引入外部资源,常见的是图片。比如 background-image: url('image.png');
来设置背景图片。
4. var()
函数能够引用自定义的 CSS 变量。假如定义了 --primary-color: #007bff
,则可以通过 color: var(--primary-color);
来使用该变量定义的颜色。
案例:引用变量
:root {
--primary-color: #007bff;
--font-size: 16px;
}
.button {
background-color: var(--primary-color);
font-size: var(--font-size);
}
5. hsl()
函数以色相、饱和度和亮度来精确指定颜色。例如 background-color: hsl(240, 100%, 50%);
表示蓝色。
6. linear-gradient()
或 radial-gradient()
函数创建独特的背景效果
案例:渐变色背景
body {
background: linear-gradient(to bottom, red, blue);
//函数用于创建线性渐变背景。如 从顶部的红色渐变到底部的蓝色。
}
/* 或者 */
div {
background: radial-gradient(circle, red, yellow);
// 函数用于创建径向渐变背景。比如 以圆形方式从红色渐变到黄色。
}
7. blur() 方法将高斯模糊应用于输出图片。 例如:filter: blur(0); 模糊的半径,值为<length>。它定义了高斯函数的标准偏差值,即屏幕上有多少像素相互融合; 因此,较大的值会产生更多模糊。值为 0 会使输入保持不变。该值为空则为 0。
案例:处理图片模糊
blur(0) /* No effect */
blur(8px) /* Blur with 8px radius */
blur(1.17rem) /* Blur with 1.17rem radius */
8. translate() 方法函数在水平和/或垂直方向上重新定位元素。单个值边上在水平方向上的唯一,两个值表示第一个值在水平方向上的位移、第二个值表示在竖直方向上的位移。
案例:元素在屏幕中的位移
/* Single <length-percentage> values */
transform: translate(200px);
transform: translate(50%);
/* Double <length-percentage> values */
transform: translate(100px, 200px);
transform: translate(100px, 50%);
transform: translate(30%, 200px);
transform: translate(30%, 50%);
9. translate3d(),translateX(),translateY(),translateZ() 同表示在不同方向上的位移。