《CSS基本概念》

155 阅读2分钟

CSS基础概念

一、CSS语法

语法一

选择器 {
  属性名: 属性值;
  /*此处为注释*/
}

注意事项

  • 区分大小写
  • 最后一个分号可以省略,但不建议

语法二

@charset "UTF-8";
@import url(2.css);
@media (min-width: 100px) and (max-width: 200px) {
  语法一
}

注意事项

  • @charset 必须放第一行
  • charset 是字符集的意思,但UTF-8是字符编码encoding,历史遗留问题。

二、如何调试css?

方法一:

  • VSCode看颜色
  • WebStorm看颜色( 推荐)
  • W3C验证器
  • 开发者工具

如何使用开发者工具?

  1. 找到目标标签
  2. 看它是否有选择器
  3. 观察样式是否被划掉或者有警告

方法二:Border调试法

  1. 怀疑某个元素有问题,则给这个元素加border(加在内容首行)
  2. border没出现,则选择器有问题或者语法错了
  3. border出现了,则看是否符合预期
  4. 解决bug后删除border。

border调试发相当于js的log调试法

三、基本概念

理解几个重要的概念

1.文档流Nomal Flow

①流动方向

  • inline 元素从左到右,到右边会换行显示
  • block 元素每个占一行,从下倒下排列
  • inline-block 元素从左到右,但是到右边不会换行显示(不会裂开)

②三种元素的宽高

  1. inline 元素无初始宽度,宽度随内容改变;有初始高度,高度可以用 line-height 该表。

    inline 不用 width 和 height 制定宽高

  2. block 有初始宽度,无初始高度,高度主要由内部文档流元素决定。

    可以指定宽高。(有个position:absolute操作)

  3. inline-block 无初始宽高,宽随内容变,高随文档流变。

    可以指定宽高。

overflow 溢出

auto、scroll、hidden、visible

脱离文档流

float、position:absolute / fixed

2.盒模型

盒模型.png

①content-box

content-box width = 内容宽度

②border-box

border-box width = border + padding + 内容宽度

border-box好用

js.jirengu.com/vexaketove/…

3.margin合并

magin.jpg

仔细体会border、margin 、padding、box-sizing、width的作用。

magin-1.jpg

当父div没有设置border、padding、overflow时,父子div的 上下border会重叠,margin会合并。

画彩虹

js.jirengu.com/tolevutixu/…

rainbow.jpg

其他

  1. 使用 caniuse.com
  2. span.ib{第$个inline-block元素}*6