多行文字(图片)垂直居中

最近比较忙,没有时间更新博文。也就在这段时间遇到了些问题,其实这些问题以前遇到过,也处理了,但最近遇到这个问题突然间不知道怎么处理了。半年多没遇到过多行文字垂直居中的问题,可能是因为所处行业问题。好了废话不多说。

大家应该多遇到过这个问题,可能大家都知道怎么解决,但有多少人真的弄清楚它的原理呢?

说先我们先写出html,如下:

<div class="cont">

<div class="hack">

<div class="article">下个周末也去拓展,想到心里就发麻了。</div>

</div>

</div>

大家可能会想为什么我要用3个div来呢,当然这样做是有用处的,如果忽略掉ie6,ie7的,两个div够了。

接下来看看他的样式

.cont{

width:400px;height:400px;background:#f60;display:table;*position:relative;

}

.hack{

vertical-align:middle;display:table-cell;*position:absolute;*top:50%;*left:0;

}

.article{

word-break:break-all;*position:relative;*top:-50%;

}

把代码复制下来试试,完全ok,在ie6,ie7下都没问题。

大家都应该知道display:table;这个属性吧,当然这个是按照表格的思想做的,但这个属性对ie7和ie6支持不理想,接下来的display:table-cell;这个属性也是一样,他的意思跟表格中的td差不多。刚才说道如果忽略掉ie6,ie7那么只要这两个div就可以完成任务了。但万恶的ie老是跟我们作对,之前我也只想到这个,后来翻了以前的代码才找到解决的办法。*position:absolute;*top:50%;*left:0;让hack这个div往下移动cont的50%的高度,article中的*top:-50%;让 article向上移动文字高度的一半,这样就让i7以下到达了垂直居中了,原理就这么简单,但有些时候就是想不起来。不过以前没怎么弄透他的原理,基本上只是简单的记住了这些代码,时间一长就基本忘记了,所以要想掌握它,还是要清楚他的原理。

时间: 2024-11-17 00:54:13

多行文字(图片)垂直居中的相关文章

多行文字实现垂直居中 css3

用到的属性: display:table-cell; verical-align:middle; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

html 文字图片垂直居中

方法一 :设置盒子高度与line-height相同,本方法适用于一行文字. 图片垂直居中 和一行文字对齐 用属性vertical-align 小图标和文字垂直对齐,小图标作为背景插入 // attr:设置自己生成的属性,像selected checked这类即使用鼠标点过 他的值是undefinded,所以自有属性推荐用prop 包含块(Containing Block)某个元素的尺寸和位置的计算往往是由该元素所在的包含块决定的,包含块不会特指某个元素区域,而是一块视觉假想出来的一块区域,理解了

多行文字水平垂直居中在div

<BODY> <div class="box"> <h3>1.单行文字居中</h3> <!--设置行高来实现--> <div class="box1"> 这是高度为30像素的单行文字 </div> <h3>2.多行文字不定高度居中</h3> <!--运用padding来实现--> <div class="box2">

【css】多行文字图片混排容器内垂直居中解决方案

css: .box-wrap{display:table;width:200px;height:200px;*position:relative;}/*最外边的容器,需固定宽高*/ .box-hack{display:table-cell;height:200px;vertical-align:middle;*position:absolute;*top:50%;}/*需要定义高度*/ .box-ctn{*position:relative;*top:-50%;} html: <div clas

实现文字图片垂直居中的总结性方法

首先附带HTML代码 <div class="box box1 box2 box3 box4 box5 box7 box8 box9"> <div>垂直居中</div> </div> 接着附带box为公共样式 .box{ width: 200px; height: 200px; background: pink; } 第一种方法box1:display: table-cell; 兼容ie8及以上.适用于文字与图片 css代码如下: .bo

jquery实现多行文字图片滚动效果

今儿分享一个jquery实现多行滚动效果. 我看一些论坛网站上面,公告处用的较多. 代码如下 复制代码 // 多行滚动(function($){$.fn.extend({Scroll:function(opt,callback){if(!opt) var opt={};var _this=this.eq(0).find("ul:first");var lineH=_this.find("li:first").height(), line=opt.line?parse

Jquery : 上下滚动--单行 批量多行 文字图片翻屏【转】

原文发布时间为:2010-02-01 -- 来源于本人的百度文章 [由搬家工具导入] 注:如果和左右滚动一起使用,则会出现冲突 一单行滚动(ad:http://www.gz138.com) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xml

转 图片、多行文字的水平垂直居中

想必写css的都知道如何让单行文字在高度固定的容器内垂直居中,但是您知道或者想过让行数不固定的文字在高度固定的容器内垂直居中呢?本文将会告诉你如何实现多行文字的垂直居中显示.关于图片垂直居中显示,想必很多写css的人都研究过,或者说是搜寻过方法.淘宝团队似乎提供了一种不错的方法,用font-size解决IE下垂直居中的问题,是个好方法吗?是的,方法是不错,可是问题也很多:不支持img外标签的浮动,致使多图片排列时需添加额外标签:需要记住一些比例参数,上手较难:原理艰深,兼容性不稳定等.但是在我看

大小不固定的图片、多行文字的水平垂直居中

想必写css的都知道如何让单行文字在高度固定的容器内垂直居中,但是您知道或者想过让行数不固定的文字在高度固定的容器内垂直居中呢?本文将会告诉你如何实现多行文字的垂直居中显示. 关于图片垂直居中显示,想必很多写css的人都研究过,或者说是搜寻过方法.淘宝团队似乎提供了一种不错的方法, 用font-size解决IE下垂直居中的问题,是个好方法吗?是的,方法是不错,可是问题也很多:不支持img外标签的浮动,致使多图片排列时需添加额 外标签:需要记住一些比例参数,上手较难:原理艰深,兼容性不稳定等.但是

大小不固定的图片和多行文字的垂直水平居中

一.大小不固定,多行文字的垂直居中 ① 单行文字 可能很多人都知道如何让单行文字垂直居中显示,就是使用line-height,将line-height值与外部标签盒子的高度值设置成一致就可以了.例如: 单行文字居中显示测试,css样式为:height:3em; line-height:3em;-- ② 多行文字 但是对于外框高度固定,文字大小个数不固定的多行文字呢?文字可能一行显示,也有可能多行显示:文字可能是小号字体,也有可能是大号的.这时候如何让其垂直居中显示呢?看下面! 这里的文字用来做多