如何让DIV里面的DIV水平垂直居中

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-11
如何让DIV里面的DIV水平垂直居中

让DIV里面的DIV水平垂直居中有2种方法:
方法一:
让一个DIV水平居中,直接用CSS就可以做到。只要设置了DIV的宽度,然后使用margin设置边距0 auto,CSS自动算出左右边距,使得DIV居中。
.mydiv{
margin:0 auto;
width:300px;
height:200px;
}
方法二:
要让DIV水平和垂直居中,必需知道该DIV得宽度和高度,然后设置位置为绝对位置,距离页面窗口左边框和上边框的距离设置为50%,这个50%就是指页面窗口的宽度和高度的50%,最后将该DIV分别左移和上移,左移和上移的大小就是该DIV宽度和高度的一半。
.mydiv{
width:300px;
height:200px;
position:absolute;
left:50%;
top:50%;
margin:-100px 0 0 -150px
}

该方法使用普遍,但是前提是必需设置DIV的宽度和高度。如果当页面DIV宽度和高度是动态的,比方说需要弹出一个DIV层并且要居中显示,DIV的内容是动态的,所以宽度和高度也是动态的,这时需要用jQuery可以解决居中。

说明,本文中所指的DIV包括HTML页面中所有的元素。
让一个DIV水平居中,直接用CSS就可以做到。只要设置了DIV的宽度,然后使用margin设置边距0
auto,CSS自动算出左右边距,使得DIV居中。
.mydiv{margin:0auto;width:300px;height:200px;}但是如果要使DIV垂直方向也居中,恐怕CSS需要修改了。
CSS实现水平和垂直居中
要让DIV水平和垂直居中,必需知道该DIV得宽度和高度,然后设置位置为绝对位置,距离页面窗口左边框和上边框的距离设置为50%,这个50%就是指页面窗口的宽度和高度的50%,最后将该DIV分别左移和上移,左移和上移的大小就是该DIV宽度和高度的一半。
.mydiv{width:300px;height:200px;position:absolute;left:50%;top:50%;margin:-100px00-150px}该方法使用普遍,但是前提是必需设置DIV的宽度和高度。如果当页面DIV宽度和高度是动态的,比方说需要弹出一个DIV层并且要居中显示,DIV的内容是动态的,所以宽度和高度也是动态的,这时需要用jQuery可以解决居中。
jQuery实现水平和垂直居中
jQuery实现水平和垂直居中的原理就是通过jQuery设置DIV的CSS,获取DIV的左、上的边距偏移量,边距偏移量的算法就是用页面窗口的宽度减去该DIV得宽度,得到的值再除以2即左偏移量,右偏移量算法相同。注意DIV的CSS设置要在resize()方法中完成,就是每次改变窗口大小时,都要执行设置DIV的CSS,代码如下:
$(window).resize(function(){$(
".mydiv"
).css({position:"absolute",
left:($(window).width()-$(
".mydiv"
).outerWidth())/2,
top:($(window).height()-$(
".mydiv"
).outerHeight())/2});});此外在页面载入时,就需要调用resize()。$(function(){
$(window).resize();});此方法的好处就是不需要知道DIV的具体宽度和高度大小,直接用jQuery就可以实现水平和垂直居中,而且兼容各浏览器,这个方法在很多的弹出层效果中应用。

让DIV里面的DIV水平垂直居中有2种方法:
方法一:
让一个DIV水平居中,直接用CSS就可以做到。只要设置了DIV的宽度,然后使用margin设置边距0 auto,CSS自动算出左右边距,使得DIV居中。
.mydiv{
margin:0 auto;
width:300px;
height:200px;
}
方法二:
要让DIV水平和垂直居中,必需知道该DIV得宽度和高度,然后设置位置为绝对位置,距离页面窗口左边框和上边框的距离设置为50%,这个50%就是指页面窗口的宽度和高度的50%,最后将该DIV分别左移和上移,左移和上移的大小就是该DIV宽度和高度的一半。
.mydiv{
width:300px;
height:200px;
position:absolute;
left:50%;
top:50%;
margin:-100px 0 0 -150px
}

该方法使用普遍,但是前提是必需设置DIV的宽度和高度。如果当页面DIV宽度和高度是动态的,比方说需要弹出一个DIV层并且要居中显示,DIV的内容是动态的,所以宽度和高度也是动态的,这时需要用jQuery可以解决居中。

div实现水平居中只需要设置固定宽度和margin:0 auto即可,
给你2个解决方案:
1、条件是div的高度和宽度是固定的
<style type="text/css">
<!--
div1 {
position:relative;
width:600px;
height:500px;
border:1px solid #008800;
}
div2 {
position:absolute;
top:50%;
left:50%;
margin:-150px 0 0 -200px;
width:400px;
height:300px;
border:1px solid #008800;
}-->
</style>
<div class="div1">
<div class="div2">让层垂直居中</div>
</div>
其实解决的思路是这样的:首们需要position:absolute;绝对定位。而层的定位点,使用外补丁margin负值的方法。负值的大小为层自身宽度高度除以二。

如:一个层宽度是400,高度是300。使用绝对定位距离上部与左部都设置成50%。而margin-top的值为-150。margin-left的值为-200。这样我们就实现了层垂直居中于父级层的样式编写。

2、条件是div的高度和宽度是不固定的

如果div宽度不固定,那用div就有点困难了,虽然用js获取当前高宽再附加css可以解决,但是要用到js来解决问题就有点逊了;
我给你一个思路,你不妨试试table布局,table不设置宽度的情况下默认是宽度和高度都是最小化的,这样给table设置margin:0 auto就可以让这个table水平方向居中;

解决了水平居中,那就来解决垂直居中,td中的内容默认是垂直居中的,那么只要两者互相嵌套一下不就解决水平垂直居中了!
但是有一个问题,你所需要垂直居中的父级table的高度是否固定,如果父级高度固定,那么子级高度不固定也一样可以垂直居中

  • div 怎么设置垂直水平居中?? 要宽高都是100%
    答:宽度简单就是 width:100% 高度的话 你给 body 设 height:100% 然后 那个大的 DIV 的高度也设 100% 就可以了!
  • div怎么垂直居中
    答:2、找到【布局对象】——【Div标签】,即插入一个Div标签。3、设置类为【1】,再设置CSS样式,设长宽均为300确定。4、文本是居左的。如果要居中显示,那么就从CSS面板中找到类【1】的CSS样式,并在分类找到Text-align(文本对齐方式)选择center(居中)。5、最后完成p标签内文本水平居中 CSS导航菜单...
  • 在html中怎么让一个div(包含里面的内容)垂直和水平居中
    答:DIV 没有太好的上下居中方法,兼容性最好的方式是用JS来计算DIV的高度,然后取浏览器窗口高度的一半-DIV高度=给DIV上部margin赋值。有一种变通方式是把DIV改为TABLE,外层是一个一行一列,宽高100%的TABLE,然后给个table的TD设置为上下左右居中。
  • js使用div内容居中
    答:1、准备好一个空的html结构的文档。2、接下来要准备的是准备一个div用来放内容了,这里为了显示特意给div设置了边框。3、接下来就在div中添加内容,如下图所示,运行后会发现内容偏向于左上角。4、给div设置水平居中,如下图所示,并且设置行高为div的高度,会发现它水平垂直居中了。5、让其display...
  • jQuery怎么将div设置为水平垂直居中
    答:<div class="mytest"></div> </body> </html> 以上代码实现了将div在窗口中水平垂直居中效果,无论是否调整窗口大小。可能有些朋友会说,这个是在窗口中垂直居中的,如何实现一个div在一个普通的福对象中垂直居中,代码修改如下:<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta...
  • CSS实现水平垂直居中的几种方法介绍
    答:如果有什么不足之处,望指出。水平垂直居中的实现可以分为两大内容,一是高度随内容自适应变化,一是固定高度。固定高度实现水平垂直居中方法一最常用的方法是使用height + line-height的方式,设置同样的值,配合text-align的使用,即可实现文本的水平垂直居中对齐<div class="container">Hello World!</...
  • CSS 在一个大的DIV里面,另一个DIV怎么居中并置底。
    答:使用绝对定位方式可实现这个效果,如下边这个示例:html代码:<div class="box"> <div class="demo">这个div要在box中水平居中,垂直居底</div></div>CSS代码:.con-box{position:relative;width:800px;height:500px;background:#000;}.demo{position:absolute;width:200px;height:150px;bottom:...
  • 如何让div里的dl水平垂直居中???
    答:首相你再css样式的文本里加上 这个*{margin:0;padding:0:;}清除标签原有属性,然后你给dl添加一个类.center{margin:0 auto;width:100px;height:100px;}给外面的div加一个类或者ID 总之是给外面的div加一个宽度,比如.div{width:500px;height:500px;} <div class=“div”> <dl class="...
  • html的问题,怎么让一个DIV在另一个DIV中水平垂直居中?
    答:html中让一个DIV在另一个DIV中水平垂直居中,可以通过将一个div包裹第二个div,然后在将设置第一个div的宽高,要比第二大上很多,然后在设置第二个的宽高,然后通过margin:auto auto;这里我提交代码:<html> <head> <title>文字测试</title> <style> test{ width:800px;height:400px;border:...
  • css如何将div居中显示css怎么让div居中显示
    答:2、在css标签内,通过class或id分别定义p的宽度和高度、背景颜色。3、在css标签内,再设置最外层p为flex布局,并通过align-items属性设置p内两个p垂直方向居中对齐,通过justify-content属性设置p内两个p水平方向两端对齐。如何使无序列表在p中居中?1、首先在html编辑器中新建一个html文件,写入一个p...