如何让高度、宽度不定的容器保持水平、垂直居中

这个题目似乎解决的办法很多,JS是最能够确保各种浏览器中一致性的,但是仍然可以使用CSS的方式来解决。这个问题分解为两个方面,第一解决左右居中的问题,第二解决上下居中的问题。

 

1、左右居中。

 

左右居中最为简单,使用 text-align:center; 就可以让绝大多数的对象居中对齐,并且这个属性也获得了几乎全部浏览器的支持。实际上,这个属性定义的是块级对象内部文字的对齐方式,内部的文字或者图像一般是内联对象。

 

也许有人会提到,为什么不用 margin:0 auto;这个办法呢?这是一个好问题,在做居中布局的页面时,这是我们最常用的让DIV容器居中的办法。margin作用于块级元素,而是否作用于其他内敛元素,不同的浏览器有着不同的解释,因此对于左右居中,没有使用这个方法。

 

2、上下居中。

 

上下居中,有两种方法,一种是负margin的办法,这种对于固定宽度的容器,非常的好用。另外一种就是适应于高度不固定的情形,即使用 vertical-align 属性。Vertical-align 属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。这会使元素降低而不是升高。在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。

 

3、最后代码

 

综上,可以得出对于高度、宽度都不固定的容器,如何让其做到水平、垂直居中:

 

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta http-equiv=“Content-Type” content=“text/html; charset=utf-8″ />
 5 <title>水平、垂直居中</title>
 6 <style type=“text/css”>
 7 #container_outer { display:table; width:1200px; height:1000px; overflow:hidden; margin-left:50px; _position:relative; }
 8 #container_inner { vertical-align:middle; display:table-cell; text-align:center; _position:absolute; _top:50%; _left:50%; }
 9 #content { color:#fff; border:1px solid #000; display:inline-block; _position:relative; _top:-50%; _left:-50%; }
10 </style>
11 <body>
12 <div id=“container_outer”>
13      <div id=“container_inner”>
14           <div id=“content”>
15 动态内容...
16 </div>
17 </div>
18 </div>
19
20 </body>
21 </html> 

 

 

参考资料:

1、http://blog.mihoweb.com/archives/790.html

2、CSS text-align

3、http://www.cnblogs.com/zhwl/p/3529473.html

4、CSS vertical-align

5、http://www.jb51.net/css/10337.html

时间: 2024-10-25 00:54:34

如何让高度、宽度不定的容器保持水平、垂直居中的相关文章

JS获取屏幕,浏览器窗口大小,网页高度宽度

 本篇文章主要介绍了JS获取屏幕,浏览器窗口大小,网页高度宽度的实现代码.需要的朋友可以过来参考下,希望对大家有所帮助 网页可见区域宽:document.body.clientWidth  网页可见区域高:document.body.clientHeight  网页可见区域宽:document.body.offsetWidth (包括边线的宽)  网页可见区域高:document.body.offsetHeight (包括边线的宽)  网页正文全文宽:document.body.scrollWi

js控制iframe的高度/宽度让其自适应内容

 这篇文章主要介绍了如何使用js控制iframe的高度/宽度让其自适应内容,需要的朋友可以参考下  代码如下: <mce:script language= "Javascript "><!--    window.onload=function()  {  parent.document.all("iframe1").style.height = document.body.scrollHeight;  parent.document.all(&q

css 样式 ,给div设置了最小高度 当内容溢出最小高度时 之前给容器div设置的样式没作用

问题描述 css 样式 ,给div设置了最小高度 当内容溢出最小高度时 之前给容器div设置的样式没作用 解决方案 DIV设置最小高度DIV设置最小高度为什么我的设置的div最小高度不对 解决方案二: 不懂你要问什么东东,代码也没有.. 解决方案三: 你用浏览器调式调式呢 解决方案四: 你用的是谷歌调试吗?

获取当前屏幕的高度宽度(JQuery/javascript)

获取当前屏幕的高度宽度(JQuery/网页特效) Query获取浏览器窗口宽高,文档宽高 2010-01-20 08:59 <script type="text/javascript"> $(document).ready(function()                  { alert($(window).height()); //浏览器当前窗口可视区域高度 alert($(document).height()); //浏览器当前窗口文档的高度 alert($(do

css3实现图片在容器中等比例缩放及水平垂直居中

本文我们将介绍一种用纯css3实现图片在指定容器中等比例缩放及水平垂直居中显示的实例方法 先看实现代码 <!html> <head> <meta charset="utf-8"> <title> css3 图片等比缩放,左右垂直居中显示 </title> <style> .mysec{ width:400px; height:200px; border:solid 1px #ccc; background-colo

CSS中未知高度水平垂直居中实例

关于 CSS 的未知高度水平垂直居中问题 关于 CSS 的未知高度水平垂直居中问题 关于 CSS 的未知高度水平垂直居中问题 关于 CSS 的未知高度水平垂直居中问题 关于 CSS 的未知高度水平垂直居中问题 关于 CSS 的未知高度水平垂直居中问题 关于 CSS 的未知高度水平垂直居中问题 关于 CSS 的未知高度水平垂直居中问题 关于 CSS 的未知高度水平垂直居中问题

Android开发点滴 - 如何使按钮水平垂直居中且始终占据屏幕宽度一半

问题描述: 如何使按钮水平垂直居中且始终占据屏幕宽度一半 效果如下: 竖屏:   横屏:   解决方案: 使用线性布局,指定线性布局的总权重(weightSum)为1, 指定按钮的权重为其一半即0.5 布局代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&q

js/jquery获取容器高度宽度代码

我们在js获取容器高度与宽度都是如下  代码如下 复制代码 <div id='div' style='width:20px;'></div> <script type='text/javascript'> alert(document.getElementById('div').style.width); //return 20px alert(document.getElementById('div').style.height); //return 空 </s

JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)_javascript技巧

网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) 网页正文全文宽:document.body.scrollWidth 网页正文全文高:document.body.scrollHeight 网页被卷去的高:document.body.scr