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 设置完了没有效果 |