如何让div水平垂直居中
引子
我们经常遇到需要把div中的内容进行水平和垂直居中。所以,这里介绍一种方法,可以使div水平居中和垂直居中。
代码:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>div水平垂直居中</title>
    <style>
        *{
            margin:0;
            padding:0;
        }
        div.box{
            background-color:pink;
            border:2px solid #000;
            width:960px;
            height:500px;
            margin-left:50px;
        }
    </style>
</head>
<body>
    <div class="box">
            <img src="girl.jpg" alt="美女">
    </div>
</body>
</html>效果图:
现在先让图片在div中水平居中
我们可以先给图片套一层盒子。
代码:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>div水平垂直居中</title>
    <style type="text/css">
        *{
            margin:0;
            padding:0;
        }
        div.container{
            background-color:pink;
            border:2px solid #000;
            width:500px;
            height:500px;
            margin:50px auto;
            display:table;
        }
        div.wrapper{
            text-align:center;
            display:table-cell;
            vertical-align:middle;
        }
        div.wrapper img{
            border:1px solid #ddd;
        }
    </style>
</head>
<body>
    <div class="container">
            <div class="wrapper">
                <img src="girl.jpg" alt="美女"/>
            </div>
    </div>
</body>
</html>IE8/Firefox/Chrome/Safari/Opera页面效果:

IE6/IE7页面效果:

由此可见要做IE6/IE7的兼容:
代码:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>div水平垂直居中</title>
    <style type="text/css">
        *{
            margin:0;
            padding:0;
        }
        div.container{
            background-color:pink;
            border:2px solid #000;
            width:500px;
            height:500px;
            margin:0 auto;
            display:table;
            margin-top:20px;
        }
        div.wrapper{
            text-align:center;
            display:table-cell;
            vertical-align:middle;
        }
        div.wrapper img{
            border:1px solid #ddd;
        }
    </style>
    <!--[if lte IE 7]>
        <style type="text/css">
            div.container{
                position:relative;
            }
            div.wrapper{
                position:absolute;
                left:50%;top:50%;
            }
            div.wrapper img{
                position:relative;
                left:-50%;top:-50%;
            }
        </style>
	<![endif]-->
</head>
<body>
    <div class="container">
            <div class="wrapper">
                <img src="girl.jpg" alt="美女"/>
            </div>
    </div>
</body>
</html>IE6/IE7效果图:

综上所述,要让div里面的内容水平居中,可以使用text-align:center;
要实现垂直居中,container 的display:table;而wrapper的display:table-cell;同时vertical-align:middle;就可以实现div里的图片水平垂直居中。
假如是多张图片,要实现居中:
代码:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>div水平垂直居中</title>
    <style>
        *{
            margin:0;
            padding:0;
        }
        div.container{
            background-color:pink;
            border:2px solid #000;
            width:700px;
            height:500px;
            margin:0 auto;
            margin-top:50px;
        }
        div.wrapper{
            text-align:center;
            margin-top:28px;
        }
        div.wrapper img{
            border:1px solid #ddd;
            width:200px;
            margin:10px;
        }
    </style>
</head>
<body>
    <div class="container">
            <div class="wrapper">
                <img src="girl3.jpg" alt="美女"/>
                <img src="girl3.jpg" alt="美女"/>
                <img src="girl3.jpg" alt="美女"/>
                <img src="girl3.jpg" alt="美女"/>
                <img src="girl3.jpg" alt="美女"/>
                <img src="girl3.jpg" alt="美女"/>
            </div>
    </div>
</body>
</html>IE6/IE7/IE8/Firefox/Chrome/Safari/Opera页面效果:

div.wrapper中的text-align:center;实现水平居中,margin-top:28px;实现垂直居中。
28px=[500-(200+1+1+10+10)*2]/2,即外层的高度减去里面的高度,然后除以2,设置margin-top,即可居中。
假如有错误或者建议的地方,欢迎指正!-----妙瞳
如何让div水平垂直居中的更多相关文章
- 文字以及div水平垂直居中
		文字以及div水平垂直居中.md <div class=”content”> <div class=”mydiv”> huangyingnin! </div>< ... 
- 【笔记】让DIV水平垂直居中的两种方法
		今天写的了百度前端学院春季班的任务:定位和居中问题 由于距离上次学习CSS有点久远了,加上以前木有记笔记的习惯,方法忘得只剩下一种,今天通过网上查阅资料总结了以下两种简单的方法让DIV水平垂直居中. ... 
- DIV水平垂直居中的CSS兼容写法
		DIV水平垂直居中,非IE浏览器可以用CSS3来处理,IE浏览器中分别处理IE6和/IE7.IE8.IE9. 在IE低版本中,虽然大致上没有问题,但还是有一些细微的显示问题. 示例如下: <!D ... 
- Div水平垂直居中的三种方法
		百度了很多种方法,很多是不起作用的.下面这些方法是我亲自试过的.希望对大家有帮助! 下面是一波代码水军. <!DOCTYPE html> <html lang="en&qu ... 
- scss : div水平垂直居中
		scss 是一个很好用的css预处理语言,有很多很好的特性. 比如 mixin. 我们可以像使用函数那样使用mixin. 比如写一个div水平垂直居中. 上代码. @mixin absolute_ce ... 
- 【最全】CSS盒子(div)水平垂直居中居然还有这种方式
		最全的CSS盒子(div)水平垂直居中布局,对CSS 布局掌握程度决定你在 Web 开发中的开发页面速度. 相对于屏幕 方法一:利用定位 <div class="box"&g ... 
- 【html】【10】div布局[div水平垂直居中]
		必看参考: http://www.jb51.net/css/28259.html 让div居中对齐缩写形式为: .style{margin:0 auto;} 数字0 表示上下边距是0.可以按照需要设置 ... 
- 未知宽高div水平垂直居中3种方法
		<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head&g ... 
- 如何将一个div水平垂直居中?4种方法做推荐
		方案一: div绝对定位水平垂直居中[margin:auto实现绝对定位元素的居中], 兼容性:,IE7及之前版本不支持 div{ width: 200px; height: 200px; backg ... 
随机推荐
- linux上安装apache
			1 安装aprtar -zxvf apr-1.4.2.tar.gz cd apr-1.4.2.tar.gz ./configure --prefix=/usr/local/aprmake & ... 
- php大力力 [024节]PHP中的字符串连接操作(2015-08-27)
			2015-08-27 php大力力024.PHP中的字符串连接操作 PHP中的字符串连接操作 阅读:次 时间:2012-03-25 PHP字符串的连接的简单实例 时间:2013-12-30 很多 ... 
- CRM客户关系管理系统修改(十四)
			修改的流程: 
- Boostrap栅格系统
			Boostrap排版.链接样式设置了基本的全局样式.分别是:为body元素设置 布局容器:Bootstrap需要为页面内容和栅格系统包裹一个:container容器.Bootstrap提供了两个作此用 ... 
- vim1
			Vim模式介绍 几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数的编辑器使用了与Vim接入不同的方式:命令目录(鼠标或者键盘驱动),组合键(CTRL和ALT组成)或鼠标输入.Vim和vi一样, ... 
- iOS提交AppStore被拒原因
			1. Terms and conditions(法律与条款) 1.1 As a developer of applications for the App Store you are bound by ... 
- 企业级的App发布流程
			1.先注册企业级开发证书http://blog.sina.com.cn/s/blog_6cad9db90102uy0s.html2.开发 企业流程http://blog.csdn.net/pang04 ... 
- magento -- 给后台分类管理页的分类商品加一栏商品类型
			当使用特定分类来控制前台的商品显示时,后台分类管理页的分类商品只有编号.名称.SKU和价格这几栏,选择特定商品相当不便. 可以在这里多加一栏商品类型用来筛选商品,添加的方式很简单. 打开文件/app/ ... 
- 转:通过代码理解Asp.net4中的几种ClientIDMode设置.
			转:http://www.cnblogs.com/xray2005/archive/2011/07/05/2097881.html 以前我们可以通过ClientID在JavaScript脚本中服务器端 ... 
- 如何在UIAlertView中显示进度条
			今天这个问题是,在一个iPhone程序中,我要在后台做大量的数据处理,希望在界面上显示一个进度条(Progress Bar)使得用户了解处理进度.这个进度条应该是在一个模态的窗口中,使界 今天这个问题 ... 
