div中字垂直居中对齐

div中的文本水平居中,一般都是用text-align:center;就可以解决,那么垂直居中呢,知道vertiacl-align:middle;但有时候却不起作用;整理下div中文本垂直居中对齐的问题(只是自己总结)
1.单行文本垂直居中对齐
① height=line-height即可;

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>无标题文档</title>
 6 </head>
 7 <style type="text/css">
 8         *{margin: 0;padding: 0;}
 9         .text{
10                 width: 200px;
11                 height: 100px;
12                 line-height:100px;
13                 border:2px solid #eee;
14                 margin: 20px auto;
15                 text-align: center;
16         }
17 </style>
18 <body>
19 <div class="text">无意苦争春</div>
20 </body>
21 </html>

②通过padding值来调节,此时padding-top=padding-bottom,且padding-top+padding-bottom+div的height=真正想要的高度;

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>无标题文档</title>
 6 </head>
 7 <style type="text/css">
 8         *{margin: 0;padding: 0;}
 9         .text{
10                 width: 200px;
11                 height: 100px;
12                 padding: 40px 0;
13                 border:2px solid #eee;
14                 margin: 20px auto;
15                 text-align: center;
16         }
17 </style>
18 <body>
19 <div class="text">无意苦争春</div>
20 </body>
21 </html>

2.多行文字
第一种和单行方法②一样;
第二种是将外部该div放到一空div里,该div display:table-cell;vertical:middle;

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>无标题文档</title>
 6 </head>
 7 <style type="text/css">
 8         *{margin: 0;padding: 0;}
 9         .texts{width: 602px;height: 100px;margin: 20px auto;border:1px solid #eee;}
10         .text{
11                 width: 200px;
12                 height: 100px;
13                 display: table-cell;
14                 vertical-align: middle;
15                 text-align: center;
16                 border-left: 1px solid #eee;
17         }
18         .text:first-child{border-left: none;}
19
20 </style>
21 <body>
22 <div class="texts">
23         <div class="text">无意苦争春</div>
24         <div class="text">一任群芳妒</div>
25         <div class="text">无意苦争春<br />一任群芳妒</div>
26 </div>
27 </body>
28 </html>

对于多行文本可以垂直居中的方法,
单行文本也可以垂直居中。
不过最后一种方法不兼容IE6/7。。。
目前只知道这些,先记录下来。

时间: 2024-10-20 12:08:51

div中字垂直居中对齐的相关文章

div+css:div中图片垂直居中

div中图片垂直居中 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 <style> 7 .box { 8 width: 200px; 9 height:200px; 10 display: table-cell; 11 /* 水平居中 */ 12 text-align:center; 13

未知宽高元素如何在一个div中上下左右居中对齐

<body> <div id="div1"> <img src="../06图片懒加载/img/img1.png"/> </div></body> 那么,img元素如何在div中居中对齐呢? 第一种方法:第一步:在img标签后面添加一个span元素 <body> <div id="div1"> <img src="../06图片懒加载/img/im

div图片垂直居中 如何使div中图片垂直居中

(从已经死了一次又一次终于挂掉的百度空间人工抢救出来的,发表日期 2014-04-03) 『此方法在ie7下,如果.box的高度为800等比较大的数值时,并不能起到垂直居中的作用.』 点评:关于图片垂直居中的话题想必大家在论坛或者是百度搜索列表中看到了不少了吧,烦人的是没有具体或者相当详细的解决方法,希望本文所整理的知识点可以帮助到你 div相对与table对于图片的垂直居中支持的并不好,特别对于不同浏览器的兼容性来说,这里我们看下一个简洁的css解决方法: 在曾经的 淘宝UED 招聘 中有这样

img标签在div中水平垂直居中--两种实现方式

第一种方式: text-align:center; vertical-align:middle; div{ text-align: center; vertical-align:middle;width: 400px; height: 400px; border: 1px solid #000; } img{vertical-align: middle} span{height: 100%;vertical-align: middle;display: inline-block} <div st

如何让一个div水平和垂直居中对齐

以下方法来自百度知道:https://zhidao.baidu.com/question/558984366971173044.html 方法1: .parent { width: 800px; height: 500px; border: 2px solid #000; position: relative; } .child { width: 200px; height: 200px; margin: auto; position: absolute; top: 0; left: 0; bo

如何将一个绝对定位的div水平垂直居中对齐

如何将一个绝对定位的div垂直居中对齐:建议:尽可能的手写代码,可以有效的提高学习效率和深度.在某些时候可能需要将一个绝对定位的div在它的父对象中垂直居中对齐,可能用到的频率不是太高,但是偶尔也会用到,下面就简单介绍一下如何实现此功能.在通常情况下,可以为元素添加margin:0px auto即可让元素在它的父元素水平居中,然后再将它设置为垂直居中对齐即可.但是为绝对定位的对象添加margin:0px auto并不能生效,所以说还是要用老办法实现.代码示例如下: <!DOCTYPE html>

未知行数的文字在div中垂直居中

今天工作中遇到一个问题,就是未知行数的文字在div中怎么垂直居中,如下面的3个图: 图1 图2 图3 图1是2行文字的效果,图2是不经过css垂直居中处理的效果,图3是经过css垂直居中后的效果,html代码如下:(经测试,除了IE7,其他浏览器都成功的垂直居中了) <div class="m"><div class="m1"><div class="m2">南京证券股份业部份业部</div><

随机图片大小在DIV中垂直居中对齐总结

老遇到这种样式 现在总结一下 <!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style> *{margin:0;padding:0;line-height: 1;font-size: '宋体';padding

实现图片在一个div中垂直左右都对齐

<div class="info_top_left"> <img src="images/img-product01.png" > </div> .info_top_left { height: 100px; width: 97px; line-height: 100px; border: 1px solid #CACACA; float: left; text-align: center; font-size: 0; } .in