理解 CSS | 青训营笔记

149 阅读3分钟

这是我参与「第五届青训营 」笔记创作活动的第2天

CSS是什么?

JavaScript (行为)•Cascading Style Sheets用来定义页面元素的样式
CSS(样式)设置字体和颜色 设置位置和大小
HTML(内容)添加动画效果

在页面中使用CSS

不推荐内联

选择器∶class类 ,id (唯一) ,属性,伪类

组合 (Combinators)

名称 语法 说明 示例

直接组合 AB 满足A同时满足B Input:focus

后代组合 A号 选中B,如果它是A的子孙 nav a

亲子组合 A>B 选中B,如果它是A的子元素 section>p

兄弟选择器 AB 选中B,如果它在A后且和A同级 h2p

相邻选择器 A+B 选中B,如果它紧跟在A后面 h2+p状态伪类,结构伪类

alpha途明度

字体font-family

调试css∶右键选择检查

继承

某些属性会自动继承其父元素的计算值,除非显式指定一个值。

不能继承时,可以使用inherit,也就是显式继承

初始值

CSS中,每个属性都有一个初始值

background-color的初始值为 transparent

margin-left的初始值为0

可以使用 Initial关键字显式重置为初始值

background-color:Initial

布局 (Layout) 是什么?

•确定内容的大小和位置的算法

•依据元素、容器、兄弟节点和内容等信息来计

块级VS.行级

块级行级
Block Level BoxBlock Level Box
不和其它盒子并列摆放和其它行级盒子一起 放在一行或拆开成多行
适用所有的盒模型属性盒模型中的width、helght不适用

行级排版上下文

•Inline Formatting Context(IFC)

•只包含行级盒子的容器会创建一个IFC

•IFC内的排版规则

·盒子在一行内水平摆放

·一行放不下时,换行显示

·text-allgn决定一行内盒子的水平对齐

·vertical-allgn决定一个盒子在行内的暑直对齐

·避开浮动(float)元素

Flex Box是什么?

•一种新的排版上下文

•它可以控制子级盒子的:

·摆放的流向(→←↑↓)

·摆放顺序

·盒子宽度和高度

·水平和垂直方向的对齐

·是否允许折行

flex

flex:1 flex-grow:1

flex:100px fiex-basis: 100px

flex:21 flex-grow:2;flex-shrink:1

flex:1 100px fiex-grow:1;flexbasis:100px

flex:20100px flexgrow:2;flex-shrink:0;flex-basis:100px

flex:auto flex:11auto

flex:none fiex:00auto

position 属性

static 默认值,非定位元素

relative 相对自身原本位量偏移,不脱高文档流

absolute 绝对定位,相对非 static祖先元素定位

fixed 相对于视口绝对定位

position: relative

在常规流里面布局

·相对于自己本应该在的位置进行偏移

•使用 top、left、bottom、right设量偏移长度

流内其它元素当它没有偏移一样布局

position:absolute

•脱离常规流

•相对于最近的非 static祖先定位

不会对流内元素布局造成影响

学习CSS的几点建议

•充分利用 MDN和W3C CSS 规范

·保持好奇心,警用览器的开发者工具

持续学习,CSS新特性还在不断出现