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