css3 弹性盒布局的使用-Flex

更新日期: 2019-12-25阅读: 2.1k标签: 布局

 介绍:

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 : 平均分布 左中右 或上中下 ,元素在自己位置居中

        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://fly63.com/article/detial/7051

css两端对齐——div+css布局实现2端对齐的4种方法总结

css两端对齐,通过margin负值、justify、space-between、column-count等多种方式来实现css的两端对齐。

flex布局,学习flex弹性布局总结

flex布局(Flexible Box)是对界面css盒模型的一个优化,适应不同尺寸的屏幕,被定义flex的容器可以控制子元素的排列方向和大小,能够用更简单清晰的代码来完成复杂的布局。

html通过css,js实现div悬浮效果总汇,如原生JS实现滚动到一定位置实现div悬浮

在我们的实际开发中,经常会遇到页面中需要悬浮效果,本文将介绍通过fixed的实现,以及通过原生Js实现滚动到一定位置,实现div的悬浮

理解css中Grid布局,在项目中如何实现grid页面布局

CSS中Grid是一种二维网格式布局方式,Grid是为了解决二维布局问题而创建的CSS模块。使用Gird的好处,Gird在浏览器的兼容性,Grid布局的示例源码...

使用flex实现5种常用布局

flex常用布局:经典的上-中-下布局。在上-中-下布局的基础上,加了左侧定宽 sidebar。左边是定宽 sidebar,右边是上-中-下布局。还是上-中-下布局,区别是 header 固定在顶部,不会随着页面滚动。左侧 sidebar 固定在左侧且与视窗同高,当内容超出视窗高度时,在 sidebar 内部出现滚动条。

你以为 CSS 只是个简单的布局?

本文中,所有的图形都是在单个标签内实现的,大量使用了 CSS3 中的 ::before 、::after 伪元素,transparent 、border,多重线性与径向渐变,多重内外阴影,如果你的效果不尽人意,请尝试在 Chrome 浏览器下预览。

html实现时间轴_纯css实现响应式竖着/垂直时间抽布局效果

html实现用时间点来展示事件发生点来代替用table展示一条条数据,能够给人清晰、一目了然能够看清事情发生的过程,UI页面也显示的那么清晰。如何用css+html做出时间轴展示事件点的?

基于jquery 横向/纵向 时间轴插件推荐

这篇文章主要整理一些关于基于jquery,实现横向/纵向时间轴的插件推荐:jquery.jqtimeline插件、timeline.js插件、Timeglider.js插件、Melon HTML5 、jQuery Timelinr、Timeline Porfolio

CSS position 属性_css中常用position定位属性介绍

css可以通过为元素设置一个position属性值,position定位是指定位置的定位,以下为常用的几种:static(静态定位)、relative定位(相对定位)、absolute定位(绝对定位)、fixed(固定定位)、inherit定位

css圣杯布局的实现方式

css圣杯布局思路:外面一个大div,里面三个小div(都是浮动)。实现左右两栏宽度固定,中间宽度自适应。中间栏优先渲染。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!