`
a19905522
  • 浏览: 95563 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

宽度高度不固定的div 如何水平居中以及垂直居中

 
阅读更多

点评:从事页面重构以来,由于经常遇见宽度不固定的div在水平或垂直居中的问题!总结下!留着以后用
宽度高度不固定div的水平居中演示如下:

 

水平居中代码:

html部分
<div class="container">
<div class="center"><a href="#">1</a><a href="#">2</a><a href="#">3</a>
<div style="clear:both"></div></div>


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

css部分
.container{width:500px;height:80px;background:#C2300B;margin-left:50px;padding-top:10px;text-align:center;}
.center{display:inline-block;border:2px solid #fff;}
.center{_display:inline;} /*针对ie6 hack*/
.center a{float:left;border:1px solid #fff;padding:5px 10px;margin:10px;color:#fff;text-decoration:none;}

 

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

代码要点:
父容器container加css属性 text-align:center;
子容器center加css属性display:inline-block;
.center{_display:inline;} 为针对ie6的hack

宽度高度不固定的div垂直居中演示如下:

 

垂直居中代码:

html部分
<div id="vc"><div id="vci"><div id="content">
我们垂直居中了,我们水平居中了
</div></div></div>


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

css部分
#vc { display:table; background-color:#C2300B; width:500px; height:200px; overflow:hidden; margin-left:50px; }
#vci { vertical-align:middle; display:table-cell; text-align:center; _position:absolute; _top:50%; _left:50%; }
#content { color:#fff; border:1px solid #fff; display:inline-block; _position:relative; _top:-50%; _left:-50%; }

 

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

代码要点:
父容器vc的css属性 display:table;overflow:hidden;
子容器vci的css属性 vertical-align:middle;display:table-cell;
针对ie6的hack,vci容器的 _position:absolute;_top:50%; 和content容器的 _position:relative; _top:-50%;
如果不需要水平居中的话,需要注释掉vci容器的text-align:center;_left:50%;以及content的display:inline-block;_left:-50%;

宽度高度固定的div垂直居中和水平居中

 

 

html部分
<div class="guding"><div class="gd">居中了</div></div>


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

css部分
.guding{width:500px;height:200px;background:#c2300b;margin-left:50px;position:relative;}
.gd{width:50px;height:20px;background:#fff;position:absolute;top:50%;left:50%;margin-top:-10px;margin-left:-25px;}


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

代码要点
父容器要用相对定位position:relative;否则的话子元素会相对于浏览器窗口进行绝对定位。
子容器绝对定位,top:50%;left:50%;margin-top,margin-left的值取该容器高度,宽度的一半的负值。


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

如果相对于浏览器窗口做水平垂直居中的话,比如需要大背景居中,代码如下
<style type="text/css">
body{background:#c12b02;}
.main{background:url(你的背景图片地址) no-repeat;width:1000px;height:800px;position:absolute;margin-top:-400px;margin-left:-500px;}
</style>
<body>
<div class="main"></div>
</body>

详细出处参考:http://www.jb51.net/css/56268.html

分享到:
评论

相关推荐

    css 水平居中,垂直居中,自适应宽度的代码

    一、宽度自适应的元素水平居中:  1.宽度自适应的元素可以是:绝对位定、浮动元素、行内元素。而我们通常布局,肯定不会用行内元素,所以会选择,绝对定位或浮动。 2.居中:这里我们应该会想到1/2、50%、一半等...

    div+css布局限制图片最大宽度图片水平垂直居中兼容IE6

    div+css布局限制图片最大宽度图片水平垂直居中兼容IE6

    CSS 将两个button按钮垂直+水平居中

    但是因为它有固定高度,其实并不能和上下都间距为 0,因此 margin:auto; 会使它居中。使用 **margin:auto;**使块级元素垂直居中是很简单的。 .vert-center{ position:absolute; top:0; bottom:0; left: 0; ...

    CSS网页布局:div垂直居中的各种方法

    在前面的文章中我简单总结了一个“CSS在页面布局中实现div水平居中的方法”,其实水平居中实现还是比较简单的,反而垂直居中有点麻烦,因为我们设计页面的时候往往水平宽度都是固定的。因此我们有必要总结一下在页面...

    不固定宽度和高度的情况下CSS调整div居中的方法总结

    很多新手在写css的时候经常遇到的一个问题,当div没有固定的宽度或者高度的时候,如何才能让div水平或者垂直居中显示。如果div有固定宽度的话,用padding,margin都很容易实现。方法有很多种。不过经常遇到这种div...

    css自适应宽度 多种方法实现宽度自适应的水平居中

    当父元素和子元素都没有定义宽度的情况下实现水平居中: display:inline-block 可以使用text-align:center和display:inline-block相结合,这个技巧需要一个父元素。 HTML代码: 复制代码代码如下: &lt;div class=”...

    css实现div水平、垂直居中兼容chrome、ie8

    主要介绍了使用css实现的div水平、垂直居中并且兼容chrome、ie8,具体示例如下,需要的朋友可以参考下

    固定宽度 高度的页面在不同分辨率的屏幕上垂直 水平居中

    怎样实现固定宽度、高度的页面在不同分辨率的屏幕上垂直、水平居中,要求兼容IE,需要的朋友可以了解下

    Div使用margin居中常见问题

    (意思是:上下边界为0,左右根据宽度自适应)可以让div等块级元素达到居中的效果,但是往往我们发现虽然我们已经加入margin:0 auto;却仍然没有实现居中。 这往往是由以下两种常见原因引起的: 1、没有设置宽度 2、没...

    使用绝对定位+负外边距让DIV层水平垂直居中页面

    让一个层水平垂直居中是一个非常常见的布局方式,但在html中水平居中使用margin:0px auto;可以实现,但垂直居中使用...让层水平居中,留意宽度和高度必不可少。 2、让层垂直居中 复制代码代码如下: .className{ width

    关于多行文字水平垂直居中的一点心得分享

    前些天在W3CPlus看到了一篇文章,提到用CSS制作水平垂直居中,在测试其中的第六点时发现了一些小问题: 添加了一个无意义的新标签 复制代码代码如下: &lt;div id=”extra”&gt; 当设定内容宽度的时候,文本换行了 对于...

    如何让层垂直居中于浏览器窗口?.rar

    层垂直居中于浏览器,一直是新手朋友比较头疼的问题。  其实解决的思路是这样的:首们需要position:absolute;绝对定位。而层的定位点,使用外补丁margin负值的方法。负值的大小为层自身宽度高度除以二。 如:一个...

    Android应用借助LinearLayout实现垂直水平居中布局

    (注意:android:layout_width=”fill_parent” android:layout_height=”fill_parent” 属性中,若水平居中,至少在宽度上占全屏;若垂直居中,则在高度上占全屏) android:layout_height=fill_parent android:...

    div+css有实例,易学易懂

    6.3.3 已知容器的大小而未知内容大小的水平和垂直居中问题 6.3.4 容器的大小和内容大小均未知的水平和垂直居中 6.3.5 修饰图片的水平和垂直居中 6.4 字体的综合属性 6.4.1 字体的选择 6.4.2 字体的大小 6.4.3 字体的...

    懒人原生移动端(高版本浏览器)上下左右居中模块

    当我们的div高度宽度在未知的情况下是无法使用margin的 那么这个时候可以用css3代码弥补这一问题: css3的transform:translate(A,B) 属性 它可以移动模块的位置 接受两个数值,A是x轴方向,B是y轴...

Global site tag (gtag.js) - Google Analytics