# CSS 基础属性
# CSS 选择器
- id选择器( # myid)
- 类选择器(.myclassname)
- 标签选择器(div, h1, p)
- 相邻选择器(h1 + p)
- 子选择器(ul > li)
- 后代选择器(li a)
- 通配符选择器( * )
- 属性选择器(a[rel = "external"])
- 伪类选择器(a: hover, li:nth-child)
# 优先级如何计算?
- 内联样式 > ID选择器 > 伪类 > 属性选择器 > 类选择器 > 标签选择器 > 通用选择器(*)
- 优先级就近原则,同权重情况下样式定义最近者为准,载入样式以最后载入的定位为准。
- !important 规则例外, 该样式声明会覆盖CSS中任何其他的声明,最高权重。
- 样式表中定义的样式,后面的优先级更高,覆盖前面的
样式覆盖
p标签颜色应该是 red,因为优先级是看样式定义中后面覆盖前面的:
<style>
.classA{
color:blue;
}
.classB{
color:red;
}
</style>
<p class="classB classA">123</p>
# CSS3新增伪类
- p:first-of-type:选择属于其父元素的首个p元素的每个p元素。
- p:last-of-type:选择属于其父元素的最后p元素的每个p元素。
- p:only-of-type:选择属于其父元素唯一的p元素的每个p元素。
- p:only-child:选择属于其父元素的唯一子元素的每个p元素。
- p:nth-child(2):选择属于其父元素的第二个子元素的每个p元素。
- p:nth-child(even):偶数行
- p:nth-child(odd):奇数行
- p:nth-child(2n):偶数行
- p:nth-child(2n+1):奇数行
- p:nth-child(-n+3):n为1、2、3的元素(-n+3>0的元素)
- :enabled :disabled:控制表单控件的禁用状态。
- :checked:单选框或复选框被选中。
# 伪类与伪元素的区别
伪类和伪元素的根本区别在于:它们是否创造了新的元素
。
- 从我们模仿其意义的角度来看,如果需要添加新元素加以标识的,就是伪元素,反之,如果只需要在既有元素上添加类别的,就是伪类。
- 使用语法二者也有不同:在CSS1和CSS2中,伪元素和伪类一样,都是用:开头。
- 但在CSS3中,伪元素以::开头,用以和伪类进行区分。IE8不支持::。因此如果要兼容IE8,只能用:。
# CSS3有哪些常用新特性
- 圆角(border-radius)
- 阴影(box-shadow)
- 文字阴影(text-shadow)
- 线性渐变(gradient)
- 变形(transform)
- 多背景rgba
- 新增选择器
- 媒体查询
# 关于CSS3中的transform
- transform的含义是:改变,使…变形;转换;
- transform的属性包括:rotate() / skew() / scale() / translate(,) ,分别还有x、y之分,比如:rotatex() 和 rotatey()。
# transform:rotate(): 含义:旋转;其中“deg”是“度”的意思,如“10deg”表示“10度”下同。
.demo_transform {
-webkit-transform: rotate(10deg);
-moz-transform: rotate(10deg);
}
# transform:skew(): 含义:倾斜;
.demo_transform {
-webkit-transform: skew(20deg);
-moz-transform: skew(20deg);
}
# transform:scale(): 含义:比例;“1.5”表示以1.5的比例放大,如果要放大2倍,须写成“2.0”,缩小则为负“-”。
.demo_transform {
-webkit-transform: scale(1.5);
-moz-transform: scale(1.5);
}
# transform:translate(): 含义:变动,位移;如下表示向右位移120像素,如果向上位移,把后面的“0”改个值就行,向左向下位移则为负“-”。
.demo_transform {
-webkit-transform: translate(120px,0);
-moz-transform: translate(120px,0);
}
← CSS 中的定位机制 样式布局中的奇技淫巧 →