CSS3(一)横向布局(Flex)

2021-02-28  本文已影响0人  fanren

前言

前端的div默认是占据一行;而如果想在一行中放多个divflex布局就是解决这一问题的最好方式;
当然flex也可进行纵向布局,而本章中主要讲解横向布局;
所以下边的属性,一般都以横向布局的眼光来讲解。

一、介绍

flex布局又称弹性盒子,是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。
弹性盒子由弹性容器(Flex container)弹性子元素(Flex item)组成。

弹性容器外及弹性子元素内是正常渲染的。
弹性盒子只定义了弹性子元素如何在弹性容器内布局。
弹性子元素通常在弹性盒子内一行显示。默认情况每个容器只有一行。

二、使用方式

1. 基础使用

设置弹性容器的display属性为flex

<div class="flexContainer">
    <div class="flexItem" style="background-color: red">a</div>
    <div class="flexItem" style="background-color: blue">b</div>
    <div class="flexItem" style="background-color: green">c</div>
  </div>
...
.flexContainer {
  display: flex;
  background-color: gray;
  width: 300px;
  height: 100px;
}
.flexItem {
  width: 80px;
  height: 80px;
}
效果图片

2.排列方式flex-direction

使用flex-direction属性,可设置弹性子元素的排列方式

.flexContainer {
  display: flex;
  flex-direction: column-reverse; // 设置此属性
  background-color: gray;
  width: 300px;
  height: 300px;
}

3.对齐方式justify-content

使用justify-content属性,可设置子元素的对齐方式

justify-content是受flex-direction影响的

4.纵向对齐方式align-items

使用align-items属性,可设置子元素纵向的对齐方式;

5.纵向对齐方式align-self

align-selfalign-items不同之处在于:
align-items是弹性容器的属性,用来统一设置子元素的;
align-self是弹性子元素的属性,用来单独设置某一个子元素的;

<div class="flexItem align-self-start" style="background-color: red">start</div>
<div class="flexItem align-self-center" style="background-color: blue">center</div>
<div class="flexItem align-self-end" style="background-color: green">end</div>
效果图
上一篇下一篇

猜你喜欢

热点阅读