垂直居中小记 line-height table vertical-align:middle

垂直居中分两种情况:1.父元素高度确定的单行文本        2.以及父元素高度确定的多行文本。

  1.垂直居中-父元素高度确定的单行文本的竖直居中的方法是通过设置父元素的 height 和 line-height高度一致来实现的,即此时单行文本的行高line-height=height(父元素块高度)。(height: 该元素的高度,line-height: 顾名思义,行高(行间距),指在文本中,行与行之间的 基线间的距离 )。

line-height 与 font-size 的计算值之差,在 CSS 中成为“行间距”。分为两半,分别加到一个文本行内容的顶部和底部。

但是有一个弊端:当文字内容的长度大于块的宽时,就有内容脱离了块:

#sy{
    margin-top:20px;
    text-align:center;
    height:50px;
    line-height:50px;
    width:200px;
    font-size:20px;
    background:#F30;}

<div id="sy">你看我是不是超出了父块元素?</div>

所以这种方法用于网页的页眉或者页脚还是很不错的

  2.垂直居中-父元素高度确定的多行文本

    方法一:使用插入 table  (包括tbody、tr、td)标签,同时设置 vertical-align:middle。

        css 中有一个用于竖直居中的属性 vertical-align,在父元素设置此样式时,会对inline-block类型的子元素都有用。

        (td 标签默认情况下就默认设置了 vertical-align 为 middle,所以我们不需要显式地设置了。)

.jz{
       height:200px;    background:yellow;
    }

<table><tbody><tr><td class="jz">
<div>
    <p>看我是否可以居中。</p>
    <p>看我是否可以居中。</p>
    <p>看我是否可以居中。</p>
    <p>看我是否可以居中。</p>
    <p>看我是否可以居中。</p>
</div>
</td></tr></tbody></table>

时间: 2024-10-12 08:42:37

垂直居中小记 line-height table vertical-align:middle的相关文章

line height 与 vertical align

一.line height 其中代表inline box(包含上下间距,若height==line-height,则行间距=line-height - font-size/2),big代表content area. 注: 若line-height < content area ,则line box要取line-height的值,这也是为什么会重叠的原因. line-height属性取值: 1. % 若自身没有设置line-height,则line-height = 父元素的font-size *

深入了解css的行高Line Height属性

来源:http://www.cnblogs.com/fengzheng126/archive/2012/05/18/2507632.html 什么是行间距? 古时候我们使用印刷机来出来文字.印刷出来的每个字,都位于独立的一个块中. 行间距,即传说中控制两行文字垂直距离的东东.在CSS中,line-height被用来控制行与行之间垂直距离. 不过,行间距与半行间距,还是取决于CSS中的line-height.那么,如何来使用line-height呢? 默认状态,浏览器使用1.0-1.2 line-

CSS实现完美垂直居中

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

自适应居中

一.窗体居中 1 position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; /*height: 50px; width: 165px; */ 简析: position:固定位置显示(absolute|fixed): [absolute:窗口大小由上层position为absolute.fixed.relative的子父关系窗口决定:fixed:窗口大小由上层层position为fixed的子父关系窗口决定] t

div仿checkbox表单样式美化及功能

div仿checkbox表单样式美化及功能(checkbox的样式不好看)素材在底部: 效果图: window.css .bj { position: absolute; top: 0; left: 0; bottom: 1px; width: 100 % ; height: 980px; z - index: 9; background - color: #000; filter: alpha(opacity = 50); - moz - opacity: 0.5; - khtml - opa

css 居中,中央

在我的技巧里,有4中居中中央的方法: 1.position:absolute; top:50%;left:50%; margin : -x 0 0 -x; 这是绝对定位的方法,通过算法移动,坏处就是必须知道element的height & width. 2.vertical align middle 在element 里,只要知道父层的高,子层就能通过vertical align middle移动到中间,当然,父层同时也要有text align center,或者子层margin auto; d

PHP+HTML简单实现BBS论坛与回帖

本文主要讲述如何通过PHP+HTML简单实现BBS论坛和发帖/回帖的功能,这是提取我们php项目的部分内容.主要内容包括: 1.通过JavaScript和Iframe实现局部布局界面 2.PHP如何定义类实现访问数据库功能 3.实现简单的BBS论坛和发帖/回帖功能 由于这个项目是十个人在寒假完成,所以采用了SAE搭建在线的后台数据库,其他人在通过Apache本地设计网页.访问数据库的方法实现,相当于简单的BS三端访问. 源码下载地址: 访问http://localhost:8080/testph

PHP网站使用JavaScript和Iframe简单实现部分刷新效果

本文主要是记录自己寒假作业PHP网站实现加载界面的文章,运行效果如下图所示.主要记录php+html+Apache开发网站的3个功能:(方便以后阅读和其他人学习) 1.如何实现简单页面布局 2.使用jsp如何实现隐藏与显示效果 3.通过iframe实现局部动态更新页面内容 一.运行效果 运行apache访问本地页面http://localhost:8080/CourseStudy/index.php,效果如下所示:(lamp/wamp配置php网站) 可以发现该界面布局主要由3部分组成,顶部he

《shop》 --- 角色数据维护

控制器:RoleController  操作方法:showlist 商品列表界面,在left.html中 <table id=child{$v.auth_id} style="display:none" cellspacing=0 cellpadding=0 width=150 border=0> {foreach $auth_infoB as $kk => $vv} {*子级权限的pid与外部权限的id必须相等*} {if $vv.auth_pid == $v.au