阅读 309

css flex相关属性

一、box-flex

定义两个可伸缩的 p 元素。如果父元素的总宽度是 300 像素,则 #p1 的宽度是 100 像素,而 #p2 的宽度是 200 像素

 1 #p1
 2 {
 3 -moz-box-flex:1.0; /* Firefox */
 4 -webkit-box-flex:1.0; /* Safari 和 Chrome */
 5 box-flex:1.0;
 6 border:1px solid red;
 7 }
 8 
 9 #p2
10 {
11 -moz-box-flex:2.0; /* Firefox */
12 -webkit-box-flex:2.0; /* Safari 和 Chrome */
13 box-flex:2.0;
14 border:1px solid blue;
15 }

目前没有浏览器支持 box-flex 属性。

Firefox 支持替代的 -moz-box-flex 属性。

Safari、Opera 以及 Chrome 支持替代的 -webkit-box-flex 属性。

2.flex

flex CSS简写属性 设置了弹性项目如何增大或缩小以适应其弹性容器中可用的空间。

此属性是以下CSS属性的简写:

 1 /* 关键字值 */
 2 flex: auto;
 3 flex: initial;
 4 flex: none;
 5 
 6 /* 一个值, 无单位数字: flex-grow */
 7 flex: 2;
 8 
 9 /* 一个值, width/height: flex-basis */
10 flex: 10em;
11 flex: 30px;
12 flex: min-content;
13 
14 /* 两个值: flex-grow | flex-basis */
15 flex: 1 30px;
16 
17 /* 两个值: flex-grow | flex-shrink */
18 flex: 2 2;
19 
20 /* 三个值: flex-grow | flex-shrink | flex-basis */
21 flex: 2 2 10%;
22 
23 /*全局属性值 */
24 flex: inherit;
25 flex: initial;
26 flex: unset;

 

可以使用一个,两个或三个值来指定 flex属性。

单值语法: 值必须为以下其中之一:

  • 一个无单位数(): 它会被当作flex: 1 0; 的值被假定为1,然后 的值被假定为0
  • 一个有效的宽度()值: 它会被当作 的值。
  • 关键字initial.

双值语法: 第一个值必须为一个无单位数,并且它会被当作  的值。第二个值必须为以下之一:

  • 一个无单位数:它会被当作  的值。
  • 一个有效的宽度值: 它会被当作  的值。

三值语法:

  • 第一个值必须为一个无单位数,并且它会被当作  的值。
  • 第二个值必须为一个无单位数,并且它会被当作   的值。
  • 第三个值必须为一个有效的宽度值, 并且它会被当作  的值。
initial
元素会根据自身宽高设置尺寸。它会缩短自身以适应 flex 容器,但不会伸长并吸收 flex 容器中的额外自由空间来适应 flex 容器 。相当于将属性设置为"flex: 0 1 auto"。
auto
元素会根据自身的宽度与高度来确定尺寸,但是会伸长并吸收 flex 容器中额外的自由空间,也会缩短自身来适应 flex 容器。这相当于将属性设置为 "flex: 1 1 auto".
none
元素会根据自身宽高来设置尺寸。它是完全非弹性的:既不会缩短,也不会伸长来适应 flex 容器。相当于将属性设置为"flex: 0 0 auto"。
<‘flex-grow‘>
定义 flex 项目的  。负值无效。省略时默认值为 1。 (初始值为 0)
<‘flex-shrink‘>
定义 flex 元素的  。负值无效。省略时默认值为1。 (初始值为 1)
<‘flex-basis‘>
定义 flex 元素的  属性。若值为0,则必须加上单位,以免被视作伸缩性。省略时默认值为 0。(初始值为 auto)
 

大多数情况下,开发者需要将 flex 设置为以下值之一: autoinitialnone,或一个无单位正数。要查看这些值的效果,请尝试调整以下 flex容器的大小:

 

 

 

 

默认情况下,元素不会缩短至小于内容框尺寸,若想改变这一状况,请设置元素的 与 属性。

 浏览器兼容性:

 

 

原文:https://www.cnblogs.com/zhilu/p/15233765.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐