css基础
css 基础
文档流(normal flow)
文档流里有块、内联以及内联块
1. block(块):可自行设定宽度(width),高度(height)(不设定情况下,由内部文档流决定)并且独占一行
2. inline(内联):由内容限定宽度,高度由 line-height 间接确定(跟 height 无关).跟其他内联占满一行(多余另起一行)
3. inline-block(内联块):可自行设定宽度以及高度,但具有内联特性(不会独占一行)又具有块的特性(块不可分离)
注意要点: width and height 默认是:auto(自动伸缩); width 不可写:100%(会有 bug); 当内容大于宽度或者高度时,会发生溢出。overflow属性默认:visible(显示溢出部分)。hidden(溢出部分隐藏),auto(根据实际宽度和宽度出现滚动条),scroll(不管是否溢出直接除滚动条).当前是overflow:auto; 块级元素里没有content,height为0
脱离文档流
会使当前容器脱离父容器,父容器的宽高度计算则忽略有以下代码的子容器
position:absolute/fixed; or float:left;
盒模型
content padding border margin 共有 4 层。内容+内边距+边框+外边距
两种盒模型
1. content box(内容盒) 内容就是盒模型的边界
2. border box(边框盒) 边框就是盒模型的边界
margin 合并
当上下都有 margin 时(没有 border 等等),外边距会合并。
- 父子合并(最上父子 margin 和最下父子 margin)
- 兄弟合并(相邻的 margin 也会合并)
以上情况都是在 Margin 和 Margin 之间没有其他属性存在,才会合并
- 消除父子之间合并 padding/border/overflow:hidden/display:flex;
- 兄弟之间合并可以用 inline-block;
基本单位
1. 长度单位
- px 像素
- em 相对于自身 font-size 大小的倍数
- 百分数
- 整数
- rem
- vw vh
2. 颜色单位
- 十六进制(#000000 可缩写#000)
- rgb/rgba (rgb(0-255,0-255,0-255),a(0-1)透明)
- hsl/hsla(hsl(1-360,百分比,百分比),a(0-1)透明)
彩虹(只供参考)
问题
1. 第一问! CSS 是什么以及是谁发明的?
css 全称为:Cascading style sheets(层叠样式表).是具有不同样式的一张表可被一调多层叠(如一人穿两件外套)
由哈肯·莱提出建议并且与伯特·波斯发布了 CSS 规范的第 1 个版本