单位
- 三个常见的单位值
px
、%
、em
-
px
,1px
就是一个像素点 -
%
单位值- 根据父级元素的相对应的属性值而改变
- 并不是所有可设置单位值得CSS属性都可以用
%
百分比,比如border-width
-
margin
和padding
使用%
百分比做为属性值单位,会根据父级元素的width
来计算 -
background-position
属性设置%
百分比值,将百分比值作为图片的中心坐标原点去计算相对于容器元素左上角的坐标位置。
-
em
单位值-
em
是相对于父级元素的字体font-size
大小而改变 - 当页面中的字体大小未被设置,浏览器的系统字体大小未被改变,默认字体大小一般是
16px
-
-
-
vh
和vw
-
vh
:viewPort height,视窗的高度 -
vw
:viewPort width,视窗的宽度
1vh
是相对于视窗区域的1/100
,满屏高度的容器是height:100vh;
-
选择符
常用选择符
常用的选择符有tag
、#idName
、className
还有通配符*
-
组合选择符
-
E F
:E元素的后代元素F -
E > F
:E元素的子元素F -
E + F
:相邻于E元素的F元素 -
E ~ F
:与E元素同级的且在其之后出现的F元素
-
-
属性选择器
-
E[foo]
拥有foo
属性的元素 -
E[foo="bar"]
拥有foo
属性,且属性值为bar
的元素 -
E[foo~="bar"]
拥有foo
属性,且属性值中有空格隔开,其中一个为bar
的元素 -
E[foo^="bar"]
拥有foo
属性,且属性值是以bar
开始的元素 -
E[foo$="bar"]
拥有foo
属性,且属性值是以bar
结束的元素 -
E[foo*="bar"]
拥有foo
属性,且属性值中包含bar
的元素 -
E[foo|="bar"]
拥有foo
属性,且属性值是从左边以bar
开始,并且是通过连字符(-
)衔接的元素
-
-
结构型伪类选择符
结构型的选择符主要是根据HTML结构来选择的,大致可以分为- 结构数量
E:nth-child(n)
E:nth-last-child(n)
E:nth-of-type(n)
E:nth-last-of-type(n)
child
代表的是拥有同一父级元素的兄弟元素,而type
则是元素类型,last
的作用是从E
元素结构的后面往上数。nth-child
和nth-of-type
的计算方式是一样的,不同的是nth-of-type
会在同级元素中跨过中间的类别继续去计算- 类型结构
:root
:empty
:only-child
:only-of-type
:first-child
:last-child
:first-of-type
:last-of-type
- 结构数量
-
元素状态类选择符
鉴于元素状态类选择符的兼容性问题,最为常用和实用的是:checked
选择符-
:checked
元素状态类选择符
对于新的浏览器而言,表单元素的样式定义,在相应的表单中增加
appearance
这个属性即可,在移动端,大部分都是webkit
内核的浏览器,所以如下写即可自定义样式-webkit-appearance:none; appearance:none;
:checked
表示表单元素被选中,表单元素中,可以判断选中状态的仅有type=radio
和type=checkbox
的input
输入表单-
其他几种元素状态类选择符(了解)
-
E:valid
和E:invalid
表单输入是否有效这个需要结合
pattern
这个正则属性来判断用户的输入信息是否有效才会有的效果 -
E:disable
与E:enabale
表单是否可用在特定的情况下,需要让表单不可用,比如因为某个条件不满足的时候,其中部分表单是不可用的,这时候就可以用
input:disabled
这样的形式来改变这个不可用的表单元素样式,反之亦然。
-
-
E:read-only
表单只读在特定情况下,我们需要用户只能看到表单元素内容,但不希望用户输入任何信息的时候,会对表单设置
readonly
属性,如果需要改变样式,可以通过属性选择符input[readonly]
或者input:read-only
选择符来改变表单样式 E:required
表单必填
-
目标伪类选择符
目标伪类选择符在CSS中算是新增的一种方式,a
标签有一种叫锚点的特性,当我们通过锚点跳转到指定位置并且有突出的样式告知用户跳转的位置时,就可以用:target
这个选择符