CSS篇
CSS基础
CSS选择器和优先级
选择器 | 格式 | 权重 |
---|---|---|
id选择器 | #id | 100 |
类选择器 | .classname | 10 |
属性选择器 | a[ref="eee"] | 10 |
伪类选择器 | li:last-child | 10 |
标签选择器 | div | 1 |
伪元素选择器 | li:after | 1 |
相邻兄弟选择器 | h1 + p | 0 |
子选择器 | ul>li | 0 |
后代选择器 | li a | 0 |
通配符选择器 | * | 0 |
选择器优先级:
- 内联样式:1000
- id选择器:100
- 类选择器:伪类选择器,属性选择器10
- 标签选择器,伪元素选择器1
!important声明的样式优先级最高
优先级如果相同,后边的样式覆盖前边的
继承得到的样式优先级最低
css中继承属性和不可继承属性有哪些
不可继承属性
- display
- 文本属性中的:文本阴影效果,文本方法,文本对齐
- 盒子模型中:宽高内边距,外边距,边框
- 背景属性:
- 定位属性:float,clear,position
可继承属性:
- 字体大小,字体风格,字体粗细
- 文本属性:文本缩进,文本水平对齐,行高
- 元素可见性:visibility
- 列表属性:list-style
- 光标:cursor
display的属 性
- none:不显示
- block:快元素:可设置宽高
- inline:行内元素:不可设置宽高,同行显示
- inline-block:行内快:可设置宽高,同行显示
行内元素和块元素特点
(1) 行内元素
- 设置宽高无效
- 可以设置水平方向的margin和padding,不能设置垂直方向的padding和margin
- 不会自动换行
(2)块级元素
- 可以设置宽高
- 设置margin和padding都有效
- 可以自动换行
- 多个块状,默认从上到下
什么是BFC
BFC是block Format Context,块级格式上下文。当元素满足了一定的条件,我们就认为该元素创建了BFC。
创建了BFC的元素,我们可以把她当作一个独立的容器,容器内的元素不论如何布局都不会影响到外面
创建BFC的方式
- 根元素
- 浮动元素
- 绝对定位和固定定位
- 行内快元素
- 表格单元格,表格行,表格标题。
- overflow的值不为visible的块元素
- 伸缩项目
- 多列容器
- column-span为all的元素始终会创建一个新的BFC
创建BFC可以解决的问题
- 清除子元素浮动的影响:给浮动元素的父元素创建BFC,清除掉子元素浮动的影响。
- 给父元素创建BFC,第一个和最后一个子元素的外边距不会塌陷。
隐藏元素的方法
- display:none;渲染树不会渲染对象
- visibility:hidden;元素仍占据空间,不会响应绑定的监听事件
- opacity:0;将元素的透明度设置为0。元素占据空间,响应元素绑定的监听事件
- position:absolute;通过定位将元素移动到可视范围外,隐藏元素。
- z-index:负值;使用其他元素遮盖住该元素。
- transform:scale(0,0);将元素缩放为0,来实现元素的隐藏。元素仍在页面中占据位置,不会响应绑定的监听事件
link和import区别
两者都是外部引入css的方式,区别
- 加载时机不同:link在页面载入是同时加载,@import需要页面完全加载完毕后加载。
- 兼容性不同:link所有主流浏览器都支持,@import在早期浏览器支持不佳
- js控制能力不同:link标签,js可以操作,@import不可操作
- 用途范围不同:link标签除了可以加载css,还可以加载RSS订阅;@import只能用来处理css