CSS优先级及变形学习笔记

发布时间:2024-11-02 03:21:32

CSS优先级及变形学习笔记

CSS优先级

样式继承

某些样式属性(如color)会自动继承父元素的样式。 例如:

<div class="wrap">
    <p>Hello World</p>
</div>

<style>
.wrap {
    color: red;
}
</style>

结果:<p>标签中的文本会继承.wrap的color属性。

样式优先级

浏览器根据CSS优先级规则,决定应用哪些样式。 优先级规则: 内联样式 > ID选择器 > 类选择器/属性选择器/伪类选择器 > 标签选择器 !important 可覆盖其他声明。

示例代码:

p {
    color: red !important;
}
.text {
    color: blue;
}

优先级计算

选择器权值计算: !important: 10000 内联样式:1000 ID选择器:100 类/属性/伪类选择器:10 标签选择器:1

示例:

#msg { color: red; }  /* 权重:100 */
div.box.lg { color: blue; } /* 权重:21 */

结果:#msg 权重更高,优先应用样式。

CSS3变形 (Transforms)

Transform概念

CSS3的transform属性用于对元素进行移动、缩放、旋转和倾斜。

常用变形方法

1. 平移 translate()

沿X轴和Y轴移动元素。

transform: translate(50px, 100px);

2. 旋转 rotate()

元素围绕中心旋转指定角度。

transform: rotate(45deg);

3. 缩放 scale()

按比例放大或缩小元素。

transform: scale(1.5);

4. 倾斜 skew()

沿X轴或Y轴倾斜元素。

transform: skew(20deg, 10deg);

5. 矩阵 matrix()

使用六个参数综合设置元素变形。

transform: matrix(1, 0, 0, 1, 50, 50);

CSS3 3D变形

3D变形方法

translate3d(x, y, z) rotate3d(x, y, z, angle) scale3d(x, y, z)

透视 perspective

定义观察者到屏幕的距离。

.container {
    perspective: 1000px;
}

变形原点 transform-origin

控制变形发生的原点。

transform-origin: center center;
transform-origin: 50% 50%;

总结

CSS优先级决定了样式的应用顺序。 !important 覆盖一切样式。 CSS3的transform属性可用于2D和3D变形。 通过transform-origin可控制元素的变形基点。

下一步学习: CSS动画与过渡。