说到居中的问题,或许大多数童鞋都会想到text-align:center; margin:0 auto; vertical-align:middle; line-height:height; ……的确,这些属性在某种程序上可以达到居中的效果。但是否是适用于每一种情况呢?我们先来温习一下这些个属性值的用处。
    text-align:center;                    行内元素的水平居中显示;
    margin:0 auto;                       固宽盒子在浏览器中的居中显示效果;
    vertical-align:middle;             行内元素的垂直居中显示;
    line-height:height;                 针对于单行文字垂直居中显示;

====================================

HTML:

<div class="A">
     <div class="B">测试</div>
</div>

----------------------------------

CSS:

第一种方法:(常用)
.A{ position: relative; height:500px; width:500px; background-color:#FF0000;}
.B{ position: absolute; top:50%; left:50%;height:250px; width:250px; background-color:#FFF; margin:-125px 0 0 -125px; }

第二种方法:
.A{ position: relative; height:500px; width:500px; background-color:#FF0000; overflow:hidden;}
.B{ position: relative; height:250px; width:250px; background-color:#FFF; margin:-125px auto 0; top:250px;}

第三种方法:(IE有点问题)
.A{ position: relative; height:500px; width:500px; background-color:#FF0000; }
.B{ position: absolute; height:250px; width:250px; background-color:#FFF; margin:auto; top:0; left:0; bottom:0;  right:0;}

第四种方法:(用到CSS3,不考虑IE,只在火狐做了测试,其他可加前缀)
.A{position:relative; height:500px; width:500px; background-color:#FF0000;display:-moz-box; -moz-box-pack: center; -moz-box-align:center;}
.B{height:250px; width:250px; background-color:#FFF;}

第五种方法:(IE6/7兼容)
.A{ display:table-cell;height:500px;width:500px;background-color:#FF0000;vertical-align: middle;text-align: center;
*font-size:438.6px;/*font-size的值为该父元素的高度除以1.14得到的值,即500/1010=438.6*/}
.B{ display:inline-block;height:250px; width:250px; background-color:#FFF; 
*display:inline; *zoom:1;/*ie6/7实现inline-block*/
*vertical-align: middle;
font-size:12px;/*恢复正常字体大小*/}

盒模型中的div居中的更多相关文章

  1. 设置div中的div居中显示

    设置div中的div居中显示 方法一. <div class='big'> <div class='small'>box1</div> </div> s ...

  2. 弹性盒模型中flex-grow 和flex的区别

    在flex弹性盒模型体系中,flex-grow和flex都有对子元素进行放大的作用,但是这两个属性在放大时的计算方法不同,在使用时候要注意,使用正确的放大属性,从而达到自己想要的效果. 先来看下两个属 ...

  3. 盒模型中--border

    三要素:宽border-width,形状border-style,颜色border-color <style> div{ width:300px; height:300px; backgr ...

  4. 盒模型中padding、border、margin的区别

    在CSS中,规定了一种基本设计模型——盒模型(也叫框模型),如图所示: 其中包含了四部分内容:element/元素(即图中文字).padding/内边框(图中两个红色边框之间白色部分).border/ ...

  5. 页面中的div居中

    div的居中 一.页面的水平居中 #article{ position: relative; margin: 0 auto; width: 80%; background-color: aquamar ...

  6. 前端笔记之移动端&响应式(中)视口&百分比布局&弹性盒模型&rem&fillpage

    一.viewport视口 1.1什么是屏幕尺寸.屏幕分辨率.屏幕像素密度? 屏幕尺寸:指屏幕的对角线的长度,单位是英寸,常见的屏幕尺寸有3.5.3.7.4.2.4.7.5.0.5.5.6.0等. 屏幕 ...

  7. [06] 盒模型 + auto 居中 + 垂直合并

    1.盒模型 盒子模型有两种,分别是 ie 盒子模型和标准 w3c 盒子模型. 标准(W3C)模型中:CSS中的宽(width) = 内容 (content)的宽 CSS中的宽(width) = 内容( ...

  8. 【css笔记】css中的盒模型和三种定位机制(固定定位,绝对定位,浮动)

    html页面上的元素都可以看成是框组成的,框通过三种定位机制排列在一起就过程了我们看到的页面.而框就是盒模型. 盒模型 1.页面上的每个元素可以看成一个矩形框,每个框由元素的内容,内边距,边框和外边距 ...

  9. 理解盒模型——外边距、内边距和边框之间的关系,IE 8以下版本的浏览器中的盒模型有什么不同。

    一个元素盒模型的层次从内到外分别为:内边距.边框和外边距IE8以下浏览器的盒模型中定义的元素的宽高不包括内边距和边框

随机推荐

  1. Ubuntu 18.04 更改静态IP

    2018年4月26日,ubuntu 18.04发行,第一时间下载安装了SERVER版本.使用VM14版本的虚拟机,开始使用DHCP获得IP地址,没有意外,可以直接上网.然而在更改VM的网络模式为桥接模 ...

  2. 【转载】ARouter-万能路由协议

    Github源码地址:https://github.com/alibaba/ARouter 一.功能介绍 支持直接解析标准URL进行跳转,并自动解析参数注入 支持多模块工程使用 支持添加多个拦截器,自 ...

  3. springMVC返回modelmap跟new hashMap的区别

    今天遇到了个坑. 在springboot中 平时写接口,newHashMap,@ResponseBody 返回json对象,没什么问题 @RequestMapping("url") ...

  4. 【JAVAWEB学习笔记】网上商城实战4:订单模块

    今日任务 完成订单模块的功能 1.1      订单 模块的功能 1.1.1    我的订单: [我的订单的查询] * 在header.jsp中点击我的订单. * 提交到Servlet: * 获得用户 ...

  5. 图形管线之旅 Part4

    原文:<A trip through the Graphics Pipeline 2011> 翻译:往昔之剑   转载请注明出处   欢迎回来.上个部分是关于vertex shader的, ...

  6. 2017/11/3 Leetcode 日记

    2017/11/3 Leetcode 日记 654. Maximum Binary Tree Given an integer array with no duplicates. A maximum ...

  7. Hibernate 多对一注解

    在前面学习了基于配置文件的多对一关系,而在实际的开发过程中我们更多的是使用注解去开发.在这里来简单学习一下基于注解的多对一关系. 1. 创建所需要的实体 注:这里需要特别注意的是,如果使用的是mysq ...

  8. 【BZOJ 4332】 4332: JSOI2012 分零食 (FFT+快速幂)

    4332: JSOI2012 分零食 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 119  Solved: 66 Description 这里是欢乐 ...

  9. jni java C/C++ 相互调用

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha java 中  声明 一个 native 方法 用javah命令 生成 包含 nativ ...

  10. PowerBuilder连接数据库

    什么是PowerBuilder(后面简称PB)? 这是个奇怪的问题,说实话,在这次毕业设计之前,我也不知道什么是PowerBulider(当然,不排除我见识短浅).百度百科是这样解释的:"P ...