1. box-sizing
*{
padding:0;
margin:0;
box-sizing:border-box;
}
上述CSS,可以规定所有元素的宽和高从border算起,包括了boder和padding的宽度。
border-sizing还可以取值content-box,则宽和高不包括border和padding。
2. em
css中的单位可以是px,也可以是em。px和像素相关,当不同设备上,px大小都一样;em和设备相关,类似百分比,不同设备则等比例放大或缩小。
3. margin:auto
如果是盒子模型的页面,把元素设置为margin:auto,则元素会自动居中。
4. min-height
在CSS中,min-height是一种属性,用于设置元素的最小高度。这意味着如果元素的内容或其父元素增加,那么该元素的高度至少会扩展到min-height所定义的值。
例如,如果你为一个元素设置了min-height: 200px;,那么无论内容如何,该元素的高度都不会小于200像素。如果内容或其父元素使其高度增加,那么该元素的高度也会相应地增加。
这与height属性不同,height属性会固定一个元素的高度,无论内容或其父元素如何变化。使用min-height可以确保元素始终保持足够的大小以适应其内容,而不会出现由于内容过多而溢出的问题。
需要注意的是,min-height只定义了元素的最小高度,而不是最大高度。如果内容过多,元素可能会超过min-height所定义的值。此外,如果同时设置了min-height和max-height,那么元素的高度将在两者之间进行折衷。
5. &
在CSS中,&符号并不是必需的,它通常在特定的上下文中使用,比如在Sass(Syntactically Awesome Style Sheets)中。
在Sass中,&符号表示嵌套的上一级选择器。例如,在源代码中,你可以看到如下的代码:
scss
ul {
margin-bottom: 20px;
& > li {
margin-bottom: 0;
}
}
这段代码等同于以下的CSS代码:
css
ul {
margin-bottom: 20px;
}
ul > li {
margin-bottom: 0;
}
在Sass中,&符号是用来引用父元素选择器的,使得你可以在嵌套的选择器中复用父元素选择器,而不必重复编写代码。而在普通的CSS中,&符号并不常用。
6. active
在CSS中,active是一种状态,表示当前被点击的元素。当用户点击一个链接或按钮后,该元素就处于激活状态,可以通过CSS的active伪类来改变元素样式或行为。使用active伪类可以增加用户交互性和页面反馈,从而为用户提供更加友好的体验,使页面更加具有生命力和趣味性。
7. transform
CSS transform属性允许你改变HTML元素的位置和形状,它是一个2D或3D转换方法。以下是一些常见的转换方法:
translate(): 此函数将元素从其当前位置移动。例如,transform: translate(50px, 100px); 会将元素水平移动50像素,垂直移动100像素。
scale(): 此函数会根据给定的因子来增大或缩小元素的尺寸。例如,transform: scale(2, 0.5); 将元素的宽度放大两倍,高度缩小一半。
rotate(): 此函数会根据给定的角度来旋转元素。角度可以是deg(度)或rad(弧度)。例如,transform: rotate(45deg); 将元素顺时针旋转45度。
skew(): 此函数会使元素倾斜。你可以为水平和垂直方向指定不同的倾斜度。例如,transform: skew(30deg, 20deg); 将元素在水平方向倾斜30度,在垂直方向倾斜20度。
matrix(): 此函数可以组合多个2D转换效果。例如,transform: matrix(1, 0, 0, 1, 50, 100); 等同于 transform: translate(50px, 100px);。
此外,你还可以组合多个转换效果,例如 transform: translate(50px, 100px) rotate(45deg);。注意,转换的顺序会影响结果。
如果你想进行3D转换,还有更多可用的方法,比如 rotateX(), rotateY(), rotateZ(), translate3d(), scale3d() 等。
注意:在CSS3中,浏览器可能需要前缀(如 -webkit-, -moz-, -ms-, -o-)来支持这些转换效果。但是,从CSS3开始,大多数现代浏览器都支持这些转换而无需前缀。