columns  分栏
column的中文意思就是栏的意思,在html中,作用是分列,把一块内容相同比例均匀的分成一块一块的列,想报纸的内容似的,一篇文章在一张内容上分成好几栏那样显示,它的属性有
1.columns:  columns-width   column-count;   每一列的宽度和分成多少列;
例:columns: 200px 3;   (ie10以上浏览器支持,火狐,谷歌支持要加兼容前缀)
-webkit-columns:
-moz-columns:
-ms-columns:
2.column-gap: width normal;  (列与列之间的间距宽度,自定义或者默认normal,normal情况下,列之间间隙的宽度等于字体大小的宽度。)
例:column-gap:20px;  (默认是normal);
(ie10以上都支持,火狐谷歌需要加上加上兼容前缀)
3.column-rule:  column-rule-width   column-rule-style  column-rule-color;
用来设置列与列之间间隙中间那条分割线,属性值有线的宽度,样式,颜色;
例:column-rule:5px solid red;
(ie10以上的ie都支持,火狐谷歌需要加上前缀)
 
还有三个属性,用的不多,兼容性也不太好
4.column-span: 是否跨列,一般用来对栏目中的某个元素设置它显示方式是否横跨所有列,
默认是none,不横跨列显示,横跨列显示是all属性值;
例:column-span:all;(兼容性不是很好,ie10以上的浏览器支持,火狐不支持。)
5.column-fill:auto  balance;对列的高度的设置方式,默认是auto,列的高度自适应内容,
balance指定列的高度以其中最高的一列统一。(此方法用的不多,了解为主)
6.column-break-before(after):属性值有auto(默认,不强迫也不禁止在指定的块级元素前产生新列),always(在指定的块级元素前断行产生新列),avoid(禁止在指定的块级元素前产生新列)  用的比较少,了解为主,(ie10以上ie浏览器支持,火狐不支持。)
 
 
 
伸缩盒(弹性盒模型)(旧版)
例:
<style>
#box{display:-webkit-box; display:-moz-box; display: -ms-box; display: box; width:600px; height:180px; margin:0; padding:0; list-style:none; box-orient:horizontal;-webkit-box-orient:horizontal; }
.li1{-weblit-box-flex:1; -moz-box-flex:1; -ms-box-flex:1; background:#666666;}
.li2{-webkit-box-flex:2; -moz-box-flex:2; -ms-box-flex:2; background:#999999;}
.li3{-webkit-box-flex:3; -moz-box-flex:3; -ms-box-flex:3; background:#cccccc;}
</style>
<ul id="box">
     <li class="li1">1</li>
     <li class="li2">2</li>
     <li class="li3">3</li>
</ul>
注意:一定要开启弹性盒模型,给父元素加 display:box; 属性。
display:-webkit-box;    display: -moz-box;   display: -ms-box; 
 
设置弹性盒模型子元素的排列方式
box-orient : horizontal (从左到右水平排列)   vertical  (从上到下纵向排列)
伸缩盒子元素的对其方式
box-pack :  start (从开始位置对齐,左对齐或上对齐)
                    center (居中对齐)
                    end (从结束对齐,右对齐或下对齐)
                    justify (两端对齐)
设置伸缩盒子的子元素的对其方式
box-align :  start  (从开始位置对其)
                    center  (居中对齐)
                    end     (从结束位置对其)
                    baseline     (基线对齐)
                    stretch     (自适应父元素尺寸)
box-flex :  设置子元素占父元素空间的比例
box-flex : 1;
-webkit-box-flex : 1;
-moz-box-flex : 1;
box-flex-group :  不理解
box-ordinal-group: 设置盒子子元素的显示顺序  整数值来确定显示顺序
box-direction : 设置伸缩盒子对象的子元素的排列顺序是否反转
                         normal (默认值,子元素按照正常顺序排列)
                         reverse (反转伸缩盒子对象的排列顺序)
box-lines :  设置伸缩盒对象的子元素是否可以换行显示;
                    singel : 伸缩盒对象的子元素只在一行显示
                     multiple : 伸缩盒对象的子元素超出父元素的空间是换行显示。  
 
 
伸缩盒(弹性盒模型)(新版)
flex
需要给盒子添加 display : flex;属性开启弹性盒模型。display : -webkit-flex;
flex-grow : 按比例分配父元素剩下的空间。
flex-shrink : 按比例收缩移除父元素的空间。
flex-basis : 设置弹性盒伸缩基准值 length(长度值来定义宽度)   百分比    auto(无特定)   content(基于内容自动计算宽度)
flex-flow : 设置弹性盒模型子元素的排列方式   flex-direction(定义弹性盒子元素排列方向)   flex-wrap(控制flex容器是单行还是多行) ;
flex-direction :  设置弹性和子元素的排列方式。
          row : 横向从左到右排列
          row-revers : 对其方式与row相反
          column : 纵向从上到下排列
          column-revers : 对其方式与column相反。
flex-wrap : 设置容器是单行还是多行
          nowrap : flex容器为单行,子项可能会溢出
          wrap : flex容器为多行, 子项溢出分布会放置到新行,子项内部会发生断行
          wrap-reverse : 反转wrap排列
align-content : 子元素在弹性盒里的对其方式
          flex-start:
          flex-end:
          center:
          space-between:
          space-around:
          stretch:默认值
align-items : 定义子元素在容器里的侧轴(纵轴)方向上的对其方式
          flex-start : 
          flex-end:
          center:
          baseline:
          stretch:默认值
align-self : 定义flex子项单独在侧轴(纵轴)方向上的对齐方式, 适用flex子项
          auto : 
          flex-start : 
          flex-end:
          center:
          baseline:
          stretch
justify-content : 设置弹性盒子元素在横轴方向上的对其方式
          flex-start:
          flex-end:
          center:
          space-between:
          space-around;;
order : 用数值定义排序方式,数值小的排在最前面,可以为负值。

css3弹性伸缩和使用的更多相关文章

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

    上一篇博客<CSS3弹性伸缩布局(一)——box布局>介绍了旧版本的box布局,而这篇博客将主要介绍最新版本的flex布局的基础知识. 新版本简介 新版本的Flexbox模型是2012年9 ...

  2. CSS3弹性伸缩布局(一)——box布局

    CSS3弹性伸缩布局简介 2009年,W3C提出了一种崭新的方案----Flex布局(即弹性伸缩布局),它可以简便.完整.响应式地实现各种页面布局,包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃 ...

  3. css3弹性伸缩布局(一)—————flex布局

    CSS3弹性伸缩布局简介 2009年,W3C提出了一种崭新的方案—-Flex布局(即弹性伸缩布局),它可以简便.完整.响应式地实现各种页面布局,包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃而解 ...

  4. 第 29 章 CSS3 弹性伸缩布局[下]

    学习要点: 1.新版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.新版本 新版本的 Flexbox 模型是 201 ...

  5. 第 29 章 CSS3 弹性伸缩布局[中]

    学习要点: 1.混合过度版 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.混合过渡版 混合版本的 Flexbox 模型 ...

  6. 第 29 章 CSS3 弹性伸缩布局[上]

    学习要点: 1.布局简介 2.旧版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.布局简介 CSS3 提供一种崭新的 ...

  7. CSS3弹性伸缩布局(上)——box布局

    布局简介 CSS3提供了一种崭新的布局方式:Flexbox布局,即弹性伸缩布局模型(Flexible Box)用来提供一个更加有效的方式实现响应式布局. 由于这种布局还处于W3C的草案阶段,并且它分为 ...

  8. CSS3弹性伸缩布局(下)——flex布局

    新版本 新版本的flex布局模型是2012年9月提出的工作草案,这个草案是由W3C推出的最新语法,这个版本立志于指定标准,让新式的浏览器全面兼容,在未来的浏览器更新换代中实现统一. 目前几乎大部分的浏 ...

  9. CSS3弹性伸缩布局(中)——flexbox布局

    混合过渡版 上一篇我们主要讲了旧版box布局,今天这篇主要讲flexbox布局. 混合版本的Flexbox模型是2011年提出的工作草案,主要是针对IE10浏览器实现的伸缩布局效果,其功能和旧版本的功 ...

随机推荐

  1. mysql数据库表分区详解(数量过大的数据库表通过分区提高查询速度)

    这篇文章主要介绍了MySQL的表分区,例如什么是表分区.为什么要对表进行分区.表分区的4种类型详解等,需要的朋友可以参考下 一.什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysq ...

  2. HTML5设计原理

    HTML5是Web标准的巨大飞跃,它为什么要包含那些东西,它背后的设计原则是什么? <JavaScript DOM编程艺术>和<HTML5 For Web Designer>作 ...

  3. Html5 canvas 元素

    canvas 元素用于在网页上绘制图形. 什么是 Canvas? HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像. 画布是一个矩形区域,您可以控制其每一像素. canv ...

  4. JavaScript高级程序设计学习笔记第六章--面向对象程序设计

    1.ECMAScript没有类的概念,ECMA-262 把对象定义为:“无序属性的集合,其属性可以包含基本值.对象或者函数.”,有点类似于散列表 2.ECMAScript 中有两种属性:数据属性和访问 ...

  5. 锐捷认证的一些问题&解决方法

    scau锐捷校园网各种无法吐槽,认证有时候自己掉线了麻痹都打到boss了给我掉线,收费也坑爹,连铁通都比不上. 1.锐捷认证客户端已停止工作: 貌似是毒霸的问题,把金山毒霸关掉再试 2.获取ip地址信 ...

  6. JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API

    森林森 一份耕耘,一份收获 博客园 首页 新随笔 联系 管理 订阅 随笔- 397  文章- 0  评论- 78  JAVA基础学习day16--集合三-Map.HashMap,TreeMap与常用A ...

  7. HDU - 1150 POJ - 1325 Machine Schedule 匈牙利算法(最小点覆盖)

    Machine Schedule As we all know, machine scheduling is a very classical problem in computer science ...

  8. zoj2901【DP·二进制优化】

    题意: 要排一个L长度的序列,当 j 放在 i 后面的时候会增加v[ i ][ j ]的值,求构成L长度序列的最大值. 思路: 可以想到预处理任意两点<i,j>的最大值是多少,然后题目还有 ...

  9. linux mysql 简单记录

    mysql 1.linux下启动mysql的命令:mysqladmin start/ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: ...

  10. JAVA编写的断点续传小程序

    上了一周的课,今天终于可以休息了,太棒了,今天闲着无聊使用java语言写了一个断点续传的小程序来分享给大家, 首先要下载个用于网络请求的框架:我这里给出地址,是用的Apache的HttpClient: ...