这是我参与「第五届青训营 」伴学笔记创作活动的第 2天
html和css相关基础知识第一部分,包括选择器、继承、空格处理和初始值等细节
选择器
| 选择器名称 | example |
|---|---|
| id选择器 | #logo{ } |
| 类选择器 | .logo{ } |
| 标签选择器 | h1{ } |
| 属性选择器 | [disabled]{ } input[href^="#"]{ }以#开头 input[href^=".jpg"]{ } 以.jpg结尾 |
| 通配选择器 | *{ } |
| 状态伪类 | a:link{ } a:visited{ } a:hover{ } a:active{ } a:focus{ } |
| 结构伪类 | li:first-child li:last-child |
| 选择器组 | h1,h2,h3,h4,h5,h6{ } |
| 选择器组合 | 语法 | 说明 | 示例 |
|---|---|---|---|
| 直接组合 | AB | 满足A同时满足B | input:focus |
| 后代组合 | A B | 选中B如果它是A的子孙 | nav a |
| 亲子组合 | A>B | 选中B如果它是A的子元素 | section>p |
| 兄弟选择器 | A~B | 选中B如果它在A后且和A同级 | h2~p |
| 相邻选择器 | A+B | 选中B如果它紧跟在A后面 | h2+p |
选择器特异度
权重向量
(0, 0, 0, 0)
(行内样式,ID选择器,class/属性/伪类选择器/,类型/伪元素)
空格处理
文字中的空格如何处理?使用white-space属性
| 值 | 描述 |
|---|---|
| normal | 默认。空白会被浏览器忽略。 |
| pre | 空白会被浏览器保留。其行为方式类似 HTML 中的 标签。 |
| nowrap | 文本不会换行,文本会在在同一行上继续,直到遇到 标签为止。 |
| pre-wrap | 保留空白符序列,但是正常地进行换行。 |
| pre-line | 合并空白符序列,但是保留换行符。 |
| inherit | 规定应该从父元素继承 white-space 属性的值。 |
继承
某些属性会自动继承父级属性:color font-size... 显示继承:把不可继承的变成可继承,例如:*{box-sizing:inherit; 继承属性值时继承的是计算值而不是例如10em
初始值
每个属性都有初始值,也可以通过手动设置设置某项为初始值,例如:back-ground:initial