今天给大家分享一篇关于CSS3基础教程 文章,主要是讲CSS3弹性盒模型。弹性布局的主要思想是让容器有能力来改变项目的宽度和高度,以填满可用空间(主要是为了容纳所有类型的显示设备和屏幕尺寸)的能力。

注意:Flexbox布局是最合适的一个应用程序的组件,以及小规模的布局,而网格布局是用于较大规模的布局。

盒模型的兼容性不佳,在使用时,需要加上浏览器的私有前缀。

父元素display:box或者display:inline-box;

display: -webkit-box;display: -moz-box;display:box;

父元素的属性:

box-orient确定子元素的方向,是水平排列还是竖直排列。

horizontal|vertical|inline-axis|block-axis|inherit

inline-axis是默认值。

且horizontal与inline-axis的表现似乎一致的,让子元素横排;

而vertical与block-axis的表现也是一致的,让元素纵列

box-direction确定子元素的排列顺序。

normal|reverse|inherit

normal是默认值,表示正常顺序,即从左往右,自上而下。

reverse表示反转,即与正常顺序相反。

上面代码,在父元素中加上如下代码,使其逆序

-moz-box-direction: reverse;-webkit-box-direction: reverse;box-direction:reverse;

box-align:决定了垂直方向上的空间利用.

start|end|center|baseline|stretch

stretch是默认值,拉伸,父标签的元素多高,其子元素的高度也为多高。

start表示顶边对齐

end表示底部对齐

center表示居中对齐

baseline表示基线对齐

垂直方向上:

-moz-box-orient:inline-axis;-webkit-box-orient:inline-axis;box-orient:inline-axis;

水平方向:

-moz-box-pack: justify;-webkit-box-pack: justify; box-pack:justify;

box-pack:决定了水平方向上的空间利用。

start|end|center|justify

start是默认值,表示和父元素的起始位置一致。

start所有子元素在盒子起始位置显示,富裕空间另一侧

end  所有子元素在盒子终止位置显示,富裕空间起始位置

center 所有子元素居中,富裕空间在两侧

justify 富余空间在子元素之间平均分布

box-line:决定子元素是否可以换行显示。(不支持)

single|multiple

single是默认值,表示不换行

multiple允许多行显示

子元素的属性

box-flex:值为n

子元素的尺寸=盒子的尺寸*子元素的box-flex的属性值/所有子元素box-flex属性值之和

box-flex-group:值为n.目前没有浏览器支持

box-ordinal-group:值为n.规范框中子元素的显示次序。

默认值是1.值越小的元素会在值更高的元素前面显示。

其它:

resize自由缩放

both|horizontal|vertial

both水平垂直方向都可以缩放

horizontal只有水平方向可以缩放

vertical只有垂直方向可以缩放

需要配合overflow一起使用

类似于textarea多行文本框,拉动右下角,可以自由缩放div的大小。

盒模型阴影:

box-shadow:inset x y blur spread color

inset:投影方式

inset内投影

outset外投影,默认是外投影

x阴影水平方向偏移量,其值可以是正负值。如果值为正值,则阴影在对象的右边,其值为负值时,阴影在对象的左边;

y阴影竖直方向偏移量,其值也可以是正负值。如果为正值,阴影在对象的底部,其值为负值时,阴影在对象的顶部;

blur:模糊半径,此参数可选,但其值只能是为正值,如果其值为0时,表示阴影不具有模糊效果,其值越大阴影的边缘就越模糊;

spread:扩展阴影半径,此参数可选,其值可以是正负值,如果值为正,则整个阴影都延展扩大,反之值为负值时,则缩小;

color:阴影颜色,此参数可选,默认为黑色

IE8下的box-shadow效果(IE9开始支持box-shadow)

基本语法:filter:progid:DXImageTransform.Microsoft.Shadow(color=’颜色值’, Direction=阴影角度(数值),Strength=阴影半径(数值));

注意:该滤镜必须配合background属性一起使用,否则该滤镜失效。

盒模型倒影

box-reflect:none |<direction> <offset> ?<mask-box-image>

direction:above | below | left | right

倒影在对象的上方、下方、左边、右边

offset:length|percentage

图片与倒影之间的间隔,可以为负值

mask-
box-image(可选):none | url | linear-gradient | radial-gradient        |
repeating-linear-gradient | repeating-radial-gradient

url图像遮罩

linear-gradient使用线性渐变创建遮罩图像

radial-gradient使用径向(放射性)渐变创建遮罩图像

repeating-linear-gradient使用重复的线性渐变创建遮罩图像

repeating-radial-gradient使用重复的径向渐变创建遮罩图像

liner-gradient([ || ,]? ,  [, ]*)

第一个参数表示线性渐变的方向,top表示从上到下,left从左到右,如果写left top,从左上角到右下角。第二个参数表示起点颜色和终点颜色

推荐阅读:高级工程师手把手带你做企业门户前端

css3基础教程:CSS3弹性盒模型的更多相关文章

  1. css3教程:弹性盒模型

    Css3引入了新的盒模型——弹性盒模型,该模型决定一个盒子在其他盒子中的分布方式以及如何处理可用的空间.这与XUL(火狐使用的用户交互语言)相似,其它语言也使用相同的盒模型,如XAML .GladeX ...

  2. css3 居中(推荐弹性盒模型方式)

    参考  http://www.zhihu.com/question/20774514 http://caibaojian.com/demo/flexbox/align-items.html 例子:ht ...

  3. CSS3弹性盒模型flexbox完整版教程

    http://caibaojian.com/flexbox-guide.html 来自CSS Tricks上的一个教程,原文为:A Complete Guide to Flexbox.文中详细的介绍了 ...

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

    原文链接:http://caibaojian.com/using-flexbox.html 最近看了社区上的一些关于flexbox的很多文章,感觉都没有我这篇文章实在,最重要的兼容性问题好多人都没有提 ...

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

    布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现. CSS3中引入flex的弹性盒模型 ...

  6. IT兄弟连 HTML5教程 CSS3属性特效 弹性盒模型

    CSS3引入了新的盒模型——弹性盒模型,该模型决定一个盒子在其他盒子中的分布方式以及如何处理可用的空间.使用该模型,可以很轻松的创建自适应浏览器窗口的流动布局或自适应字体大小的弹性布局.弹性盒模型看起 ...

  7. CSS3弹性盒模型布局模块介绍

    来源:Robert’s talk原文:http://robertnyman.com/2010/12/02/css3-flexible-box-layout-module-aka-flex-box-in ...

  8. (转)详解css3弹性盒模型(Flexbox)

    今天刚学了css3的弹性盒模型,这是一个可以让你告别浮动.完美实现垂直水平居中的新特性. Flexbox是布局模块,而不是一个简单的属性,它包含父元素和子元素的属性. Flexbox布局的主体思想是似 ...

  9. css3弹性盒模型

    一.简介 css3引入了新的盒模型——弹性盒模型,该模型决定一个盒子在其他盒子中的分布方式以及如何处理可用的空间.使用该模型,可以很轻松的创建自适应浏览器窗口的流动布局或自适应字体大小的弹性布局. 目 ...

随机推荐

  1. HttpContext.Current.Cache使用文件依赖问题

    HttpContext.Current.Cache.Insert("FCacheMs", tb, New CacheDependency(HttpContext.Current.S ...

  2. JS事件整理

    onclick 鼠标点击事件 ondblclick 鼠标双击事件 onmouseover 鼠标移入事件 onmouseout 鼠标移出事件 onmousedown 鼠标按下事件 onmousemove ...

  3. powerdesinger中建立一个表后,出现Existence of index的警告

    可以不检查 Existence of index 这项,也就没有这个警告错误了!意思是说没有给表建立索引,而一个表一般至少要有一个索引,这是一个警告,不用的话对执行没有影响~ 转载:http://bl ...

  4. AC自动机入门

    Aho-Corasick automaton,该算法在1975年产生于贝尔实验室,是著名的多模式匹配算法之一. KMP算法很好的解决了单模式匹配问题,如果有了字典树的基础,我们可以完美的结合二者解决多 ...

  5. spinner下拉框组件

    方法一代码如下: <string-array name="city_name"> <item>浙江</item> <item>上海& ...

  6. Nginx模块之————RTMP模块在Ubuntu上以串流直播HLS视频

    Nginx的安装在Ubuntu上以串流直播HLS视频 https://www.vultr.com/docs/setup-nginx-on-ubuntu-to-stream-live-hls-video

  7. Monkey 使用aapt查看apk包名

    使用aapt    //aapt是sdk自带的一个工具,在sdk\builds-tools\目录下1.以ES文件浏览器为例,命令行中切换到aapt.exe目录执行:aapt dump badging ...

  8. js String对象中常用方法小结(字符串操作)

    1.charCodeAt方法返回一个整数,代表指定位置字符的Unicode编码. strObj.charCodeAt(index) 说明: index将被处理字符的从零开始计数的编号.有效值为0到字符 ...

  9. Python内置的字符串处理函数整理

    Python内置的字符串处理函数整理 作者: 字体:[增加 减小] 类型:转载 时间:2013-01-29我要评论 Python内置的字符串处理函数整理,收集常用的Python 内置的各种字符串处理 ...

  10. PetShop的系统架构设计

    <解剖PetShop>系列 一.PetShop的系统架构设计 http://www.cnblogs.com/wayfarer/archive/2007/03/23/375382.html ...