CSS知识总结 1
目录
CSS 知识总结 1
最近快速的把css过去了,感觉css本身不正交,细节太多,知识框架大概有了,基本的功能了解了会用了,然后做了几个小练习就得赶快继续,没有必要纠结太久,之后在项目里不断积累就好。
1. CSS 小常识
CSS:层叠样式表
1.1. 层叠的含义
- 样式:多次对用一选择器,进行样式声明
- 选择器:不同选择器对同一元素,进行样式声明
- 文件:多个文件进行层叠,即多个CSS文件
- 极度灵活,也是隐患,会被别人覆盖
1.2. CSS版本
CSS2.1 最广泛使用 CSS3 现代版本,开始分模块,自此每个模块自己升级,只有模块版本号,没有整体的CSS版本
1.3. 浏览器支持
前端社区Can I Use:caniuse.com
2. CSS基本概念
2.1. 文档流Normal Flow:
2.1.1. 流动方向:
- inline内联元素:如span元素,从左到右,到最右换行,会分为两部分
- block块元素:如div元素,从上到下,每个一行
- inline-block元素:从左到右
- 不会在两行间
- 每个元素都可以是内联或者块级元素
- 浏览器默认样式inline,如没有被包住的文字
- display:inline/block/inline-block
2.1.2. 宽度:
- 内联inline元素:尽量窄
- 如span由所有内联宽度组成
- 内联元素不接受宽度,不能用width指定
- 不要在inline元素里写block元素
- 块级block元素:尽量宽
- Div能有多宽有多宽,不是100%,默认是auto
- Div宽度不要写100%
- 宽度可由width指定
- inline-block元素:尽量窄
- 可以设置宽度
2.1.3. 高度
- inline元素
- span高度由line-height实际高度间接决定
- 字体会改变!
- 参见:方 line height
- 行盒
- 字体会改变!
- 内联元素不接受高度,height不能设置
- padding改变可视范围,不改变高度
- span无内容:高度由line-height决定
- span高度由line-height实际高度间接决定
- block元素
- 里面的文档流元素确定,全部包住
- 有些元素可以脱离文档流
- absolute
- 设置height
- div无内容:高度为0
- inline-block
- 里面的文档流元素确定,全部包住
- 可设置block
2.1.4. overflow溢出:设置的比有的低
- overflow:
- visible
- hidden
- Scroll:会一直显示滚动条
- Auto:根据内容开启/关闭滚动条
- 内联元素只显示在第一屏
- overflow-x/overflow-y不是很好用
- 两个方向的滚动条
2.2. 盒模型
- 基本组件
- 内容content
- 内边距padding
- 边框border
- 外边距marign
- 两种盒模型
- content-box:width\height只包含content
- border-box:width\height包含content+padding+border
- border-box好用
- margin合并:只上下合并
- 两个孩子间margin合并
- inline-block可以取消margin合并
- Parent与第一个上和最后一个下的margin合并
- 取消
- 之间加padding或border
- overflow
- 取消
- 两个孩子间margin合并
2.3. 基本单位
- px像素
- em自身font-size的倍数
- 百分数
- 整数