文字的垂直居中总结

1.单行文本的 父元素高度设定

 1>利用line-height 来实现垂直居中
<style>
 .one1{width:100px;height:30px;line-height:30px;text-align:center;overflow:hidden;} 

</style>
<div class=‘one1‘>
    我要垂直居中啊
</div>
2>利用table-cell 和 vertical-align 来居中 
<style>
.mainText{
        width: 200px;height: 100px;
        margin: 20px auto; border: 1px solid #f00;
        display: table;
        *position:relative; /* 兼容ie7以下 */
       }
.one1{width:100%;display:table-cell;vertical-align: middle;text-align: center;
       *position:absolute;*top:50%;  /* 兼容ie7以下 */
     }
.one1 span{*position:relative;*top:-50%; /* 兼容ie7以下 */  }
</style>
<div class="mainText">
  <div class=‘one1‘>
    <span>大段文字啊</span>
   </div>
</div>

2.多行文本的高度确定的  同样利用table-cell 来实现

3.父级高度不确定的

1>.利用padding
<style>
.one2{width:300px;text-align:center;border:1px solid #f00;
padding:30px}
</style>

<div class=‘one2‘>
 这里是大段的文字,然后我要垂直居中啊这里是大段的文字,然后我要垂直居中啊
这里是大段的文字,然后我要垂直居中啊这里是大段的文字,然后我要垂直居中啊
</div>
2>.子div高度确定,利用position:absolute 
<style>
.mainText{width:400px;height:auto; position:relative;margin:20px auto;}
 .one2{width: 60px;height:60px;position:absolute;top:50%;margin-top:-50px; left:50%;margin-left:-150px;text-align:center;border:1px solid #f00;padding:20px;
 }
</style>
<div class="mainText">
  <div class=‘one2‘>
    <span>
        这是多行文本子div高度确定了的垂直居中, 这是多行文本子div高度确定了的垂直居中, 这是多行文本子div高度确定了的垂直居中,
    </span>
   </div>
</div>
3>.子div高度不确定,利用display:flex
<style>
 .mainText{width:400px;height:auto;margin:20px auto;border:1px solid #f00;
        display:flex;
        justify-content: center;
        -webkit-justify-content: center;
        -webkit-align-items: center;
        align-items:center;}
    .one2{width:200px; }
</style>

div class="mainText">
  <div class=‘one2‘>
    <span>
          这是多行文本子div高度不确定的垂直居中,
        这是多行文本子div高度不确定的垂直居中,
      这是多行文本子div高度不确定的垂直居中,
    </span>
   </div>
</div>

兼容ie9+

以上。

原文地址:https://www.cnblogs.com/jolee/p/9001342.html

时间: 2024-08-01 10:52:56

文字的垂直居中总结的相关文章

as3.0 TextField中单行文字内容垂直居中

在开头,先首说一下TextField中单行文字空间是怎样的.图如下 从图中可以看到,当为文字设定像素大小时,我们都可以从TextField中的文字空间信息取得两个信息Ascent与Descent,文字空间与边距的2px一般是固定的.所以如果我们想在TextField中单行文字垂直居中的话,可以这样设定TextField的高度为Ascent+Descent+4px.具体在as3.0中的个人实现代码实例如下: package { import fl.controls.Label; import fl

Android进阶(二十二)设置TextView文字水平垂直居中

设置TextView文字水平垂直居中 有2种方法可以设置TextView文字居中: 一:在xml文件设置:android:gravity="center" 二:在程序中设置:m_TxtTitle.setGravity(Gravity.CENTER); 备注:android:gravity和android:layout_gravity的区别在于前者对控件内部操作,后者是对整个控件操作. 例如:android:gravity="center"是对textView中文字居

多行文字或者单行文字的垂直居中解决方案

做项目的时候经常会遇到多行文字的垂直居中,如果是单行文字直接:height:40px;line-height:40px;就可以了.如果是多行文字,用这个方法,只能看见第一行文字,基于这种情况,找到了一中比较好的方法. <!doctype Html> <Html> <Head> <Meta Charset="Utf-8"> <Title>文字垂直居中</Title> <Style> Div{ Width:

多行文字实现垂直居中 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">

不设置行高,文字水平垂直居中显示

利用display:table-cell; 表格 <body> <div class="box">爆款推荐</div> <br/> <div class="box">满199减20</div> <br/> <div class="box">满赠</div> </body> .box { width:60px; height:60

css在百分比高度时,文字水平垂直居中

给需要垂直居中的文字增加一个父元素,给父元素设置 display:table; 给需要居中的子元素设置 vertical-align:middle; display:table-cell; 1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" conten

文字的垂直居中

P中并没有垂直居中vertical-align属性...所以我用到了display:table(父级)属性display:tablecell(本级)属性来解决,因为我的内容是不定高的,单行定高文字则可以设置line-height等于height就可以了...但是嘛的tablecell之后table的属性中不响应margin,,因为我要表格项之间隔开一些,,,HTML中的cellpadding属性这是没反应,其实查查CSS手册就知道....用border-spacing属性就行了...百度了好久并

html 文字图片垂直居中

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

如何让高度自适应的div中的文字水平垂直居中

1.在做数据展示的时候,因为后台没有数据,为了提示用户没有数据,自己手写了一个div中间显示一个"暂无数据的字样", 然后控制显示和隐藏,这样方法有两种: 第一种:设置display隐藏,但有一个问题,因为我的div中用了display:table-cell,所以起了冲突, 第二种:更改z-index的值 不显示的时候设置0,显示的时候设置最大值就行(推荐使用) 本文主要是探讨,因为外层的div的宽度和高度是不固定,导致了文字不能水平垂直居中的问题,解决办法: #big{ width: