这是我参与【第五届青训营】笔记创作活动的第二天
选择器{
属性:属性值;(声明)
}
使用方法:
外链:单独的css文件,通过link标签引入html文件
嵌入:利用style标签
内联:style属性 (属性较多时并不推荐)
选择器:
通配选择器:*{...}
标签选择器:标签名{...}
id选择器: id="..." #id名{...} ,id唯一
类选择器: class属性,.class名{...}
属性选择器:[特定属性]{...}
伪类:不基于标签和属性定位
状态伪类:元素处于某种状态的样式。例如:链接被点击后的样式等。
结构性伪类:列表中选项的样式。
组合:
直接组合:AB , 满足A也满足B。
后代组合:A B, A的子孙中选B。
亲子组合:A>B, A的子元素中选B。
兄弟选择器:A~B,在A之后或同级中选B。
相邻选择器:A+B,选择紧跟在A后面的B。
选择器组:多个属性或标签名一起,逗号隔开 1, 2, 3, {...}
颜色:
RGB: 三原色,rgb(红,绿,蓝) #8fac87
HSL:hsl(色相 0360,饱和度 0100%,亮度0~100%)
透明度alpha :0 透明 ,1 不透明
字体font-family:不同设备字体有限,一般指定多个字体 serif sans-serif 通用字体
font-size font-style font-weight line-height(行高,默认的一般不合适)
font: style weight size/height family
其他:text-align spacing text-indent text-decoration
html中多个空格会合并成一个,解决方法:white-space
选择器的特异度
由id(#)、类(.)、标签,三个的数量构成的数字
继承:某些属性会自动继承其父元素的计算值,除非显式指定一个值。
若不可继承,可用显示继承(inherit)
初始值:可用关键字initial使其变为初始值。
求值过程:
由DOM树、样式规则 filtering(选择符合条件的) 声明值
cascading(优先级最高) 层叠值
defaulting(层叠值为空,用继承或初始值) 指定值
resdving(将关键字或相对值转化为绝对值) 计算值
formatting(关键字、百分比变为绝对值) 使用值
constraining(小数像素转为整数) 实际值
布局:常规流、浮动、绝对定位
宽度width 高度height
内边距padding-top/bottom/left/right
边框border 四个方向 style width color 边框样式、粗细、颜色
外边距margin 四个方向 margin:auto 水平居中
box-sizing:border-box 整个容器大小(包括边距)
overflow 溢出内容 visible hidden scroll
块级:不能并列摆放
行级:在一行或多行
display属性:block(块级盒子)、inline(行级盒子)、inline-block(本是块级但可放在行盒)、none(排版忽略)
常规流:
行级排版上下文 IFC :按行优先排列 text-align水平对齐 vertical-align垂直对齐
块级排版上下文 BFC :从上到下,垂直margin合并,BFC盒子内的margin不会与外面合并,不会与浮动元素重叠
Flex Box :摆放流向、顺序,盒子宽度、高度,水平、垂直方向,是否允许折行
主轴 justify-context 侧轴 align-items
Flexibility 子项弹性
Flex是一个方向,Grid布局是一个二维的,先划分格子再摆放盒子
float浮动:实现文字环绕图片的效果
position属性:
static 默认
relative 相对原来位置偏移,不脱离文档流
absolute 相对于非static祖先绝对定位,脱离文档流
fixed 相对于视口绝对定位,脱离文档流