CSS| 青训营笔记

86 阅读3分钟

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

CSS是什么

Cascapipg Style Sheets用来定义页面元素的样式

  • 设置字体和颜色
  • 设置位置和大小
  • 添加动画效果

基本结构

image.png

使用css的三种方法

  1. 外链
  2. 潜入
  3. 内联

image.png

css是如何工作的

image.png

选择器Selector

定位页面元素的工具

  1. 标签、类名、id
  2. 属性
  3. 位置

特殊:通配符选择器

id选择器——#

具有唯一性

image.png

类选择器——.

image.png

属性选择器——[]

image.png

image.png

image.png

伪类(pseudo-classes)

状态伪类——:

:link :visited :hover :active :focus image.png

结构伪类

:first-child :last-child

image.png

组合

image.png

选择器组

用逗号分开

image.png

颜色

RGB模型

RED+GREEN+BLUE

两种表示方法:

  1. #六位字符
  2. rgb(三个数字)

image.png

HSL模型

Hue 色相

Saturation 饱和度

Lightness 亮度

image.png

透明图 alpha

rgb+alpha=rgba

hsl+alpha=hsla

字体

font-family

为了防止前几个字体找不到,一般会写多个字体 通常中文字体中会包含英文字体,当遇到同时指定不同中英文字体时,把英文的写前面

image.png

image.png

web fonts

image.png

字体大小 font-size

image.png

字体效果 font-style

image.png

字体粗细 font-weight

取值100-900,与字体相关,需要字体支持

image.png

行高 line-height

无单位即为与字体的倍数

image.png

font属性

(这里开始视频不同步了 字重 行高 颜色等等都可以写到一起

对齐 text-align

文字间距 letter-spacing

单词间距 word-sapcing

换行控制 whitespace

调试CSS

windows:ctrl+shift+i

mac:cmd+opt+i

选择器的特异度

image.png

继承

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

显示继承

使属性值为 inherit

初始值

image.png

css 的求值过程

image.png image.png

布局 Layout

确定内容大小位置的算法 依据元素、容器、兄弟节点、和内容等信息来计算

三种布局

常规流

浮动

绝对定位

image.png

盒模型

content-box

image.png

border-box

image.png

width

image.png

height

image.png

padding

快捷写法: 上右下左、上下左右

image.png

image.png

border

小技巧:把width、height设置为0可以画三角形

image.png

image.png

margin

小技巧:

  1. 设置margin:auto可以居中
  2. margin collapse,存在于垂直方向上,区上下边距最大值

image.png

overflow

image.png

块级+行级

image.png

image.png

image.png

常规流

行级排版上下文 IFC(Inline Formatting Context)

只包含行级盒子的容器

  • 盒子在一行内水平摆放
  • 一行放不下时,换行显示
  • text-align 决定一行内盒子的水平对齐
  • vertical-align 决定一个盒子在行内的垂直对齐避开浮动(float)元素*

image.png

块级排版上下文 BFC(Box Formatting Context)

这些元素是dfc的 image.png

  • 盒子从上到下摆放
  • 垂直 margin 合并
  • BFC内盒子的 margin 不会与外面的合并
  • BFC 不会和浮动元素重叠

IFC里放BFC-会被切开

image.png

Flex Box

  • 一种新的排版上下文它可以控制子级盒子的:
    • 摆放的流向 (→ ← ↑↓)
    • 摆放顺序
    • 盒子宽度和高度
    • 水平和垂直方向的对齐是否允许折行

主轴侧轴

justify-content 主轴排列方式 justify-self个别对齐

align-items 侧轴对齐,align-self个别对齐

flexibility

image.png

image.png

Grid

image.png

划分网格 image.png

网格线 image.png

float 浮动

主要是为了实现文字环绕

image.png

position属性

image.png

relative

image.png

absolote

image.png

fixed

相对于窗口定位 image.png

sticky

学习建议

  1. 利用好mdn+w3c css
  2. 保持好奇心
  3. 持续学习