浅谈CSS布局技巧 | 青训营

63 阅读2分钟

浅谈CSS布局技巧包括浮动,定位,弹性盒子。并以哔哩哔哩网站为例分析。

一.基础认知

关于元素显示模式

  1. 块级元素(block),显示特点为独占一行,宽度默认是父元素的宽度,高度默认由内容撑开。可以设置宽,高。比如:div,p等标签。
  2. 行内元素(inline),一行可以显示多个,宽度和高度默认由内容撑开,不可以设置宽,高。写了也不生效。比如:a,span等标签。
  3. 行内块元素(inline-block),一行可以显示多个,可以设置宽,高。比如:input,button等标签。
  4. 元素显示模式可以转换,改变元素默认的显示特点,让元素符合布局要求。比如:display:block,转换为块级元素。
  5. 不同布局方式元素的层级关系:标准流<浮动<定位。不同定位之间的层级关系是相同的,此时HTML中写在下面的元素层级更高,会覆盖上面的元素。

二.浮动

  1. 浮动元素会脱离标准流,在标准流中不占位置。
  2. 浮动元素比标准流高半个级别,可以覆盖标准流中的元素。
  3. 下一个浮动元素会在上一个浮动元素后面左右浮动。
  4. 一行可以显示多个,并且可以设置宽,高。

三.定位

  1. 定位之后的元素层级最高可以层叠在其他盒子上面,所以可以类似于导航栏一样始终固定在屏幕中的某个位置。
  2. 定位的方式有四种。(1)静态定位(2)相对定位,相对于自己之前的位置进行移动。在页面中占位置且仍然具有标签原有的显示模式特点。(3)绝对定位,相对于非静态定位的父元素进行定位移动。在页面中不占位置,改变了标签的显示模式特点。变成行内块。(3)固定定位,相对于浏览器进行定位,在页面中不占位置。

四.弹性盒子

弹性盒子是一种用于按行或按列布局元素的一维布局方法。元素可以膨胀以填充额外的空间, 收缩以适应更小的空间。就比如哔哩哔哩网站的布局几乎都是用弹性盒子flex布局。

3.png

4.png

还有一种弹性盒子grid。其布局是一个二维的基于网格的布局系统,这是与 Flexbox 一维布局不同的地方,

五.总结

学完了布局,接着我们得让页面的有点交互,让画面动起来。就得学习js。