我们在设计页面的时候,经常要把DIV居中显示,而且是相对页面窗口水平和垂直方向居中显示,如让登录窗口居中显示。我们传统解决的办法是用纯CSS来让DIV居中。在本文中,我将给大家讲述如何用CSS和
jQuery
两种方法让DIV水平和垂直居中。
说明,本文中所指的DIV包括HTML页面中所有的元素。
让一个DIV水平居中,直接用CSS就可以做到。只要设置了DIV的宽度,然后使用margin设置边距0 auto,CSS自动算出左右边距,使得DIV居中。
.mydiv{
margin:0 auto;
width:300px;
height:200px;
但是如果要使DIV垂直方向也居中,恐怕CSS需要修改了。
要让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可以解决居中。
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居中显示,而且是相对页面窗口水平和垂直方向居中显示,如让登录窗口居中显示。我们传统解决的办法是用纯CSS来让DIV居中。在本文中,我将给大家讲述如何用CSS和jQuery两种方法让DIV水平和垂直居中。
CSS让DIV水平居中
说明,本文中所指的DIV包括HTML页面中所有的元素。
让一个DIV水平居中,直接用CSS就可以做到。只要设置了DIV的宽度,...
主要的样式定义如下,这也是最简单的方法: body {TEXT-ALIGN: center;} #center { MARGIN-RIGHT: auto; MARGIN-LEFT: auto; } 说明: 首先在父级元素定义TEXT-ALIGN: center;这个的意思就是在父级元素内的内容居中;对于IE这样设定就已经可以了。但在mozilla中不能居中。解决办法就是在子元素定义时候设定时再加上“MARGIN-RIGHT: auto;MARGIN-LEFT: auto; ” 需要说明的是,如果你想用这个方法使整个页面要居中,建议不要套在一个DIV里,你可以依次拆出多个div,只要在每个拆出的
<div id=main>
<div id=login>
djshdk awjdsd sede sfcdf vdj sh dkaw jds dse desf cdf vd jsh dkawjd sds ede sfcdfv vd jsh dkawjd sds ede sfcdfv.
</div>
</div>
#main{
position: relative; //在父元素中使用相对定位
width: 200px;
height:
<metaname="viewport"content="width=device-width,initial-scale=1.0">
<title>水平垂直居中与body</title>
<linkrel="stylesheet"type=...
水平居中: div标签在整个body里居中的方法用CSS控制即可,body{text-align:center;} .box{margin: 0 auto;} 类box就是在整个body里水平居中
垂直居中:div在body里的垂直居中用CSS控制都不是很有效果,所以用js来控制比较管用,代码如下(jQuery):
function SetPostion(){
var whe
一,水平居中布局
1、行内元素水平居中
父级元素设置text-align: center ——>实现在块级元素内部的行内元素(inline/inline-block/inline-flex/inline-table)水平居中
<div class="parent">
<div class="child">dome</div>
</div>
<style>
.parent{
text-align: center
这里要有两层或者给body设置高度100vh,然后给元素设置绝对定位,并且left、right、top、bottom全为0,margin:auto就能实现div水平垂直居中了。将父盒子设置为table-cell元素,可以使用text-align:center和vertical-align:middle实现水平、垂直居中。left、top各50%,margin-left、margin-top是宽高的一半并且使用负数。使用弹性布局居中要给父元素加上高度才会垂直居中。子元素设置为inline-block。
css里面让body内容居中的方法:1、使用margin设置边距“0 auto”让HTML页面中所有的元素水平居中;2、将div距离页面窗口左边框和上边框的距离设置为“50%”;3、通过jQuery实现水平和垂直居中。本教程操作环境:Windows7系统、HTML5&&CSS3版,DELL G3电脑。我们在设计页面的时候,经常要把DIV居中显示,而且是相对页面窗口水平和垂直方向居中...
如何让DIV相对于body水平和垂直居中
我们在设计页面的时候,经常要把DIV居中显示,而且是相对页面窗口水平和垂直方向居中显示,如让登录窗口居中显示。我们传统解决的办法是用纯CSS来让DIV居中。在本文中,我将给大家讲述如何用CSS和jQuery两种方法让DIV水平和垂直居中。...
原始代码:center.html:Centercenter.css:body {background-color: #6ed0ff;}.father {background-color: #be33ec;border-radius: 20px;box-shadow: 0 0 15px rgb(0, 0, 0);margin: 100px auto;width: 300px;height: 300p...