css3基础教程:CSS3弹性盒模型
今天给大家分享一篇关于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弹性盒模型的更多相关文章
- css3教程:弹性盒模型
Css3引入了新的盒模型——弹性盒模型,该模型决定一个盒子在其他盒子中的分布方式以及如何处理可用的空间.这与XUL(火狐使用的用户交互语言)相似,其它语言也使用相同的盒模型,如XAML .GladeX ...
- css3 居中(推荐弹性盒模型方式)
参考 http://www.zhihu.com/question/20774514 http://caibaojian.com/demo/flexbox/align-items.html 例子:ht ...
- CSS3弹性盒模型flexbox完整版教程
http://caibaojian.com/flexbox-guide.html 来自CSS Tricks上的一个教程,原文为:A Complete Guide to Flexbox.文中详细的介绍了 ...
- CSS3弹性盒模型flexbox布局基础版
原文链接:http://caibaojian.com/using-flexbox.html 最近看了社区上的一些关于flexbox的很多文章,感觉都没有我这篇文章实在,最重要的兼容性问题好多人都没有提 ...
- CSS3弹性盒模型,Flex布局教程
布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现. CSS3中引入flex的弹性盒模型 ...
- IT兄弟连 HTML5教程 CSS3属性特效 弹性盒模型
CSS3引入了新的盒模型——弹性盒模型,该模型决定一个盒子在其他盒子中的分布方式以及如何处理可用的空间.使用该模型,可以很轻松的创建自适应浏览器窗口的流动布局或自适应字体大小的弹性布局.弹性盒模型看起 ...
- CSS3弹性盒模型布局模块介绍
来源:Robert’s talk原文:http://robertnyman.com/2010/12/02/css3-flexible-box-layout-module-aka-flex-box-in ...
- (转)详解css3弹性盒模型(Flexbox)
今天刚学了css3的弹性盒模型,这是一个可以让你告别浮动.完美实现垂直水平居中的新特性. Flexbox是布局模块,而不是一个简单的属性,它包含父元素和子元素的属性. Flexbox布局的主体思想是似 ...
- css3弹性盒模型
一.简介 css3引入了新的盒模型——弹性盒模型,该模型决定一个盒子在其他盒子中的分布方式以及如何处理可用的空间.使用该模型,可以很轻松的创建自适应浏览器窗口的流动布局或自适应字体大小的弹性布局. 目 ...
随机推荐
- quay.io/coreos/etcd 基于Docker镜像的集群搭建
etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现.etcd是由CoreOS开发并维护的,灵感来自于 ZooKeeper 和 Doozer,它使用Go语言编写,并通过Raft一致性算法处理 ...
- Python之logging模块
一.引言 之前在写一些小程序的时候想把日志内容打到文件中,所以就自己写了一个logger.py的程序,如下: #!/usr/bin/python # -*- coding=utf-8 -*- impo ...
- easyui DataGrid 工具类之 列属性class
public class ColumnVO { /** * 列标题文本 */ private String title; /** * 列字段名称 */ pr ...
- 20160620001 FileUpload控件获取上传文件的路径
参考地址: http://bbs.csdn.net/topics/350051517 —————————————————————————————— 用js实现 <%@ Page Language ...
- TortoiseSVN安装使用
TortoiseSVN是windows平台下Subversion的免费开源客户端. 一般我们都是先讲讲服务器的配置,然后再讲客户端的使用,但是在TortoiseSVN上,却可以反过来.因为,如果你的要 ...
- python 学习笔记十一 SQLALchemy ORM(进阶篇)
SqlAlchemy ORM SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据A ...
- C/C++ 宏中的 #、#@、##的作用
宏中的# 功能是将其后面的宏参数进行字符串化操作(Stringizing operator), 简单说就是在它引用的宏变量的左右各加上一个双引号. #define STRING(x) #x 下面二条语 ...
- URLClassLoader类
URLClassLoader类 1.URLClassLoader类也是ClassLoader类的实现类,它的功能非常强大,他可以从本地文件系统中获取二进制文本来加载类,也可以从远程主机获取二进制文件来 ...
- 分享 - 最初的JDBC操作步骤
/* * 1. 注册 */ // 装载注册 SQLServer Driver Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDri ...
- consul笔记
1 webui 默认最新的webui只支持127.0.0.1这种的本机网站的 不支持192.168.1.2 启用192.168.1.2的支持 命令加 -client 192.168.2.156 感谢赵 ...