`

如何让div中的内容垂直居中

 
阅读更多

虽然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框水平垂直居中跟内容垂直居中.html

    div框水平垂直居中跟内容垂直居中

    DIV居中及DIV垂直居中.html

    该html代码是实现DIV居中及DIV垂直居中的实例,包括: div居中, div内文本居中及垂直居中, div嵌套div并居中, div嵌套div并垂直居中.

    在DIV中图片垂直/水平居中(最简单方法).rar

    `将内容在行和列上都居中。 ```css .container { display: grid; place-items: center; } ``` 如果你的项目支持老版本的浏览器,或者需要兼容性更强的解决方案,可以使用传统的CSS方法,如负margin和绝对...

    DIV+CSS DIV居中布局

    设置`margin-left`和`margin-right`为`auto`,可以使`&lt;div&gt;`在父容器中水平居中。例如: ```css .centered-div { width: 200px; /* 元素的宽度 */ margin: 0 auto; /* 自动左右外边距实现居中 */ } ``` 2. **...

    div中多行文字垂直居中

    在网页设计中,让多行文字在`div`元素中垂直居中是一项常见的需求,尤其在构建响应式布局和用户界面时。实现这个效果的方法多种多样,每种方法都有其适用场景和优缺点。以下是一些主要的策略来实现`div`中多行文字的...

    未知图片大小在div里可以垂直居中显示

    任意图片在div里的垂直居中!

    div内容 垂直居中

    通用所有浏览器, 欢迎大家分享。 绝对是真的

    DIV+CSS水平垂直居中

    DIV+CSS水平垂直居中可以应用于各种网页布局中,例如网站头部、底部、侧边栏等等。此外,它还可以应用于网页中的各种控件和元素,例如按钮、图像、表单等等。 五、结论 DIV+CSS水平垂直居中是一个非常重要的Web...

    DIV+CSS 图片垂直居中效果

    在网页设计中,"DIV+CSS 图片垂直居中效果"是一个常见的布局需求,它涉及到CSS的盒模型、定位和Flexbox或Grid等现代布局技术。以下是对这一主题的详细阐述: 1. **基础概念** - **DIV**:HTML中的`&lt;div&gt;`元素是一...

    DIV 垂直居中

    DIV 垂直居中DIV 垂直居中DIV 垂直居中DIV 垂直居中DIV 垂直居中DIV 垂直居中

    CSS解决未知高度的DIV垂直居中

    ### CSS解决未知高度的DIV垂直居中 #### 知识点概述 在Web开发中,实现元素的垂直居中是一项常见的需求。对于已知高度的元素来说,这相对容易实现。但对于那些高度未知或者动态变化的元素,尤其是嵌套在另一个未知...

    DIV水平垂直居中

    在网页设计中,让一个`div`元素在页面上实现水平和垂直居中是一项常见的需求。这个主题,"DIV水平垂直居中",通常涉及到CSS布局技术和可能的JavaScript辅助方法。在这个场景中,描述提到使用了jQuery来实现,这是一...

    div+css垂直居中和水平居中

    在网页设计中,实现元素的垂直居中和水平居中是一项常见的需求,这涉及到CSS布局技术。本篇文章将深入探讨如何使用div+css方法来实现这一目标。在现代Web开发中,div元素作为布局容器广泛使用,而CSS则是样式控制的...

    div垂直居中的N种方法

    ### DIV垂直居中的N种方法:详尽解析与实践 在网页设计中,DIV元素的垂直居中一直是前端开发者关注的焦点。无论是响应式布局的需求,还是美观度的提升,垂直居中的实现都能显著增强用户体验。本文将深入探讨并演示...

    div的内容图片垂直居中代码(兼容多浏览器).rar

    在网页设计中,让图片或其他内容在div容器中垂直居中是一个常见的需求,尤其是在多浏览器兼容性方面。这里我们将深入探讨如何实现这个功能,并结合JavaScript(JS)特效和CSS样式来达成目标。首先,让我们先了解一些...

    div垂直居中屏幕

    div垂直居中屏幕的方法,兼容IE6 7 8 Firefox

    Jsp中如何让图片在div中居中

    在讨论JSP页面中图片居中的问题时,首先需要掌握一些基础的CSS布局知识,包括display属性的使用、垂直居中的方法、margin属性的自动居中技巧以及W3C标准对页面渲染的影响。 当涉及到在div中居中一张图片时,CSS是...

    div内容垂直居中+通用所有浏览器

    通用所有浏览器, 谢谢详细信息详细信息详细信息

    DIV 上下居中 多行 省略号

    在网页设计中,让`&lt;div&gt;`元素内的多行文本实现上下居中并添加省略号功能是一项常见的需求。这通常涉及到CSS布局、文本对齐和溢出隐藏等多个技术点。接下来,我们将深入探讨如何实现这个效果。 首先,我们要解决的是...

    div层居中代码下载

    上述代码将页面中的文本内容设置为居中对齐,当某个`&lt;div&gt;`的宽度小于其父元素时,该`&lt;div&gt;`会自动居中显示。但这种方式只适用于文本内容居中,对于非块级元素(例如图片或按钮等)并不适用。 **对于特定`&lt;div&gt;`的...

Global site tag (gtag.js) - Google Analytics