flex布局和常见多栏布局

ppgo8 于 2023-08-28 发布

flex布局和常见多栏布局

传统布局和flex布局

flex弹性布局适用情况:1.移动端 2.不考虑兼容性的PC端

flex布局原理

flex弹性布局,任何一个容器都可以指定flex布局

flex布局原理:给父盒子添加flex属性,控制子盒子的位置和排列方式。

flex布局父亲常见属性

flex-direction设置主轴方向

基本介绍

属性值

image-20230828210607958

justify-content 设置主轴上的子元素的排列方式

基本介绍

属性值

image-20230828210651739

flex-warp设置元素是否换行

基本介绍

属性值

image-20230828210704979

aligh-items设置侧轴上子元素的排列方式(单行)

基本介绍

属性值

image-20230828204131623

image-20230828203847473

image-20230828203826394

align-content设置侧轴上子元素的排列方式(多行)

基本介绍

属性

image-20230828204633321


区分align-content和align-items

image-20230828205901915

flex-flow

基本介绍

flex-flowflex-directionflex-warp的复合写法。

属性

/* 两种方式等价 */
flex-direction: row;
flex-wrap: wrap;

flex-flow: row wrap;

flex布局子项常见属性

flex子项目占有份数

align-self控制子项自己在侧轴的排列方式

order属性定义子项的排列顺序(前后顺序)

常见布局

瀑布流布局

image-20230828213833633

双栏布局

参考视频

左列定宽,右列自适应

左列不定宽,右列自适应

根据上面左列定宽,右列自适应获得;

修改的地方:只需要不设置左列的宽度,使其被宽度撑开即可。

三栏布局

参考视频

  1. 浮动+margin

    • 左栏左浮动,右栏右浮动,

    • 中间盒子设置margin:左右两栏的宽度。(原因:浮动的元素会压着盒子)

  2. 浮动+bfc

    • 左栏左浮动,右栏右浮动
    • 父元素overflow:hidden
  3. flex布局

    • 父级flex布局 display

    • 左栏右栏:固定宽度,x
    • 中间栏:flex:1,占据全部剩余内容
  4. table布局

    • 父级table布局display
    • 子元素:table-cell
    • 左右设置固定宽度,中间不用设置宽度就会自适应
  5. 定位+margin

    • 父级相对定位
    • 左栏绝对,右栏绝对。
    • 使用margin
  6. 圣杯

    image-20230828220602058

  7. 双飞翼

    image-20230828220715804