垂直居中的几种办法

1. 文字垂直居中

单行文字:只要 line-height = height。比如

div{
    height: 30px;
    line-height:30px;
}

多行文字垂直居中:

将line-height设置为height的n份之一。这个n = 文字行数。再根据需要,配合padding使用。

下面来举一个最简单的例子。比如有一个div容器,设计稿高度为120px,包含3行文字。

div{
     background-color: red;
     width: 200px;
     height: 90px;
     line-height: 30px;
     padding: 15px 10px;
}

效果如下:

2. 大容器包裹下的小容器完全居中(水平和垂直居中)

.div1 {
    background-color: red;
    width: 28em;
    height: 15em;//必须声明元素高度
    margin: auto;
    position: relative;
}
.div2 {
    background-color: white;
    width: 50%; //可以自由调节大小,自适应布局
    height: 50%; //必须声明元素高度
    overflow: auto; //避免元素溢出,显示不正常
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

3. 大容器下有图片和文字需要垂直居中。

实际上,这个也可以参照办法2,用div2将图片和文字包裹起来。div2的高度等于图片的高度。

    html{
        font-size: 16px;
    }
.div1{
    width: 37.5em;height: 18em;
    margin: auto;
    position: relative;
    background-color: red;
}
.div2{
    width: 20em;
    height: 12.5em;
    overflow: auto;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: white;
}
img{
    vertical-align: middle;
    width: 12.5em;height: 12.5em;
    max-width: 100%;
}

 p{
   display: inline-block;font-size: 2em;
  }

效果如下:

多张图片和文字,也是一样的办法,根据项目实际情况来调整宽高即可。

关于img之间的缝隙问题,可以戳这里查看解决办法

时间: 2024-12-04 20:36:05

垂直居中的几种办法的相关文章

让DIV垂直居中的几种办法

1.使用CSS3 的伸缩盒布局 <!doctype html> <html> <head> <meta charset="utf-8"> <style> #container { height: 400px; width: 100%; background-color: gray; display:-webkit-flex; display: flex; flex-direction: row; -webkit-flex-di

CSS元素垂直居中的几种方法

在网页响应式布局中,实现水平居中很简单.可是,垂直居中方面,元素的宽度和高度是不可控的,所以很多办法并不适用. 总结了下平时用到的垂直居中的几种办法: demo中HTML代码: <div class="center"> <span></span> </div> 一:使用table-cell; CSS代码: .table{ display: table; width: 100%; height: 100%; } .center{ displ

垂直居中的N种方法

CSS教程:div垂直居中的N种方法[转] 在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中的确是有vertical-align属性,但是它只对(X)HTML元素中拥有valign特性的元素才生 效,例如表格元素中的<td>.<th>.<caption>等,而像<div>.<span>这样的元素是

两种办法提交表单

办法1.同一个页面中建立两个表单 各自提交: <form action="?" name="form1" id="form1">  <!-- 表单内容 --> <input type="submit" /> </form> <form action="?" name="form1" id="form1">  

让div盒子相对父盒子垂直居中的几种方法

div相对于父盒子垂直居中的几种方法,之前在网上看到很多种方法,确实说的很对,也很具体,但是我感觉对于初学者来说,一目了然是最重要的,所以,我把很高深的技巧,和很复杂的css样式都剔除掉,旨在让更多人能看懂. 具体事例方法如下:    1.   其实这里的重点是,一定要给父盒子设置相对定位 <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <

Cocos2d-x 3.1.1 学习日志4--cocos2d-x解决中文乱码问题的几种办法

做个打飞机的游戏,由于版本太新,网上基本没有教教程,我的版本是cocos2d-x 3.1.1的,今天遇到cocos2dx中中文乱码的问题.无奈只好Google百度寻求答案,明白了这个问题的缘由.因为cocos2d-x内部是以utf8处理文本的,而VS直接输入时文本编码为GBK,如果添加L标志,则为Unicode编码. 解决这个问题有三种办法: 将源代码文件保存为utf8编码,不过由于编译器的问题,这种方式会导致很多无法预测的问题 将字符串用utf8编码集中存到一文件中,然后用代码读取这些字符串来

读取硬盘上被覆盖数据的两种办法

文件管理的真谛在于方便保存和迅速提取,所有的文件将通过文件夹分类被很好地组织起来,放在你最能方便找到的地方.解决这个问题目前最理想的方法就是分类管理,从硬盘分区开始到每一个文件夹的建立,我们都要按照自己的工作和生活需要,分为大大小小.多个层级的文件夹,建立合理的文件保存架构. 此外所有的文件.文件夹,都要规范化地命名,并放入最合适的文件夹中.这样,当我们需要什么文件时,就知道到哪里去寻找.这种方法,对于相当数量的人来说,并不是一件轻松的事,因为他们习惯了随手存放文件和辛苦.茫无头绪地查找文件.下

收起键盘的四种办法

1 除了调用相应控件的resignFirstResponder方法外,还有另外三种办法: 2 重载UIViewController中的touchesBegin方法,然后在里面执行在[self.view endEditing:YES];这样单击UIViewController的任意地方,就可以收起键盘. 3 直接执行[[UIApplication sharedApplication]sendAction:@selector(resignFirstResponder)to:nil from:nil

PHP修改memory_limit的三种办法

PHP修改memory_limit的三种办法 2010-06-11 10:57:11 分类: 可能是分词程序的问题.只要搜索的字段达到十个汉字以上,就会出现诸如以下的错误 Fatal error: Allowed memory size of 2345643 bytes exhausted 上网找了方法.有3种办法. 1.直接修改PHP.INI memory_limit = 16M  ; 但是我修改了没有用.据说是要重启服务器的.但是很显然.我的 是虚拟主机.所以有独立主机的可以这样修改. 2.