- 浏览: 63292 次
- 性别:
- 来自: 大连
文章分类
最新评论
有时候,为了网页设计的美观,需要把div+css设计的页面里的某些div层里的文字垂直居中,包括多行文字以及单行文字;方法有不少,但真正能实现而代码又简洁的介绍不多,flymorn就为大家介绍几种适用的div文字垂直居中的方法。
首先要知道css里vertical-align无效,W3C官方对vertical-align做了下面的解释: “ This property affects the vertical positioning inside a line box of the boxes generated by an inline-level element.”
实际上,一个Box中由很多行很多元素组成,vertical-align只作用于在同一行内的元素,它的垂直并不是相对于整个Box而言的。前面定义了一个60px的高度,但是这个Box中存在很多行,那段文本并不能对齐到中央。因此希望那段文本对齐中间,需要给它定义一个line-height的属性,让line-height为60px,作用于一行的vertical-align就可以工作了。
如果是单行文字想垂直居中,只要保证div高和行高保持一致,就可以了。用下面的代码即可实现:
CSS代码:
#div-a{
height:60px;
line-height:60px;
}
XHTML代码:
<div id="div-a">
......
</div>
如果还想让div里的文字水平居中,加上“text-align:center;”即可;代码如下:
CSS代码:
#div-a{
text-align:center;
height:60px;
line-height:60px;
}
XHTML代码:
<div id="div-a">
....
</div>
说明:如果在父级元素定义TEXT-ALIGN:center;这个的意思就是在父级元素内的内容居中;对于IE这样设定就已经可以了。但在mozilla中不能居中。解决办法就是在子元素定义时候设定时再加上“MARGIN-RIGHT:auto; MARGIN-LEFT:auto;”。
但是,如果是多行文字,上面的垂直居中的方法就不行了,得用变通的方法实现;这里建议使用table方法,在table外面再套上相应的div,
代码如下:
<table>
<tr><td style="vertical-align:middle;height:300px;background-color:red">
</td></tr>
</table>
多行文字居中还有另外一种方法:
多行内容居中,且容器高度可变,也很简单,给出一致的 padding-bottom 和 padding-top 就行:
.middle-demo-2
{
padding-top: 24px;
padding-bottom: 24px;
}
优点:
1. 同时支持块级和内联极元素
2. 支持非文本内容
3. 支持所有浏览器
缺点:
容器不能固定高度
如何使图片在DIV中垂直居中,可以用背景的方法。如下:
body
{
BACKGROUND:url() #FFF no-repeat center;
}
关键就是最后的center,这个参数定义图片的位置。还可以写成“top left”(左上角)或者"bottom right"等,也可以直接写数值"50 30"。
首先要知道css里vertical-align无效,W3C官方对vertical-align做了下面的解释: “ This property affects the vertical positioning inside a line box of the boxes generated by an inline-level element.”
实际上,一个Box中由很多行很多元素组成,vertical-align只作用于在同一行内的元素,它的垂直并不是相对于整个Box而言的。前面定义了一个60px的高度,但是这个Box中存在很多行,那段文本并不能对齐到中央。因此希望那段文本对齐中间,需要给它定义一个line-height的属性,让line-height为60px,作用于一行的vertical-align就可以工作了。
如果是单行文字想垂直居中,只要保证div高和行高保持一致,就可以了。用下面的代码即可实现:
CSS代码:
#div-a{
height:60px;
line-height:60px;
}
XHTML代码:
<div id="div-a">
......
</div>
如果还想让div里的文字水平居中,加上“text-align:center;”即可;代码如下:
CSS代码:
#div-a{
text-align:center;
height:60px;
line-height:60px;
}
XHTML代码:
<div id="div-a">
....
</div>
说明:如果在父级元素定义TEXT-ALIGN:center;这个的意思就是在父级元素内的内容居中;对于IE这样设定就已经可以了。但在mozilla中不能居中。解决办法就是在子元素定义时候设定时再加上“MARGIN-RIGHT:auto; MARGIN-LEFT:auto;”。
但是,如果是多行文字,上面的垂直居中的方法就不行了,得用变通的方法实现;这里建议使用table方法,在table外面再套上相应的div,
代码如下:
<table>
<tr><td style="vertical-align:middle;height:300px;background-color:red">
</td></tr>
</table>
多行文字居中还有另外一种方法:
多行内容居中,且容器高度可变,也很简单,给出一致的 padding-bottom 和 padding-top 就行:
.middle-demo-2
{
padding-top: 24px;
padding-bottom: 24px;
}
优点:
1. 同时支持块级和内联极元素
2. 支持非文本内容
3. 支持所有浏览器
缺点:
容器不能固定高度
如何使图片在DIV中垂直居中,可以用背景的方法。如下:
body
{
BACKGROUND:url() #FFF no-repeat center;
}
关键就是最后的center,这个参数定义图片的位置。还可以写成“top left”(左上角)或者"bottom right"等,也可以直接写数值"50 30"。
发表评论
-
Jquery实现表格行的动态增加与删除
2014-05-29 08:45 1264<!DOCTYPE html PUBLIC " ... -
CSS3伪类选择器
2014-04-18 09:32 619CSS的伪类语法和别的语 ... -
Jquery实现选中左边的下拉菜单点击按钮之后跑右边
2014-04-15 14:34 1046script代码: <script type=" ... -
html之marquee详解
2014-03-28 10:07 645该标签不是HTML3.2的一部分,并且只支持MSIE3以后内核 ... -
Html中a标签的四个属性 link ,visited , hover ,active 是有顺序的! LVHA
2014-03-25 15:39 19081。html中a标签的四个属性书写是有顺序的,如果顺序不对,显 ... -
修改360浏览器内核
2014-03-10 17:19 1945浏览器内核控制Meta标签说明文档 背景介绍 由于众所周知 ... -
bootstrap时间控件
2014-03-06 13:27 1226<!DOCTYPE html PUBLIC " ... -
IE=EmulateIE7 标签的作用
2014-02-28 14:05 655对于 Web 开发人员来说 ... -
修改IE浏览器默认的文档模式
2014-02-28 13:26 1926开始运行输入C:\Windows\System32\gpedi ... -
网页制作中Iframe自适应高度的解决办法
2013-12-27 10:14 593进行网页设计时,由于网站的海量信息以及标准化的网页制作模式 ... -
Jquery获取当前屏幕的宽度、高度
2013-12-05 14:48 956<script type="text/java ... -
iframe,frameset区别
2013-12-05 10:24 577■ 框架概念 : 所谓框架便是网页画面分成几个框窗,同时取得 ... -
顶部浮动
2013-11-29 09:37 446<!DOCTYPE html PUBLIC " ... -
js+JQuery实现返回顶部功能
2013-11-18 11:05 549很多网站上都有返回顶部的效果,本文阐述如何使用jquery实现 ... -
转 CSS hack:针对IE6,IE7,firefox显示不同效果
2013-09-05 13:55 1005CSS hack:针对IE6,IE7,firefox显示不同效 ... -
white-space:
2013-08-30 10:57 508定义和用法 white-space 属性设置如何处理元素内的空 ... -
通过css将直角矩形变为圆角矩形
2013-08-30 10:56 1229{border-radius:6px 6px 0 0} -
整合IE7与其他IE版本的兼容
2013-08-21 09:39 602<!--[if lte IE 7]> <d ... -
常见浏览器兼容性问题与解决方案css篇
2013-08-12 17:17 780所谓的浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同 ... -
如何在页面中设置IE浏览器的文档模式
2013-08-04 12:58 1106如何在页面中设置IE浏 ...
相关推荐
以下是一些主要的策略来实现`div`中多行文字的垂直居中。 1. **Flexbox布局** Flexbox是CSS3引入的一种新的布局模式,它为处理容器内子元素的对齐提供了强大而灵活的方式。要实现垂直居中,可以设置`display: flex...
div框水平垂直居中跟内容垂直居中
在网页设计中,将文字垂直居中放置于DIV层内是一个常见的需求。对于单行文字和多行文字的垂直居中处理,有不同的方法和技术。本文将详细解释如何实现这两种情况下的文字垂直居中。 首先,对于单行文字而言,实现...
以上就是使用div和CSS实现多行文字垂直居中的几种常见方法,每种都有其适用场景和兼容性考虑。在实际项目中,应根据具体需求和目标浏览器范围选择合适的方法。在提供的"多行文字实现垂直居中.html"文件中,你可以...
4. **使用line-height**:如果div只有一个行内元素,如图片或文字,可以将`line-height`设为与div相同的高度来实现垂直居中。 ```css .parent { line-height: height; } .child { vertical-align: middle; } ``` ...
总结来说,实现`<div>`内多行文字垂直居中并添加省略号功能,主要涉及CSS的布局、文本对齐和溢出隐藏技术。通过`display: flex`或`display: grid`实现上下居中,结合`line-clamp`、`-webkit-line-clamp`以及`...
对于单行文字,可以使用设置高度和行高相等的方法实现垂直居中。这种方法简单易行,但需要注意 overflow:hidden 的设置,以防止内容超出容器或产生自动换行。 代码示例: ``` div { height: 25px; line-height: ...
此前给大家推荐了一个纯css实现div容器内图片、文字上下居中的效果,缺点是采用了部分css3样式,兼容性较差,相关链接:纯css实现div容器内图片上下左右居中效果 今天特意在网上找到了一款插件--jquery.valign,可...
本人在面试的时候被问到:如何使一段不定宽高的文字垂直居中呢? 现在来总结一下: 在body中写入结构 <div id=main> <div id=login> djshdk awjdsd sede sfcdf vdj sh dkaw jds dse desf cdf vd jsh dkawjd sds ...
通用所有浏览器, 谢谢详细信息详细信息详细信息
对于仅包含一行文字的容器,实现垂直居中较为直接。核心思想是通过设置容器的实际高度`height`与该行的高度`line-height`保持一致来达到目的。例如: ```css div { height: 25px; /* 设置容器的高度 */ line-...
学习过程中经常遇到要居中的问题,水平居中问题比较好解决,而垂直居中问题因为vertical-align经常失效,所以不容易实现,今天将自己总结的一些方法归纳于这边。 1.div中单行文字垂直水平居中。条件:外层div高度...
当`div`内的文本行数不确定,高度可变时,可以设置上下相同的`padding`值来实现视觉上的垂直居中。如下所示: ```css div { padding: 25px; } ``` 这种方法适用于所有浏览器,但要求`div`的高度能够随内容...
这样无论是单个文字还是多行文字,都会在DIV元素中垂直居中显示。 这种方法在实践中非常有效,而且兼容性良好,适用于大多数浏览器。它也适用于所有行内元素,包括inline-block元素和inline-table元素。因此,你...
2. **多行未知高度的文字垂直居中** 如果内容的高度是可变的,我们可以利用`padding`来模拟垂直居中。设置上下相同的`padding`值,可以让内容看起来在视觉上居中。例如: ```css div { padding: 25px; } ``` ...
则让文字垂直居中。 最后,保存文档,并在浏览器中预览效果,可以看到文字在div内实现了水平和垂直居中。 要注意的是,对于多行文本的垂直居中,可能需要采用更复杂的方法,例如使用Flexbox布局或CSS的定位属性等...
在CSS布局中,实现文字垂直居中是一项常见的需求。标题提到的"实现css文字垂直居中的8种方法"涵盖了多种不同的技术,适用于不同场景。以下是对这些方法的详细解释: 1. **绝对定位和负外边距**: 这种方法适用于...
"jQuery实现上下左右垂直居中.zip" 提供的是一个名为 "jquery.valign" 的插件,它专用于解决HTML元素(如图片、文字)在div容器内部的垂直对齐问题。下面将详细介绍这个插件的工作原理以及如何使用。 `jQuery....