css3 弹性盒布局的使用-Flex

 介绍:

css3 的Flex弹性盒的布局是一个用于页面布局的全新CSS3模块功能。它可以把列表放在同一个方向(从左到右或从上到下排列),并且让这些列表能延伸到占用可用的空间。较为复杂的布局可以通过嵌套一个伸缩容器(flex

container)来辅助实现。

Flexbox可以简单快速的创建一个具有弹性功能的布局,当在一个小屏幕上显示的时候,Flexbox可以让元素在容器(伸缩容器)中进行自由扩展和收缩,从而容易调整整个布局。它的目的是使用常见的布局模式,比如说三列布局,可

以非常简单的实现。

 css3引入的flex布局优缺点

优点在于其容易上手,根据flex规则很容易达到某个布局效果。

缺点是:浏览器兼容性比较差,只能兼容到ie9及以上。

属性:     

 display: flex;  // 弹性盒,定义给父盒子让子元素在一排横向显示

           值: flex 或 inline-flex将其定义为弹性容器。弹性容器内包含了一个或多个弹性子元素。

      direction :rto;  //属性为 rtl (right-to-left),弹性子元素的排列方式也会改变,页面布局也跟着改变:从右向左排列

  flex-direction :   //属性指定了弹性子元素在父容器中的位置。

            值: 

row:横向从左到右排列(左对齐),默认的排列方式。

row-reverse:反转横向排列(右对齐,从后往前排,最后一项排在最前面。

column:纵向排列。

column-reverse:反转纵向排列,从后往前排,最后一项排在最上面。

justify-content : //属性应用在弹性父容器上,把弹性项沿着弹性容器的主轴线(main axis)对齐

            值 :

                 flex-start : 默认值,从左向右排列或从上到下

                 flex-end : 从右向左

                 center :  居中

                 space-between : 平均分布 左中右 或上中下 ,左右或上下紧挨边框

                space-around : 平均分布 左中右 或上中下 ,元素在自己位置居中

       :// 属性

                  flex-start : 默认值,从左向右排列或从上到下

                  flex-end : 从右向左

                  center :  居中

baseline : 如弹性盒子元素的行内轴与侧轴为同一条,则该值与‘flex-start‘等效。其它情况下,该值将参与基线对齐.

stretch : 如果指定侧轴大小的属性值为‘auto‘,则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照‘min/max-width/height‘属性的限制。

flex-wrap: wrap;   //自动换行

值:

nowrap : 默认, 弹性容器为单行。该情况下弹性子项可能会溢出容器。

wrap : 弹性容器为多行。该情况下弹性子项溢出的部分会被放置到新行,子项内部会发生断行

wrap-reverse 反转 wrap 排列。

align-content // 属性用于修改 flex-wrap 属性的行为。类似于 align-items, 但它不是设置弹性子元素的对齐,而是设置各个行的对齐

值 :

stretch : 默认。各行将会伸展以占用剩余的空间。

     flex-start : 各行向弹性盒容器的起始位置堆叠。

:各行向弹性盒容器的结束位置堆叠。

     center :各行向弹性盒容器的中间位置堆叠。

     space-between :各行在弹性盒容器中平均分布。

     space-around :各行在弹性盒容器中平均分布,两端保留子元素与子元素之间间距大小的一半。

 order: //属性值用整数值来定义排列顺序,数值小的排在前面。可以为负值。

align-self ://属性用于设置弹性元素自身在侧轴(纵轴)方向上的对齐方式。

值:

auto:如果‘align-self‘的值为‘auto‘,则其计算值为元素的父元素的‘align-items‘值,如果其没有父元素,则计算值为‘stretch‘。

flex-start:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。

flex-end:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。

center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。

baseline:如弹性盒子元素的行内轴与侧轴为同一条,则该值与‘flex-start‘等效。其它情况下,该值将参与基线对齐。

stretch:如果指定侧轴大小的属性值为‘auto‘,则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照‘min/max-width/height‘属性的限制。

属性写在子元素上,用于指定弹性子元素如何分配空间。 把父容器分成若干份,2 代表占用了两份 ,1代表占用了一份

值:

auto: 计算值为 1 1 auto

initial: 计算值为 0 1 auto

none:计算值为 0 0 auto

inherit:从父元素继承

[ flex-grow ]:定义弹性盒子元素的扩展比率。

[ flex-shrink ]:定义弹性盒子元素的收缩比率。

[ flex-basis ]:定义弹性盒子元素的默认基准值。

原文地址:https://www.cnblogs.com/whx123/p/12103197.html

时间: 2024-10-11 06:06:02

css3 弹性盒布局的使用-Flex的相关文章

深入理解 CSS3 弹性盒布局模型

Web 应用的样式设计中,布局是非常重要的一部分.布局用来确定页面上不同组件和元素的尺寸和位置.随着响应式用户界面的流行,Web 应用一般都要求适配不同的设备尺寸和浏览器分辨率.响应式用户界面设计中最重要的一环就是布局.需要根据窗口尺寸来调整布局,从而改变组件的尺寸和位置,以达到最佳的显示效果.这也使得布局的逻辑变得更加复杂.本文介绍的是 CSS3 规范中引入的新布局模型:弹性盒模型(flex box).弹性盒模型可以用简单的方式满足很多常见的复杂的布局需求.它的优势在于开发人员只是声明布局应该

CSS3弹性盒布局方式

一.CSS3弹性盒子 弹性盒子是CSS3的一种新布局模式. CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式. 引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列.对齐和分配空白空间. 二.浏览器支持 表格中的数字表示支持该属性的第一个浏览器的版本号. 紧跟在数字后面的 -webkit- 或 -moz- 为指定浏览器的前缀. 属性 Basic support (sing

CSS3弹性盒布局

使用自适应的窗口弹性盒布局 可以使div总宽度等于浏览器宽度,而且可以随着浏览器的改变而改变. 1 <!DOCTYPE html> 2 <html lang="zh-CN"> 3 <head> 4 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 5 <meta http-equiv="x-ua-c

css3弹性盒display:box和flex的完整好教程

1.flexbox-CSS3弹性盒模型flexbox布局完整版教程(转)2.CSS3盒模型display:box详解(转)

移动端:Flex弹性盒布局

Flex弹性盒布局 一. Flex的发展史 2009年W3C 提出概念,但是官方没有flex这个词 2011年浏览器厂商决定使用flexbox,来形容它的布局特点 2015年W3C正式将其修改为flexbox布局 2016年5月官方正式公布最新的稳定的flex布局规范标准,各大浏览器的支持越来越稳定 二. 定义 Flex是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性 作用 它能够更加高效方便的控制元素的对齐.排列 可以自动计算布局内元素的尺寸,无

CSS3弹性盒模型,Flex布局教程

布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现. CSS3中引入flex的弹性盒模型,这是一个可以让你告别浮动.完美实现垂直水平居中的新特性. 尽管目前css3在PC端上的兼容性还不是那么完美,但是在移动端已基本实现兼容. 网络上有很多关于flex布局很好的教程.总结的也很完美,我就直接收藏了,以备查询 详解css3弹性盒模型(Flexbox) 移动端开发小记 – Flexbox

CSS3弹性盒模型flexbox布局基础版

原文链接:http://caibaojian.com/using-flexbox.html 最近看了社区上的一些关于flexbox的很多文章,感觉都没有我这篇文章实在,最重要的兼容性问题好多人都没有提出解决方案.另外本人2014年5月还废寝忘食的翻译了国外的<CSS3弹性盒模型flexbox完整教程>和<CSS3弹性盒模型flexbox布局实例>,这么好的文章没有人来发现,实在是遗憾. 文章写作背景 查询Can I use上的使用情况,发现最新的浏览器基本支持这个属性,IE10开始

CSS3弹性伸缩布局(二)——flex布局

上一篇博客<CSS3弹性伸缩布局(一)——box布局>介绍了旧版本的box布局,而这篇博客将主要介绍最新版本的flex布局的基础知识. 新版本简介 新版本的Flexbox模型是2012年9月提出的工作草案,这个草案是由W3C 推出的最新语法.这个版本立志于指定标准,让新式的浏览器全面兼容,在未来浏览器的更新换代中实现统一. 这里我们还是继续上一篇博客中的例子,使用最新版本的flex布局来实现相同的效果. html代码: <div> <p>发生过的空间还是看价格哈健康啊水

CSS3 中弹性盒布局,实例说明

相关资料 : http://www.w3.org/html/ig/zh/css-flex-1/ CSS 3中弹性盒布局的最新版概述 在CSS 3中,CSS Flexible Box模块为一个非常重要的模块,该模块用于以非常灵活的方式实现页面布局处理. 虽然可以使用其他CSS样式属性来实现页面布局处理,但是如果使用CSS Flexible Box模块中定义的弹性盒布局技术,可以根据屏幕尺寸或浏览器窗口尺寸自动调整页面中各局部区域的显示方式,即实现非常灵活的布局处理. 虽然CSS Flexible