理解CSS | 青训营笔记

58 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第2天,活动详情查看:📚 伴学笔记创作活动来袭 | 第五届字节跳动青训营 - 掘金 (juejin.cn)

1. 了解CSS

1.1 CSS是什么?

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

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

一个基础的CSS代码的示例

h1 {
    color: white;
    font-size: 14px;
}
  • h1 选择器selector,选中页面中的元素,给这些元素定义样式
  • color 选择器property,定义元素样式的相关属性
  • white 属性值value
  • font-size: 14px 声明declaration,多条声明用分号隔开

1.2 在页面中使用CSS

  • 外链
<link rel="stylesheet" href= " /assets/style.css">  
  • 嵌入
<style>  
  
    li { margin0; list-sty1e: none;}
    p { margin1em 0; }
  • 内联
<p style="margin:1em O">Example Content</p>

1.3 CSS的工作模式

image.png

1.4 选择器Selector

  • 找出页面中的元素,以便给他们设置样式
  • 使用多种方式选择元素
    • 按照标签名、类名或id
    • 按照属性
    • 按照DOM树中的位置

如:通配选择器,标签选择器,id选择器,类选择器,属性选择器

1.5 伪类(pseudo-classes)

  • 不基于标签和属性定位元素
  • 几种伪类
    • 状态伪类
    • 结构性伪类

1.6 组合(Combinators)

名称语法说明示例
直接组合AB满足A同时满足Binput: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

1.7 属性

  • 颜色
    • RGB
    • HSL:色相,饱和度,亮度
    • alpha:透明度
  • 字体 font-family
  • 通用字体族

1.8 调试CSS

  • 右键点击页面, 选择「检查」
  • 使用快捷键
    • Ctrl+Shift+I (Windows) 
    •  Cmd+Opt+I (Mас)

2. 深入CSS

2.1 CSS求值过程

value.svg

2.2 布局

image.png

image.png

2.3 行级 块级

Block Level BoxInline Level Box
不和其它盒子并列摆放和其它行级盒子一起放在一行或拆开成多行
适用所有的盒模型属性盒模型中的width、height不适用
块级元素行级元素
生成块级盒子生成行级盒子 ;内容分散在多个行盒(line box)中
body、article、 div、 main、 section、h1-6、 p、ul、li等span、em、strong、 cite、 code等
display: blockdisplay: inline

2.4 display属性

2.5 常规流normal flow

  • 根元素、浮动和绝对定位的元素会脱离常规流
  • 其它元素都在常规流之内(in-flow)
  • 常规流中的盒子,在某种排版上下文中参与布局
    • 行级排版上下文

    • 块级排版上下文

    • Table排版上下文

    • Flex排版上下文

    • Grid排版.上下文