DIV文字水平垂直居中的方法

水平居中

text-align:center

垂直居中(vertical-align)

vertical-align:middle;

vertical-align时而没效果

然而真实使用的时候,我们会发现这个属性“时灵时不灵”,有些情况下我们加了这个属性之后仍然不见img或者text有任何的变化。那是因为vertical-align只作用在inline-block或者inline,还有table-cell等元素内。同时这两种还有有所不同。
vertical-align并不是在高度内居中,而是对齐在行高内的middle线上。

所以我总结了两种使用vertical-align居中的方法:

第一种:

<div style="vertical-align: middle;display: table-cell;">
    <img src="02.jpg" >
    <p>文本居中</p>
</div>

 这种情况下图片和文字可以分行显示文字在图片下面同时图片和文字作为整体在元素内垂直居中。

第二种:

<div style="height:180px;line-height:180px;">
    <img src="02.jpg" alt="图片" style="vertical-align:middle;" />
    这是文本内容.
</div>

  

这种情况下文字是因为line-height属性而居中,跟vertical-align属性没有关系。同时img对齐在middle线上,但是如果父盒子去掉了line-height属性的话那么将会不起作用。(可以试试bottom和text-bottom的不同。)

原文地址:https://www.cnblogs.com/ttty/p/10286310.html

时间: 2024-12-28 18:34:26

DIV文字水平垂直居中的方法的相关文章

div盒子水平垂直居中的方法推荐

父盒子是position:relative 方法一:(宽高确定) div绝对定位水平垂直居中[margin 负间距], 方法二: (宽高确定) div绝对定位水平垂直居中[margin:auto实现绝对定位元素的居中], 兼容性:,IE7及之前版本不支持 方法三:(宽高不定) div绝对定位水平垂直居中[Transforms 变形] 兼容性:IE8不支持: 方法四:(宽高不定) flex布局(对父元素display:flex) 方法五: 父盒子display: table-cell和子盒子dis

div盒子水平垂直居中的方法

这个问题比较老,方法比较多,各有优劣,着情使用. 一.盒子没有固定的宽和高 方案1.Transforms 变形 这是最简单的方法,不近能实现绝对居中同样的效果,也支持联合可变高度方式使用.内容块定义transform: translate(-50%,-50%)  必须加上 top: 50%; left: 50%; 优点: 1.      内容可变高度 2.      代码量少 缺点: 1.      IE8不支持 2.      属性需要写浏览器厂商前缀 3.      可能干扰其他transf

div自适应水平垂直居中的方法

1.Flexbox布局: display:flex; justify-content:center; align-items:center; width:100%; 2.Bootstrap栅格布局 一共12格,分成3块,每块占4列.居中的内容写在中间的那一块. 3.圣杯/双飞翼(水平自适应居中的基础上) 第一步:居中的div写在最前面,width:100%撑满一整行.三个div都向左浮动float:left; <div class="main">Main</div&g

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

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

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

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

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

探讨div水平垂直居中的方法

我们在开发当中经常会遇到需要将一个div(或者说是一个元素)水平垂直居中,小弟知道的可以实现的方法有一下三种. 第一种:利用绝对定位的方法,具体实现可以看这里 <div id = "parent"> <div id = "child"> </div> </div> #parent{ position:relative; height:500px; background:red; } #child{ position:a

总结div里面水平垂直居中的实现方法

最近经常碰到要垂直居中的问题,所以想着总结一下:关于如何设置小盒子在大盒子里面水平垂直方向同时居中的实现方法有很多种,下面仅列举了常用的几种. 首先看一下要实现的效果图及对应的html代码: <div class="parent"> <div class="child"> </div> </div> 1.使用定位的方法 .parent { width: 300px; height: 200px; border: 1px

几种可以让元素水平垂直居中的方法

1.负margin法:这是比较常用的方法,在知道元素的宽高的前提下才能使用 1 <div id="a"></div> 2 3 #a{ 4 height:300px; 5 width:300px; 6 position:absolute; 7 top:50%; 8 left:50%; 9 margin-left:-150px; 10 margin-top:-150px; 11 } 注:负margin是个非常有意思的用法,深入了解后会发现他在布局上相当有用.  优点