怎样让div的内容垂直居中显示

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-28
如何让div中的内容垂直居中

以下是让div中的内容垂直居中的具体操作方法:
1、首先我们准备好一个空的html结构的文档。

2、接下来我们要准备的是准备一个div用来放内容了,这里为了显示特意给div设置了边框。

3、接下来我们就在div中添加内容,如下图所示,运行后你会发现内容偏向于左上角。

4、下面我们给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布局已经基本上取代了表格布局,但表格布局和Div布局仍然各有千秋,互有长处。比如表格布局中的垂直居中就是Div布局的一大弱项,不过好在千变万化的CSS可以灵活运用,可以制作出准垂直居中效果,勉强过关。
要让div中的内容垂直居中,无非有以下几种方法,等我一一列举:

一、行高(line-height)法
如果要垂直居中的只有一行或几个文字,那它的制作最为简单,只要让文字的行高和容器的高度相同即可,比如:

p { height:30px; line-height:30px; width:100px; overflow:hidden; }
这段代码可以达到让文字在段落中垂直居中的效果。

二、内边距(padding)法
另一种方法和行高法很相似,它同样适合一行或几行文字垂直居中,原理就是利用padding将内容垂直居中,比如:

p { padding:30px; }
这段代码的效果和line-height法差不多。

三、模拟表格法
模拟表格法其实就是用CSS中对元素的声明让块元素像表格一样显示,用到的CSS属性有display、vertical-align等。 先看下面的Html代码:

<div id="box"> <div id="content">居中显示</div> </div>
参照以上Html代码,让最外面名为box的Div呈表格样式显示,然后再让box中名为content的Div呈单元格显示,并利用vertical-align:middle让其垂直居中,这样就模拟出来和表格一样的显示方式,CSS代码如下:

#wrap
{ height:400px; display:table; } #content { vertical-align:middle;
display:table-cell; border:1px solid #FF0099; background:#000;
width:400px; }
但这种方法有一个弊端,由于IE浏览器对高度理解会产生错误,所以这种方法仅对Firefox有效,对IE无效,既然这样,我们就需要找出对IE的修正方法,于是有了另外一种方法。

四、定位法
顾名思义,定位法是利用CSS定位属性position对元素进行定位的方法,也属于模拟方法,不过它对IE的支持还是不错的。 它的Html代码为:

<div id="box"> <div id="sub"> <div id="content">垂直居中</div> </div> </div>
这段代码比上一种方法中多出了一个名为sub的Div,它的作用是用来定位,原理就是:首先让box出于相对定位,sub相对box出于相对定位,位于box垂直方向的50%,再让content中的真正内容出于sub垂直方向的-50%,从而制作出content在box中垂直居中的效果,它们的CSS代码如下:
#wrap
{ border:1px solid #000; background:#F00; width:400px; height:400px;
position:relative; } #subwrap { position:absolute; top:50%; } #content {
border:1px solid #000; position:relative; top:-50%; color:#FFF; }
这段代码无论是在IE中还是Firefox中,都能正常居中了

  • 怎么设置div中的内容垂直居中
    答:有以下三种方法:1、设置div的height和line-height值设置为相同的数值,只需要一个div即可。2、设置父级div样式的display:table,并设置子div样式的display:table-cell、vertical-align:middle,此时需要一个父级div和一个子级div。3、设置父级div样式为display:box、box-pack:center、box-orient:vertical...
  • 怎么让div垂直居中呢?
    答:<div id="app"> <div class="div1"></div> </template> css部分:app { position: relative;width: 100vw;height: 100vh;} .div1 { position: absolute;top: 0;left: 0;right: 0;bottom: 0;margin: auto;width: 150px;height: 150px;background-color: red;} 第二种方式 - transf...
  • div垂直居中
    答:显然,这时候标签内容居中了。dw里css中文字怎么上下居中?1、首先打开DW软件进入软件主界面,点击【插入】选项。2、找到【布局对象】——【Div标签】,即插入一个Div标签。3、设置类为【1】,再设置CSS样式,设长宽均为300确定。4、文本是居左的。如果要居中显示,那么就从CSS面板中找到类【1】的CS...
  • 如何使文字在div中水平和垂直居中的css代码
    答:答案:使用CSS的`display: flex;`和`justify-content: center;`以及`align-items: center;`属性可以使文字在div中水平和垂直居中。详细解释:1. 使用Flex布局 CSS的Flex布局是一种强大的布局方式,可以轻松地实现元素在容器中的灵活布局。为了实现文字在div中的居中,可以将该div的display属性设置为flex。
  • 怎样让div的内容垂直居中显示
    答:要让div中的内容垂直居中,无非有以下几种方法,等我一一列举:一、行高(line-height)法 如果要垂直居中的只有一行或几个文字,那它的制作最为简单,只要让文字的行高和容器的高度相同即可,比如:p { height:30px; line-height:30px; width:100px; overflow:hidden; } 这段代码可以达到让文字在...
  • 如何让div垂直居中
    答:div 的水平居中 可以在body 设置 text-align=center 又或者设置line-height=*px 尽管有CSS的vertical-align特性,但是并不能有效解决未知高度的垂直居中问题(在一个DIV标签里有未知高度的文本或图片的情况下)。标准浏览器如Mozilla, Opera, Safari等.,可将父级元素显示方式设定为TABLE(display: ...
  • 怎样让div文字水平居中垂直居中
    答:使用“ling-height”属性让文字垂直居中。1、新建html文档,在body标签中添加div标签并填写一段文字,然后为这个div设置一些样式:2、为div添加“text-align”属性,属性值为“center”,这时文字将会在框内水平居中:3、为div添加“line-height”属性,属性值为div的高度,这时文字将会在框内垂直居中:
  • css样式如何设置div元素水平垂直居中的三种方法
    答:1.建立txt文档,更改后缀名为html,如图:2.右击html文件,选择用记事本打开,如图:3.讲解第一种div绝对定位水平垂直居中【CSS3使用transform】, transform中translate偏移的百分比值是相对于自身大小的,无论绝对定位元素的尺寸是多少,其都是水平垂直居中显示的,但问题是兼容性不好。IE9+以及其他现代...
  • DIV+CSS如何让文字垂直居中?
    答:1、把文字放到table中,用vertical-align property 属性来实现居中。<div id="wrapper"> <div id="cell"> <div class="content">Content goes here</div> </div> </div> 2、使用绝对定位的 div,把它的 top 设置为 50%,top margin 设置为负的 content 高度。这意味着对象必须在 CSS 中...
  • 如何让div中的内容垂直居中
    答:CSS网页布局DIV水平居中的各种方法 一、单行垂直居中 如果一个容器中只有一行文字,对它实现居中相对比较简单,我们只需要设置它的实际高度height和所在行的高度line-height相等即可。如:imoker.cn(爱摩客)提供的代码片段:div { height:25px;line-height:25px;overflow:hidden;} ...