css实现高度垂直居中

1:单行文字垂直居中:

如果一个容器中只有一行文字的话,定义height(高度)和 line-height(行高)相等即可。

  如:<div style="height:25px;line-height:25px;overflow:hidden">aa</div>

2:多行文本固定高度垂直居中:

核心:display:table 和display:table-cell ;vertical-align:middle;

兼容:ie7+

1 <div class="wrapper">
2     <div class="content">content age</div>
3 </div>

相对应的css代码如下:

.wrapper{
    height:400px;
    display:table;
}
.content{
    vertical-align:middle;
    display:table-cell;
    border:1pxsolid#FF0099;
    background-color:#FFCCFF;
    width:760px;               }                                                                                                              

核心:display:table 和display:table-cell ;vertical-align:middle;以及使用绝对定位

兼容:ie6+


<div class="wrap">
     <div class="subwrap">
        <div class="content">aaaaa</div>
     </div>
 </div>
 

css代码部分:

.wrap{
    display:table;   //*****************************************display:table
    border:1pxsolid#FF0099;
    background-color:#FFCCFF;
    width:760px;
    height:400px;
    *position:relative; //*************************************** *position:relative
    overflow:hidden;
}
.subwrap{
vertical-align:middle;   //************************************vertical-align:middle; 

display:table-cell;    //*************************************display:table-cell
*position:absolute; *top:50%; } .content{ *position:relative; *top:-50%; }

3:多行文本未知高度垂直居中:

现代浏览器的最新版都支持inline-block,只有该死的ie6、7不支持inline-block,但ie6、7可以通过 display:inline;zoom:1;来模拟。

但是在firefox,safari,opera,ie8+中的 inline-block 元素之间会莫名其妙多出3px的间距,其实这个是换行符,如果将 inline-block 元素间的换行符去掉,这3px的间距就会消失了。 
有没有在不影响代码美观的情况下去掉间距尼,答案是有的。可以在inline-block的父元素中加上 font-size:0;然后在 inline-block讲字体设回来。 

下面是inline-block兼容的代码: 

{
display:inline-block;
*display:inline;
*zoom:1;
width:100px;
vertical-align:top;
} 

 

时间: 2024-10-26 05:20:31

css实现高度垂直居中的相关文章

CSS解决未知高度垂直居中

尽管有CSS的vertical-align特性,但是并不能有效解决未知高度的垂直居中问题(在一个DIV标签里有未知高度的文本或图片的情况下). 标准浏览器如Mozilla, Opera, Safari等.,可将父级元素显示方式设定为TABLE(display: table;) ,内部子元素定为table-cell (display: table-cell),通过vertical-align特性使其垂直居中,但非标准浏览器是不支持的. 非标准浏览器只能在子元素里设距顶部50%,里面再套个元素距顶部

css自适应高度下垂直居中文字

****  首先讲讲ionic下的样式设置,ionic下是按功能将样式作用域划分成模块,模块内元素对应父模块的样式,而再是全局body...继承了  **** 1.关于css自适应高度下垂直居中文字,非定位类(position会影响性能,能优则优)的方法实现 : 分析:使用vertical-align方法可以使元素垂直居中,但是只是针对支持vertical的元素,如table .td 等,div和span是不支持的,所以要模拟table元素. --->   父元素设置display : tabl

前端技术之CSS实现图片垂直居中

前端技术之CSS实现图片垂直居中技术 maybe yes 发表于2015-03-14 18:52 原文链接 : http://blog.lmlphp.com/archives/86/The_front-end_technology_pure_CSS_to_achieve_image_vertically  来自 : LMLPHP后院 让 图片实现水平居中比较简单,只需要在父级容器中添加属性 text-align 为 center 即可.使用纯 CSS 实现图片的垂直居中,可以将图片包裹容器的 d

CSS制作水平垂直居中对齐 多种方式各有千秋

作为前端攻城师,在制作Web页面时都有碰到CSS制作水平垂直居中,我想大家都有研究过或者写过,特别的其中的垂直居中,更是让人烦恼.这段时间,我收 集了几种不同的方式制作垂直居中方法,但每种方法各有千秋呀,要正确的选择也是一件不容易的事情.我会将这几种方法一一介绍给大家,以供大家参考.或许对 于我这样的初学者有一定的帮助. 用CSS来实现元素的垂直居中效果是件苦差事,虽然说实现方法有多种,但有很多方式在某些浏览器下可能无法正常的工作.接下来我们就一起来看看这些不同方法实现垂直居中的各自优点和其不足

css实现水平 垂直居中

css实现水平居中 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>水平居中</title> <style> .box1{ border: 1px solid #000; text-align: center; } .box2{ display: inline-block; backgroun

《转》CSS元素水平垂直居中方法总结(主要对大漠以及张鑫旭博客所述方法进行了归纳)

转自大地Dudy的CSS元素水平垂直居中方法总结(主要对大漠以及张鑫旭博客所述方法进行了归纳) 本文主要是对主流居中方法进行了归纳,有些地方甚至就是把别人的代码直接复制过来的,没有什么自己的东西,除了大漠以及张鑫旭的方法外,还有来自司徒正美.怿飞博客的几个方法 以下方法,由于测试环境的原因,IE系列只测试了IE9和IE6,以下所说的IE的支持性只是相对于IE9和IE6来说的: 一.元素的水平垂直居中: 第一种方法: <!doctype html> <html lang="en&

CSS实现完美垂直居中

之前看到很多人一直都问这个问题,不过当时我没当一回事,因为在 CSS 中要垂直居中,多数是在有高度的情况下,或者容器高度不定的情况下才用,看上去比较舒服,而且实现的方法也不少,不一定要拘泥于和 table 布局一样.不过最近有人问了几个例子,看来对此的需求还不少.现在就把我经验拿出来分享一下,希望大家鼓鼓掌. 首先,要有一个概念:凡是 table 布局可以实现的,CSS 一定可以实现.CSS 可以实现的,table 未必能做到. 现在来几个例子: 一.单行内容的居中只考虑单行是最简单的,无论是否

CSS实现图片垂直居中

.box{ width: 100px; height: 100px; border: 1px solid #ccc; border-radius: 5px; margin-bottom: 15px; } .out, .in{ float: left; margin-right: 15px; } /* out */ .out .t{ box-shadow: 0 -3px 5px -2px #f00; } .out .r{ box-shadow: 3px 0 5px -2px #0f0; } .ou

CSS制作水平垂直居中对齐

作为前端攻城师,在制作Web页面时都有碰到CSS制作水平垂直居中,我想大家都有研究过或者写过,特别的其中的垂直居中,更是让人烦恼.这段时间,我收集了几种不同的方式制作垂直居中方法,但每种方法各有千秋呀,要正确的选择也是一件不容易的事情.我会将这几种方法一一介绍给大家,以供大家参考.或许对于我这样的初学者有一定的帮助. 用CSS来实现元素的垂直居中效果是件苦差事,虽然说实现方法有多种,但有很多方式在某些浏览器下可能无法正常的工作.接下来我们就一起来看看这些不同方法实现垂直居中的各自优点和其不足之处