CSS3弹性盒子Flex

CSS3弹性盒子Flex

基础知识和术语

原文链接:https://css-tricks.com/snippets/css/a-guide-to-flexbox/

父级(flex容器)的属性

#显示

这定义了一个flex容器; 内联或块取决于给定的值。它为所有直接的孩子提供了一个弹性环境。

.container {display: flex; /* or inline-flex */ }

请注意,CSS列对flex容器没有影响。

#flex-direction


这建立了主轴,从而定义了柔性物品放置在柔性容器中的方向。Flexbox是(除了可选包装)单向布局概念。将flex项目视为主要布置在水平行或垂直列中。

.container {flex-direction: row | row-reverse | column | column-reverse; }
  • row(默认):从左到右在ltr; 从右到左rtl
  • row-reverse:从右到左ltr; 从左到右在rtl
  • column:相同row但从上到下
  • column-reverse:相同row-reverse但从下到上

#flex-wrap

默认情况下,flex项目都将尝试适合一行。你可以改变它,并允许项目根据需要用这个属性进行包装。

.container{flex-wrap: nowrap | wrap | wrap-reverse; }
  • nowrap (默认):所有弹性项目将在一行上
  • wrap:flex项目将从上到下包装成多行。
  • wrap-reverse:flex项目将从下到上包装成多行。

#flex-flow(适用于:父Flex容器元素)

这是一个简写flex-directionflex-wrap属性,它们一起定义了柔性容器的主轴和交叉轴。默认是row nowrap

flex-flow: <‘flex-direction’> || <‘flex-wrap’>

#justify-content


这定义了沿主轴的对齐。当一条线上的所有弹性物品都不灵活或灵活但达到其最大尺寸时,它有助于分配剩余空间。当物品溢出时,它也对物品的对齐进行控制。

.container {justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly; }
  • flex-start (默认):项目打包到起始行
  • flex-end:项目被打包到结束行
  • center:物品沿着这条线居中
  • space-between:项目均匀分布在行中; 第一项是在起始行,最后一行是最后一行
  • space-around:物品均匀分布在线上,周围有相同的空间。请注意,视觉上空间不相等,因为所有物品在两侧都有相同的空间。第一个项目将在容器边缘有一个空间单位,但下一个项目之间有两个空间单元,因为下一个项目有其自己的间距。
  • space-evenly:项目是分布式的,以便任何两个项目之间的间距(以及到边缘的空间)是相等的。

#align-items


这定义了flex项目沿当前行的横轴放置的默认行为。把它看作是justify-content横轴(垂直于主轴)的版本。

.container {align-items: flex-start | flex-end | center | baseline | stretch; }
  • flex-start:项目的跨起始边缘边缘放置在交叉起始线上
  • flex-end:物品的交叉边缘边缘放置在交叉线上
  • center:项目以交叉轴为中心
  • baseline:项目对齐,比如他们的基线对齐
  • stretch (默认):拉伸填充容器(仍然尊重最小宽度/最大宽度)

#align-content


当横轴上有额外的空间时,这会将柔性容器的线justify-content对齐,类似于如何在主轴内对齐单个项目。

注意:只有一行flex项目时,此属性不起作用。

.container {align-content: flex-start | flex-end | center | space-between | space-around | stretch; }
  • flex-start:将行打包到容器的起始处
  • flex-end:将行打包到容器的末端
  • center:包装在容器中心的线条
  • space-between:线条均匀分布; 第一行是容器的开始,而最后一行是末尾
  • space-around:在每条线周围均匀分布均匀空间的线
  • stretch (默认):线拉伸占据剩余空间

children的属性
(弹性项目)

#order


默认情况下,Flex项目按源代码顺序排列。但是,该order属性控制它们出现在柔性容器中的顺序。

.item {order: <integer>; /* default is 0 */ }

#flex-grow


这定义了Flex项目在必要时增长的能力。它接受作为比例的无单位价值。它规定了该项目应该占用的柔性容器内的可用空间量。

如果所有项目都flex-grow设置为1,则容器中剩余的空间将平均分配给所有孩子。如果其中一个孩子的值为2,剩余空间将占用其他空间的两倍(或至少会尝试)。

.item {flex-grow: <number>; /* default 0 */ }

负数无效。

#flex-shrink

这定义了Flex项目在必要时收缩的能力。

.item {flex-shrink: <number>; /* default 1 */ }

负数无效。

#flex-basis

这将在分配剩余空间之前定义元素的默认大小。它可以是一个长度(例如20%,5rem等)或关键字。该auto关键字的意思是“看看我的宽度或高度属性”(暂时由main-size关键字完成,直到弃用)。该content关键字的意思是“它根据项目的内容大小” -此关键字不能很好地支持呢,所以很难进行测试,并更难知道它的兄弟max-contentmin-contentfit-content做。

.item {flex-basis: <length> | auto; /* default auto */ }

如果设置为0,则不会考虑内容的额外空间。如果设置为auto,多余空间将根据其flex-grow值分配。

#flex

这是速记flex-grow, flex-shrinkflex-basis组合。第二个和第三个参数(flex-shrinkflex-basis)是可选的。默认是0 1 auto

.item {flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ] }

建议您使用此速记属性,而不是设置单个属性。简而言之,智能地设置其他值。

#align-self


这允许align-items为各个弹性项目覆盖默认对齐方式(或由其指定的对齐方式)。

请参阅align-items说明以了解可用值。

.item {align-self: auto | flex-start | flex-end | center | baseline | stretch; }

请注意floatclear并且vertical-align对Flex项目没有影响。(无效!!)

posted on 2018-05-30 20:12 一只奋斗的zhu 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/zhuzixi/p/9113071.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/570790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何设置winscp显示隐藏文件

不用设置 快捷键&#xff1a; Ctrl Alt H

python3.5学习笔记:linux6.4 安装python3 pip setuptools

文章转载自&#xff1a;http://www.cnblogs.com/liujian001/p/5160869.html 前言&#xff1a; python3应该是python的趋势所在&#xff0c;当然目前争议也比较大&#xff0c;这篇随笔的主要目的是记录在linux6.4下搭建python3环境的过程以及碰到的问题和解决过程。 另外&#…

Linux CentOS6离线安装Jupyter notebook

1、环境介绍 Linux: CentOS 6.7 Python: 2.7 2、安装python3.5 下载python3.5安装包&#xff1a; wget –no-check-certificate https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz解压到当前目录&#xff1a;tar -zxvf Python-3.5.0.tgzcd Python-3.5.0./configur…

private

Private Content转载于:https://www.cnblogs.com/ryueifu-VBA/p/9113114.html

Hive内部表与外部表区别详细介绍

文章转载自&#xff1a;http://www.aboutyun.com/thread-7458-1-1.html 1.创建内部表与外部表的区别是什么&#xff1f; 2.external关键字的作用是什么&#xff1f; 3.外部表与内部表的区别是什么&#xff1f; 4.删除表的时候&#xff0c;内部表与外部表有什么区别&#xff1f…

cloudera manager的7180 web界面访问不了的解决办法(图文详解)

说在前面的话 我的机器是总共4台&#xff0c;分别为ubuntucmbigdata1、ubuntucmbigdata2、ubuntucmbigdata3和ubuntucmbigdata4。&#xff08;注意啦&#xff0c;以下是针对Ubuntu系统的&#xff09; 在ubuntucmbigdata1上执行了 sudo apt-get install cloudera-manager-daemon…

pyspark与jupyter集成

最简单的一种方式: 修改环境变量 vi ~/.bashrc 添加 export PYSPARK_DRIVER_PYTHONjupyter export PYSPARK_DRIVER_PYTHON_OPTS’notebook’ source ~/.bashrc

java输入最大10位数,倒数输出(很鸡肋)

public class D { public static void main(String[] args) { System.out.println("请输入数字&#xff08;最大十位数&#xff09;:"); Scanner sc new Scanner(System.in); int sun sc.nextInt(); System.out.println("已输…

安装Redis常见问题

Install yum -y install gcc gcc-c libstdc-devel sudo yum install tcl tar xzf redis-2.8.8.tar.gz cd redis-2.8.8.tar.gz make MALLOClibc make test Q: cc: command not found yum -y install gcc gcc-c libstdc-devel Q: 安装redis 报错 make cd src &&am…

Linux服务器重启失败,报错Readonly File system

问题背景&#xff1a;linux 磁盘根分区太小&#xff0c;在对根目录进行扩容以后&#xff0c;从home目录抽取一块磁盘挂载到 /root 目录下&#xff0c;完成以后并没有修改 /etc/fstab 文件&#xff0c;导致系统开机以后继续寻找执行原来的 /home目录 解决思路&#xff1a; 修改…

2018 ios开发者账号同意新协议加联系电话教程

苹果开发者账号经常会更新协议&#xff0c;需要同意新的协议账号才能正常使用。 1、首先登录苹果开发者中心https://developer.apple.com/account/ 会出现下面飘红的提示&#xff0c;就是提示你要同意新协议。因为苹果规则的改变&#xff0c;需要先到appid管理中心加个联系手机…

Django REST FRAMEWORK swagger(一)框架详解

Django REST FRAMEWORK swagger&#xff08;一、框架详解&#xff09; 一.Django REST SWAGGER框架图 具体见下图 二.说明 RESTFul说明 每一个URI代表一种资源&#xff1b; 客户端和服务器之间&#xff0c;传递这种资源的某种表现层&#xff1b; 客户端通过四个HTTP动词&…

Kylin启动异常:java.lang.outofMemoryError:Requested array size exceeds VM limit

问题背景&#xff1a; 1、在Kylin里跑一个较大的cube,其中这个cube是一个大表事实表&#xff0c;关联两张维度表&#xff0c;在第三步&#xff1a; Extract Fact Table Distinct 报错&#xff0c;查看Mapreduce的执行过程&#xff0c;发现其中有4个Reduce执行失败&#xff0c;…

Prism for WPF初探(构建简单的模块化开发框架)

Prism for WPF初探&#xff08;构建简单的模块化开发框架&#xff09; 原文:Prism for WPF初探&#xff08;构建简单的模块化开发框架&#xff09;先简单的介绍一下Prism框架&#xff0c;引用微软官方的解释&#xff1a; Prism provides guidance to help you more easily desi…

Linux yum 安装MariaDB

1、在 /etc/yum.repos.d/ 下建立 MariaDB.repo,内容如下: [azureusermono etc]cd/etc/yum.repos.d[azureusermonoyum.repos.d]cd /etc/yum.repos.d [azureuser@mono yum.repos.d] vi MariaDB.repo MariaDB 10.0 CentOS repository list - created 2013-08-23 13:08 UTC h…

EBITDA的计算公式

EBITDA基本原理 EBITDA最早是在20世纪80年代中期使用杠杆收购的投资机构在对那些需要再融资的账面亏损企业进行评估时开始被大量使用。他们通过计算EBITDA来快速检查公司是否有能力来偿还这笔融资的利息。玩杠杆收购的那些投资银行家们推广了EBITDA的使用&#xff0c;他们通过E…

Linux/Centos下安装部署phantomjs 及使用

文章转载自&#xff1a;http://www.cnblogs.com/10-22/articles/4383196.html PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API。它全面支持web而不需浏览器支持&#xff0c;其快速&#xff0c;原生支持各种Web标准&#xff1a; DOM 处理, CSS 选择器, JSON, Canvas, …

Hadoop Balancer运行速度优化

1.修改dfs.datanode.max.transfer.threads 4096 (如果运行hbase的话建议为16384)&#xff0c;指定用于在DataNode间传输block数据的最大线程数&#xff0c;老版本的对应参数为dfs.datanode.max.xcievers 2.修改dfs.datanode.balance.bandwidthPerSec 31457280 ,指定DataNode…

15-[JavaScript]-ECMAScript 1

0.javaScript的发展历程 https://zhuanlan.zhihu.com/p/27985124 1、javaScript是什么&#xff1f; javaScript是一种web前端的描述语言&#xff0c;也是一种基于对象&#xff08;object&#xff09;和事件驱动&#xff08;Event Driven&#xff09;的、安全性好的脚本语言。 它…

Spark性能调优

文章转载&#xff1a;http://gad.qq.com/article/detail/20239 通常我们对一个系统进行性能优化无怪乎两个步骤——性能监控和参数调整&#xff0c;本文主要分享的也是这两方面内容。 一、性能监控工具 【Spark监控工具】   Spark提供了一些基本的Web监控页面&#xff0c…