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

布局简介

CSS3提供了一种崭新的布局方式:Flexbox布局,即弹性伸缩布局模型(Flexible Box)用来提供一个更加有效的方式实现响应式布局。

由于这种布局还处于W3C的草案阶段,并且它分为旧版本、新版本、混合过渡版本三种不同的编码方式。浏览器的兼容性存在一定的问题

首先,我们来看看旧版本的浏览器兼容情况

PS:这是网上的图,浏览器兼容信息可以通过该网站查询:http://www.caniuse.com

开始之前,我们先创建一段内容,分为三个区域

//HTML代码部分
<div>
        <p>我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林</p>
        <p>我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林</p>
        <p>我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林我是吴广林</p>
    </div>
//CSS部分
p{
    width:150px;
    margin:5px;
    padding: 5px;
    border: 1px solid gray;
    background: silver;
}

这时候网页是这样的:

下面我们将重点研究属性的含义

旧版本

如果属性和属性值为:display:box;那么就是2009年7月份设定的工作草案,属于旧版本,它面向的是一些早期浏览器的弹性布局方案

首先我们要给父元素设置一下容器属性display

div{
    display: -webkit-box;
}

让我们刷新看下效果:

由于现在浏览器不支持标准写法,所以只能加前缀了,后面都一样。并且box和inline-box在这里效果其实一样,就不多写了。

1.box-orient

//主要实现元素内部的流动方向,有四个值

在div中加入这么一行代码:

-webkit-box-orient: vertical;

刷新网页,可以看到排列方向又变垂直了,剩下的几个值,大家可以自己去尝试下

2.box-direction

//主要设置伸缩容器中的流动顺序,两个值

-webkit-box-direction: reverse;

加入前:

加入后:

3.box-pack

//设置容器中元素的分布方式

让我们看下相应的效果吧

-webkit-box-pack: end;

-webkit-box-pack: center;

-webkit-box-pack: justify;

4.box-align

//处理伸缩属相上的额外空间

让我们看看相应的效果

-webkit-box-align: start;

-webkit-box-align: end;

-webkit-box-align: center;

-webkit-box-align: baseline;

-webkit-box-align: stretch;//默认

5.box-flex

//box-flex属性可以使用浮点数分配伸缩项目的比例

那么我们就来试试吧,代码和效果如下

p:nth-child(1){
    -webkit-box-flex:1;
}
p:nth-child(2){
    -webkit-box-flex:2.5;
}
p:nth-child(3){
    -webkit-box-flex:1;
}

6.box-ordinal-group

//可以设置伸缩项目的显示位置

p:nth-child(1){
    -webkit-box-flex:1;
    -webkit-box-ordinal-group:2;
}
p:nth-child(2){
    -webkit-box-flex:2.5;
    -webkit-box-ordinal-group:1;
}
p:nth-child(3){
    -webkit-box-flex:1;
    -webkit-box-ordinal-group:3;
}

设置前:

设置后:

小结

旧版box弹性伸缩布局就到这了,下一篇博客是将会介绍过渡版的flexbox弹性伸缩布局,敬请期待,我是汕大小吴,希望大家继续关注我的博客哦

时间: 2024-08-13 13:27:13

CSS3弹性伸缩布局(上)——box布局的相关文章

37.CSS3弹性伸缩布局【上】

第二十九章    CSS3弹性伸缩布局[上] 一.布局简介 Flexbox布局,即弹性伸缩布局模型(Flexible Box),他能更有效的实现布局,但这个布局还处于W3C的草案阶段,并且分旧版本,新版本,混合过渡阶段三种不同的编码. IE      Firefox     Chrome      Opera      Safari 支持需带前缀         无       4-25       4-31     15-18      5.17+ 支持不带前缀         无      

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

上一篇博客<CSS3弹性伸缩布局(一)——box布局>介绍了旧版本的box布局,而这篇博客将主要介绍最新版本的flex布局的基础知识. 新版本简介 新版本的Flexbox模型是2012年9月提出的工作草案,这个草案是由W3C 推出的最新语法.这个版本立志于指定标准,让新式的浏览器全面兼容,在未来浏览器的更新换代中实现统一. 这里我们还是继续上一篇博客中的例子,使用最新版本的flex布局来实现相同的效果. html代码: <div> <p>发生过的空间还是看价格哈健康啊水

39.CSS3弹性伸缩布局【下】

第二十九章   CSS3弹性伸缩布局[下] 一.新版本 (可以让心浏览器全面兼容,在未来浏览器更新换代中实现统一) 首先,设置伸缩盒的display有如下两个属性 (1)flex           将容器盒模型作为块级弹性伸缩盒显示(新版本) (2)inline-flex    将容器盒模型作为内联级弹性伸缩盒显示(新版本) //大部分不需要前缀 div{ display:flex: } 属性             IE      Firefox     Chrome      Opera

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

学习要点: 1.布局简介 2.旧版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.布局简介 CSS3 提供一种崭新的布局方式:Flexbox 布局,即弹性伸缩布局模型(Flexible Box).用来提供一个更加有效的方式实现响应式布局.但是用于这个布局方式还处于 W3C 的草案阶段,并且它还分为旧版本.新版本以及混合过渡版本三种不同的编码方式.在发展中,可能还有各种改动,浏览器的兼容性还存在问题.所以,本节课作

CSS3 弹性伸缩布局

CSS3 提供一种崭新的布局方式:Flexbox 布局,即弹性伸缩布局模型(Flexible Box).用来提供一个更加有效的方式实现响应式布局.但是用于这个布局方式还处于 W3C 的草案阶段,并且它还分为旧版本.新版本以及混合过渡版本三种不同的编码方式.在发展中,可能还有各种改动,浏览器的兼容性还存在问题.首先,我们来看下旧版本的浏览器兼容情况:以上的数据,我们摘自 CSS3 手册上的.当然,不同的教材和文章的会略有不同.但误差率也就一到两个版本,影响不大.首先,第一步:先创建一段内容,分成三

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

学习要点: 1.新版本 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.新版本 新版本的 Flexbox 模型是 2012 年 9 月提出的工作草案,这个草案是由 W3C 推出的最新语法.这个版本立志于指定标准,让新式的浏览器全面兼容,在未来浏览器的更新换代中实现了统一. 首先,设置伸缩盒的 display 有如下两个属性值: 属性值 说明 flex 将容器盒模型作为块级弹性伸缩盒显示(新版本) inline-fle

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

学习要点: 1.混合过度版 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS3 提供的用来实现未来响应式弹性伸缩布局方案,这里做一个初步的了解. 一.混合过渡版 混合版本的 Flexbox 模型是 2011 年提出的工作草案,主要是针对 IE10 浏览器实现的伸缩布局效果,其功能和旧版本的属性大同小异.我们还是采用上一节课的文件,然后使用混合过渡代码,实现 IE10 的伸缩布局. 首先,设置伸缩盒的 display 有如下两个属性值: 属性值 说明 flexbox 将容器盒模型作为块级弹性

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

混合过渡版 上一篇我们主要讲了旧版box布局,今天这篇主要讲flexbox布局. 混合版本的Flexbox模型是2011年提出的工作草案,主要是针对IE10浏览器实现的伸缩布局效果,其功能和旧版本的功能大同小异. 在这里我们还是采用上一篇的文件,使用混合过渡代码实现IE10的伸缩布局. 首先,我们要设置伸缩盒display属性,它有两个值 因为是针对IE10浏览器的,Chrome,Firefox,Opera不支持,所以我们用IE浏览器来做测试 div{ display: -ms-flexbox;

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

布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现. CSS3中引入flex的弹性盒模型,这是一个可以让你告别浮动.完美实现垂直水平居中的新特性. 尽管目前css3在PC端上的兼容性还不是那么完美,但是在移动端已基本实现兼容. 网络上有很多关于flex布局很好的教程.总结的也很完美,我就直接收藏了,以备查询 详解css3弹性盒模型(Flexbox) 移动端开发小记 – Flexbox