CSS
1、 基础篇
1.1、选择器
1.2、长度单位
1.3、CSS2 常用属性
1.4、盒模型
1.5、浮动
1.6、定位 position
2、 CSS3
2.1、新增长度单位
2.2、新增颜色表示
2.3、新增选择器
2.4、新增盒子属性
2.5、新增背景属性
2.6、新增边框属性
2.7、新增文本属性
2.8、线性渐变 background-image
2.9、字体声明
2.10、2D 变换 transform
2.11、3D 变换
2.12、过渡
2.13、动画
2.14、多列布局
2.15、伸缩盒模型
2.16、媒体查询与响应式布局
2.16、BFC
3、 总结
3.1、居中
3.2、浮动、定位、位移、弹性盒子比较
3.3、文本溢出处理
3.4、渐变画图(信纸)
3.5、留白处理
1、 基础篇
1.1、选择器
基础选择器
类型
描述
*
通配选择器
选择所有 标签
.class
类选择器
#id
ID 选择器
tag
元素选择器
选择所有 tag 标签 tag1,tag2:选择所有 tag1、tag2 标签
子代选择器
描述
tag1 tag2
选择所有 tag1 标签内部 的所有 tag2 标签(直系关系)
tag1>tag2
选择所有 tag1 标签的所有 tag2 直接子 标签(父子关系)
兄弟选择器
描述
tag1+tag2
选择所有 tag1 标签之后紧接的一个 tag2 标签(兄弟关系)
tag1~tag2
选择位于所有 tag1 标签之后的所有 tag2 兄弟 标签(兄弟关系)
属性选择器
描述
[attr]
选择带有 attr 属性的所有 标签
tag[attr]
选择带有 attr 属性的所有 tag 标签
tag[attr=value]
选择 attr 属性为 value 的所有 tag 标签
tag[attr^=value]
选择 attr 属性以 value 开头 的所有 tag 标签
tag[attr$=value]
选择 attr 属性以 value 结尾 的所有 tag 标签
tag[attr*=value]
选择 attr 属性包含 value 子串 的所有 tag 标签
tag[attr~=value]
选择 attr 属性包含 value 单词 的所有 tag 标签
tag[attr|=value]
选择 attr 属性为 value 的所有 tag 标签 或者 选择 attr 属性以 value- 开头 的所有 tag 标签(注意value后有一个连接字符)
1.2、长度单位
长度
描述
mm
毫米
cm
厘米
px
显示器的一个像素单位
em
值*当前元素的 font-size(没有的话就一直往上级找 font-size,最后还是没有的话就采用默认的 font-size 大小)
rem
值*根元素的 font-size(没有设置的话就采用默认的 font-size 大小)
百分比
父元素长宽的百分比
1.3、CSS2 常用属性
颜色
描述
示例
颜色名
teal
rgb
rgb(红,绿,蓝)
HEX / HEXA
#红绿蓝 / #红绿蓝透明度
#FF998866(可以简写为 #F986)
字体
描述
描述
font-size
字体大小
示例:font-size:12px
font-family
字体族
示例:font-family:“Segoe Script”,“微软雅黑”
font-style
字体风格
示例:font-style:italic
(斜体)
font-weight
字体粗细
属性值:lighter
/ normal
/ bold
/ bolder
/ 数值
(不带单位)
font
复合属性
属性值的顺序:其他属性 大小 字体族(以空格分隔)
TIP 1、font-weight 一般只有 lighter、normal、bold,一些字体会有 bolder;如果使用数值来表示粗细的话, lighter、normal、bold、bolder会对应一个范围的数值,例如小于等于 300 的粗细都跟 lighter 一样,而不是说 100 就会比 200 小 2、font 的属性值最后两位必须是大小、字体族,而其余的例如风格、粗细在前头是可以乱序的 3、<em>...</em>
自带斜体效果 4、font-size:xxx 其实是指一个长度为 xxx 的框框,而字体在设计的时候不一定是设计在这个框框的正中央,有可能偏上、偏下、甚至是超出,这个框框只是用于限定一个字符大概的范围。因此如果 font-size 和行高设置为一样的话,对于会超出框框的字体来说,可能会不同行的字体会出现重叠的情况
文本
描述
color
字体颜色
background-color
背景颜色
letter-spacing
字母/汉字间距(单位:px)
word-spacing
单词间距(前后为空的视为一个单词)(单位:px)
text-decoration
文本修饰,接收三个属性:类别、样式、颜色(可以乱序) 类别 —— overline
:上划线,underline
:下划线,line-through
:删除线 样式 —— dotted
:虚线,wavy
:波浪线
text-indent
缩进,单位是 px,设置为字体大小的两倍,就相当于首行缩进两个空格
text-align
文本对齐left
:左对其,center
:居中,right
:右对其
line-height
行高,line-height 一般要设置比 font-size 更大一些normal
:浏览器会自动调整,保证在最紧凑的情况下,不会出现不同行的字体发生重叠的情况
vertical-align
非块级子元素的垂直方向对齐方式top
:顶部对其,bottom
:底部对齐,baseline
:基线对齐(默认)
TIP 1、text-decoration:none
可用于去掉超链接的下划线 2、<ins>...</ins>
自带下划线、<del>...</del>
自带删除线 3、line-height 的值是一个不带单位的数时,相当于 数值 * font-size,例如 line-height:1 相当于 line-height 与 font-size 一样大,因此一般写数值的话可以控制在 1.5 ~ 2 之间 4、tr 标签中的 valign
属性用于控制其文本的垂直方向对齐方式,top
:顶部对齐,bottom
:底部对齐,middler
:居中对齐
列表
描述
list-style-type
列表符号的类型none
:不要符号,square
:小方块,lower-roman
:小写罗马数字,upper-roman
:大写罗马数字,decimal
:数字
list-style-position
列表符号的位置inside
:列表符号跟文本是一体的,outside
:列表符号跟文本不是一体的(给 li 标签加个背景颜色可以看出区别)
list-style-image
自定义列表符号
list-style
符合属性,可以乱序
边框
描述
border-width
边框宽度
border-color
边框颜色
border-style
边框样式solid
:实现,dashed
:虚线,dotted
:点线,double
:双实线
border
符合属性,可以乱序
TIP:border-width、border-color、border-style 要同时设置样式效果才能出来
表格
描述
table-layout
控制列宽auto
:根据列的内容调整,不同列宽度可能不同,fixed
:根据全局进行跳转,所有列的宽度相同
border-spacing
控制单元格间距
empty-cells
隐藏没有内容的单元格边框show
:显示,hide
:隐藏
border-collapse
合并相邻的单元格的边框(不是合并单元格)separate
:不合并,collapse
:合并(这会让 table-spacing、empty-cells 失效)
caption-side
设置 thead 标签的位置top
:顶部(默认),bottom
:底部
背景
描述
background-color
背景颜色,默认是transparent
(透明)
background-image
背景图片(太小的话,默认是填充)
background-repeat
背景图片的适应模式repeat
:填充,repeat-x
:水平填充,repeat-y
:垂直填充,no-repeat
:原模原样
background-position
背景图片的位置left top
:左上角对齐,right bottom
:右下角对齐,center center
:居中对齐,10px 20px
:距左10px、距顶20px
background
符合属性,可以乱序
鼠标
描述
cursor
鼠标样式pointer
:小手,move
:移动,wait
:等待,url(...),pointer
:自定义
溢出
描述
overflow
溢出的处理方式hidden
:隐藏,visible
:显示(默认),scroll
:滚动条,auto
:自动
overflow-x
横向上的溢出处理方式
overflow-y
纵向上的溢出处理方式
隐藏
描述
display
隐藏none
:不占位隐藏
visibility
隐藏show
:显示(默认),hidden
:占位隐藏
1.4、盒模型
display 声明盒模型
描述
block
块元素
inline-block
行内块元素
inline
行内元素
元素的显示模式
描述
注意点
块元素/块级元素
宽度拉满独占一行,高度默认由内容撑开,可以自行设置
行内元素/内联元素
不独占一行,宽高由内容决定,不能自行设置
行内块元素
不独占一行,宽高默认由内容决定,可以自行设置
行内元素的左右 margin 可以设置,上下 margin 设置完了没有效果