写在前面的话:

css3盒子布局,可以更简单直观的均分页面某一个div,并且还可以达到均分后的每一个元素中的内容上下居中、左右居中,但是该模型对浏览器的版本有要求:

{
display: -webkit-box; /* Firefox 30+,Chrome 4+, Safari 3.1, iOS Safari 3.2+ */
display: -moz-box; /* Firefox 17- */
display: -webkit-flex; /* Chrome 21+, Safari 6.1+, iOS Safari 7+, Opera 15/16 */
display: -moz-flex; /* Firefox 18+ */
display: -ms-flexbox; /* IE 10 */
display: flex; /* Chrome 29+, Firefox 22+, IE 11+, Opera 12.1/17/18, Android 4.4+ */
}
建议使用display: flex;因为display: -webkit-box;除了ie外都支持,但是在火狐和chrome上对该样式的解析又不一样,容易导致火狐和chrome样式混乱,并且火狐和chorme都出现盒子中的元素会改变盒子布局的长宽比,要不然就需要写两种样式display: -webkit-flex和display: -moz-flex;但这会导致写很多无意义的代码,所以也不建议使用,如果不针对低版本的ie开发,那么display: flex;无疑是更好的选择
效果1:
效果2:
代码:
 <style>
#Settings-div {
width: %;
height: 500px;/*开启盒子模型的框必须写长宽*/
background-color: #fff;
display: flex;/*开启盒子布局*/
flex-flow: column;/*竖向布局,指width不变height改变*/
/* display: -webkit-box;
-webkit-box-orient: vertical//竖向布局*/
} #Settings-header {
width: %;
height: .5em;/*如果不想按比例分配长宽可以自己写固定样式*/
line-height: .5em;
text-align: center;
font-size: .5em;
border-bottom: 1px solid #e5e5e5;
background-image: -moz-linear-gradient(top,#ffffff,#f7f7f7);
} #Content {
flex: ;
display: flex;
flex-flow: row;/*横向布局,如果是display: -webkit-box;则不用写布局方式,因为浏览器均默认为横向*/
} #Settings-list {
flex: ;
display: flex;
height: %;
flex-flow: column;
} #Settings-content {
flex: ;
height: %;
} #Settings-list div {
/*display: -webkit-box;//声明盒子模型下的所有div都按盒子模型布局
-webkit-box-align: center;//上下居中
-webkit-box-pack: center;//左右居中*/
display: flex;
justify-content: center;/*左右居中*/
align-items: center;/*上下居中*/
} .list-title {
flex: ;/*不单单是id可以写class也可以*/
background-image: -moz-linear-gradient(top,#ffffff,#f7f7f7);/*页面元素背景从上到下颜色渐变,怕你们看不懂,虽然与主题无关-moz是只能火狐识别的单独样式,-webkit是chrome、Safari、Opera为主的浏览器识别的样式 */
font-size: .2em;
border-right: 1px solid #e5e5e5;
} .list-content {
flex: ;
background-color: #f7f7f7;
border-top: 1px #e5e5e5 solid;
cursor: pointer;
border-right: 1px solid #e5e5e5;
} .action {
border-left: 5px solid #0094ff;
} .select {
background-color: #fff;
border-right: 0px;
} #Content-one {
width: %;
height: %;
} #Content-two {
width: %;
height: %;
} #Content-twodiv {
width: %;
height: %;
display: flex;
flex-flow: column;
}
     /*由于没有给#Content-twodiv底下的div写布局模式,所以底下的div中的元素没用居中*/
#Content-two1 {
flex: ;
width: %;
display: flex;
flex-flow: row;
} #Content-two2 {
flex: ;
} #Content-three {
display: none;
} #form1 {
width: %;
height: %;
display: -webkit-box;/*另一种要写很多无意义的代码的写法*/
display: -moz-box;
-webkit-box-orient: vertical;
-moz-box-orient: vertical;
}
     /*完全无意的浪费时间写的样式,实在是不推荐*/ 
#form1 div {
display: -webkit-box;
-webkit-box-pack: center;
-webkit-box-align: center;
display: -moz-box;
-moz-box-align: center;
-moz-box-pack: center;
} #form1-header {
width: %;
height: 50px;
font-size: .3em;
border-bottom: 1px solid #e5e5e5;
} #table {
width: %;
table-layout: auto;
margin-top: 10px;
} #table td {
width: %;
height: 40px;
line-height: 40px;
} .table-left {
text-align: right;
padding-right: 20px;
} .table-right {
padding-left: 20px;
} #save1 {
background-color: #aa56ff;
color: #ffffff;
width: 80px;
height: 35px;
border: 0px;
box-shadow: 2px 4px 6px #;
cursor: pointer;
} #save2 {
background-color: #aa56ff;
color: #ffffff;
width: 80px;
height: 35px;
border: 0px;
box-shadow: 2px 4px 6px #;
cursor: pointer;
} #age {
width: 25px;
border-color: #d8d8d8 #e5e5e5 #e5e5e5 #d8d8d8;
border-style: solid;
border-width: 1px;
} .table-right select {
width: 100px;
height: 30px;
border-color: #d8d8d8 #e5e5e5 #e5e5e5 #d8d8d8;
border-style: solid;
border-width: 1px;
}
</style>
<div id="Settings-div">
<div id="Settings-header">
<span>个人设置</span>
</div>
<div id="Content">
<div id="Settings-list">
<div class="list-title action">
<img src="~/images/user.png" />
<span>个人资料</span>
</div>
<div class="list-content select" data-leve="">
<span>基本资料</span>
</div>
<div class="list-content" data-leve="" style="border-bottom:1px #e5e5e5 solid ;">
<span>头像设置</span>
</div>
<div class="list-title">
<img src="~/images/mi.png" />
<span>隐私设置</span>
</div>
<div class="list-content" style="border-top:1px #e5e5e5 solid ;" data-leve="">
<span>修改密码</span>
</div>
</div>
<div id="Settings-content">
<div id="Content-one" class="content">
<form id="form1">
<div id="form1-header">
<span>基本资料</span>
</div>
<table id="table">
<tr>
<td class="table-left">性别:</td>
<td class="table-right">
<input type="radio" name="sex" value="男" checked />男
<input type="radio" name="sex" value="女" />女
</td>
</tr>
<tr>
<td class="table-left">年龄:</td>
<td class="table-right"><input type="text" name="age" id="age" value="" />岁</td>
</tr>
<tr>
<td class="table-left">居住地:</td>
<td class="table-right">
<select>
<option value="">请选择</option>
</select>
<select>
<option value="">请选择</option>
</select>
</td>
</tr>
</table>
<div>
<input type="button" id="save1" value="保存" />
</div>
</form>
</div>
<div id="Content-two" class="content" style="display:none;">
<div id="Content-twodiv">
<div id="Content-two1">
<div style="flex:2;background-color:#e2e2e2;"> </div>
<div style="width:290px;"></div>
</div>
<div id="Content-two2">
<form id="upload-imgs" action="/FileUpload/FileImages" method="post" enctype="multipart/form-data">
<input type="button" value="上传图片" style="" />
<input type="file" name="img" value="" style="opacity:0; margin-left:-80px;width:80px;cursor:pointer;" onchange="uploadFile(this)" />
</form>
</div>
</div>
</div>
<div id="Content-three" class="content" style="display:none;"> </div>
</div>
</div> </div>

css3的盒子模型布局的更多相关文章

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

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

  2. css3弹性盒子模型之box-flex

    css3弹性盒子模型之box-flex 浏览器支持 目前没有浏览器支持 box-flex 属性. Firefox 支持替代的 -moz-box-flex 属性. Safari.Opera 以及 Chr ...

  3. css3弹性盒子模型

    当下各种手机,平板尺寸不一,如果盒模型只能固定尺寸,不能随意压缩,将不能很好的迎合这个时代.所以css3推出了新的盒模型——弹性盒子模型(Flexible Box Model). 弹性盒模型可以水平布 ...

  4. 浅谈 css3 box盒子模型以及box-flex的使用

    display:box;box-flex是css3新添加的盒子模型属性,它的出现可以解决我们通过N多结构.css实现的布局方式.经典的一个布局应用就是布局的垂直等高.水平均分.按比例划分.   一.使 ...

  5. css3弹性盒子 flex布局

    CSS3 弹性盒 1.display:flex 说明: 设置为弹性盒(父元素添加) 2.flex-direction(主轴排列方式) 说明: 顺序指定了弹性子元素在父容器中的位置 row 默认在一行内 ...

  6. CSS3之盒子模型

    display:box 使子元素成行排列如果父级宽度小于子级盒子 不会把超出部分挤出下面 而是直接超出 -box-orient:vertical 使盒子垂直显示  默认水平显示 -box-direct ...

  7. CSS3 Box-sizing(盒子模型)

    http://www.w3cplus.com/content/css3-box-sizing http://tantek.com/CSS/Examples/boxmodelhack.html box- ...

  8. css3弹性盒子模型——回顾。

    1.box-flex属性规定框的子元素是否可伸缩其尺寸. 父元素必须要声明display:box;子元素才可以用box-flex. 语法:box-flex:value; 示例: <style&g ...

  9. display Flex 盒子模型布局兼容Android UC

    <!DOCTYPE html><html><head><meta charset="utf-8"><meta content= ...

随机推荐

  1. https://github.com/aptana/studio3/releases aptana

    https://github.com/aptana/studio3/releases  aptana

  2. PHP使用curl伪造IP地址和header信息

    curl虽然功能强大,但是只能伪造$_SERVER["HTTP_X_FORWARDED_FOR"],对于大多数IP地址检测程序来说,$_SERVER["REMOTE_AD ...

  3. Python之路第十二天,高级(4)-Python操作rabbitMQ

    rabbitMQ RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. MQ全称为Message Queue, 消息队列(M ...

  4. Ubuntu安装字体的方法

    基本步骤如下: 1. 将要安装的字体放在一个文件夹下,以/home/UsrName/Download/Font为例 2.在终端中输入 sudo cp -r /home/UsrName/Download ...

  5. Python学习(七) 流程控制if语句

    在Python中流程控制if语句采用如下格式: if expression : statement elif expression : statement elif expression : stat ...

  6. 安卓手机用-----Exchange Activesync---同步Gmail日历联系人

    微软Exchange Activesync是一个跨平台的移动设备同步协议 支持很多手机操作系统,比如诺基亚的塞班.黑莓的palm.WindowsMobile.Iphone.安卓等.这些手机上都可以用这 ...

  7. JavaScriptSerializer类 对象序列化为JSON,JSON反序列化为对象

    JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据.说白了就是能够直接将一个C#对象传送到前台页面成为javascript对 ...

  8. vmware 网络连接

    解决VMware nat service等服务不能启动 虚拟机如何设置网络连接来上网?

  9. 【转】android是32-bit系统还是64-bit系统

    原文网址:http://www.cnblogs.com/pengwang/archive/2013/03/11/2954496.html 电脑CPU分32位和64位,这个我们都知道.用了这么长时间的a ...

  10. UVA 10047-The Monocycle(队列bfs+保存4种状态)

    题意:给你一张地图,S代表起点,T代表终点,有一个轮盘,轮盘平均分成5份,每往前走一格恰好转1/5,轮盘只能往前进,但可以向左右转90°,每走一步或是向左向右转90° 要花费1单位的时间,问最少的时间 ...