css多行文本垂直居中问题研究
css多行文本垂直居中问题研究
<body>
<h2>垂直居中对齐</h2>
<style>
*{margin:0; padding:0;}
div {border:1px solid #89f989; margin:20px; width:300px; }
.h100{height:100px;}
.h200{height:200px;}
.h400{height:400px;}
.lh200{line-height:200px;}
.lh20{line-height:20px;}
.lh100{line-height:100px;}
.lh400{line-height:400px;}
.va_m{vertical-align: middle;}
.dis_ib{display:inline-block; }
.of_h{overflow:hidden;}
.border_o{border:2px solid orange;}
.w200{width:200px;}
.w500{width:500px;}
.pl30{padding-left:30px;}
</style>
<h3>单行垂直居中 line-height = 容器高度</h3>
<div class="h100 lh100" >文字垂直居中对齐</div>
<h3>容器固定高度 多行文本垂直居中 (chrome firefox ie6/7/8 测试通过) 通过辅助标签实现,其实可以理解为多行文本块变为inline-block元素,然后和一个line-height=容器高度的inline-block元素垂直居中对齐</h3>
<div class="h400 lh400 w500 ov_h">
<span class="lh20 va_m dis_ib" >设置容器的行高=容器高度,多行文本用p包裹 p设为display:inline-block; vertical-align:middle; span是行内块元素可以设置自己的行高 span后面加个辅助标签比如<i>&nbsp;</i>(这个i的line-height=容器的line-height = 容器高度),由于p此时自适应内容宽度,将充满容器,所以i会被挤到下一行,达不到同一行的行内元素垂直对齐的效果,所以i设置负的margin-left 不占据额外的空间,设置font-size:0; 这样就实现了多行文本的垂直居中(ie6/7 p{display:inline-block;} 还是独占一行的); 到这里其他浏览器都正常了,只是ie6有问题,ie6需要把i也设置为display:inline-block; line-height:容器高度 vertical-align:middle; 相当于两个inline-block;垂直对齐了; 注意: i的font-size不能为0 ie8会不能垂直居中</span>
<i style="margin-left:-10px; font-size:1px;" class="lh400 dis_ib va_m"> </i>
</div>
</body>
css多行文本垂直居中问题研究的更多相关文章
- CSS多行文本垂直居中
今天需要将文本垂直居中,就是一行是垂直居中,多行也是垂直居中. 效果如下 实现代码(同事提供) <!DOCTYPE html> <html> <head lang=&qu ...
- css 文本和div垂直居中方法汇总
https://blog.csdn.net/u014607184/article/details/51820508 https://blog.csdn.net/liuying1802028915/ar ...
- css知识笔记:垂直居中(别只看,请实操!!!)
css实现元素的垂直居中. (尝试采用5W2H方法说明): 别只看,请实操!!! What: 1.这篇文档主要描述元素水平方向居中的几种最常见和最实用的几种方式,并说明优缺点. 2.写这篇文章的目的, ...
- CSS元素和文本垂直居中
div居中 1.使用绝对定位和负外边距让块级元素垂直居中 要点:必须提前知道被居中块级元素的尺寸,否则无法准确实现垂直居中. <div id="box"> <di ...
- css样式让input垂直居中
css样式让input垂直居中 css代码: .div1{ border: 1px solid #CCC; width:1120px; height:40px; margin:auto; displa ...
- 一篇通俗易懂的CSS层叠顺序与层叠上下文研究
网上有很多这方面的教程,但不是苦涩难懂就是从哪copy过来的,反正很长一段时间我是没看懂,时间长了也没打算去研究了,主要原因是,基本上很少会遇到那些问题(所以说啊,要是没有研究精神的才懒得管它).但自 ...
- Flexbox制作CSS布局实现水平垂直居中
Flexbox实现一个div元素在body页面中水平垂直居中: <!DOCTYPE html><html lang="en"><head> & ...
- div垂直居中 css div盒子上下垂直居中
div垂直居中 css div盒子上下垂直居中,让DIV盒子在任何浏览器中任何分辨率的显示屏浏览器中处于水平居中和上下垂直居中. div垂直居中常用于单个盒子,如一个页面里只有一个登录布局,使用div ...
- css样式之vertical-align垂直居中的应用
css样式之vertical-align垂直居中的应用:将图片垂直左右居中 元素垂直居中 1:必须给容器父元素加上text-align:center 2:必须给当前元素转换成行内块元素,display ...
随机推荐
- C#:占位符的例子
在c#中有两种方式可以输出多个字符. static void Main() { string c=Console.ReadLine(); string d=Console.ReadLine(); Co ...
- EC读书笔记系列之16:条款35、36、37、38、39、40
条款35 考虑virtual函数以外的其他选择 记住: ★virtual函数的替代方案包括NVI手法及Strategy模式的多种形式.NVI手法自身是一个特殊形式的Template Method模式 ...
- Docker容器的网络连接
Docker容器的网络连接 Docker容器的网络连接 我们用ifconfig命令来查看网络设备 我们可以看到上面有个叫docker0的网络设备,docker守护进程就是通过docker0为docke ...
- Ajax应用常见的HTTP ContentType设置
文章出处:Ajax应用常见的HTTP ContentType设置 ajax开发中, 常遇到下面的几种情况: 1 服务端需要返回一段普通文本给客户端 2 服务端需要返回一段HTML代码给客户端 3 服务 ...
- cookie简介
上例子 1.首先要用php创建cookie发送给客户端,利用setcookie()方法即可 <?php /* * * @Authors peng--jun * @Email 1098325951 ...
- Oracle EBS-SQL (SYS-6):sys_在线用户职责查询.sql
/*线用户查询-1*/ SELECT FSAV.USER_NAME,FU.DESCRIPTION,FSAV.RESPONSIBILITY_NAME,FSAV.USER_FORM_NAME,FSAV.L ...
- GDOI2015酱油记
GDOI2015酱油记 今年的GDOI在北江举行,比赛前一天坐了5小时的车才到,幸好忍住了,没有在车上吐. Day 1 刚到电教楼,看完考室后,第一时间找厕所,结果发现只有一楼有厕所,坑爹我的考室在三 ...
- [Leetcode][Python]21: Merge Two Sorted Lists
# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com' 21: Merge Two Sorted Listshttps://oj.le ...
- swift3.0 构造器、析构方法(3)
构造和析构是两种特殊的方法,在对象进行初始化的时候 使用构造,在对象的释放操作中,使用析构. 构造器的定义: init (){ //代码 } init(name:String){ //代码 } 在构造 ...
- poj 1149 PIGS(最大流经典构图)
题目描述:迈克在一个养猪场工作,养猪场里有M 个猪圈,每个猪圈都上了锁.由于迈克没有钥匙,所以他不能打开任何一个猪圈.要买猪的顾客一个接一个来到养猪场,每个顾客有一些猪圈的钥匙,而且他们要买一定数量的 ...