Flex布局摆脱float带来的布局问题

Posted nanluxiaokui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flex布局摆脱float带来的布局问题相关的知识,希望对你有一定的参考价值。

  完整文章地址http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool

  使用浮动(float)的一个比较疑惑的事情是他们怎么影响包含他们的父元素的。如果父元素只包含浮动元素,且父元素未设置高度和宽度的时候。那么它的高度就会塌缩为零。那我们就不能

做高度根据内容自动调整的布局,但是利用flex布局可以实现,不需要设置父元素的宽度和高度,让父元素根据子元素自动调整大小。

  Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为Flex布局:.div{dispaly:flex}.采用Flex布局的元素,称为Flex容器(flex container),简称"容器"。它的所有子元素自动成为容器成员。这里我主要说一下容器的一个属性flex-direction.他有4个取值分别为:row、row-reverse、column、column-reverse.

  • row(默认值):主轴为水平方向,起点在左端。
  • row-reverse:主轴为水平方向,起点在右端。
  • column:主轴为垂直方向,起点在上沿。
  • column-reverse:主轴为垂直方向,起点在下沿。

代码如下:

可以通过设置flex-direction属性得到不同的效果。下面代码只是设置{flex-direction:row}。

<!DOCTYPE html>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<style type="text/css">
.div1{
display: flex;
flex-direction: row;
border:1px solid red;
width:300px;
}
.div1 div{
border:1px solid black;
margin:10px 10px;
width:50px;
height:50px;
}
</style>
</head>
<body>
<div class="div1">
<div>a
</div>
<div>b
</div>
<div>c
</div>
</div>
</body>
</html>

以上是关于Flex布局摆脱float带来的布局问题的主要内容,如果未能解决你的问题,请参考以下文章

CSS布局:float、position、flex、grid

htm的常见布局

float详解圣杯布局

弹性布局(Flex)布局介绍

css3笔记4 盒模型, flex 弹性布局,三列布局

前端基础小知识