利用CSS让元素垂直居中是个很头疼的问题,这里就介绍两种简单实用的方法

方法一:利用行高(line-height)定位

line-height通常是用于调节一段文字的行与行之间的距离,或者说两行文字之间的距离,如果行高是500px,那么每一行中的文字距离本行的顶部就是250px,如果将文字的行高设为500px,并且外面的容器的高度也为500px,同样可以实现垂直居中,但是用它来实现垂直居中,也是有缺点的,就是如果内容过多,文字就会跑到下一行,那么内容就不可能垂直居中了。

HTML代码:

1.   <h1>Hi, I'm<span>Vertically Aligned</span> Within the H1</h1>

CSS代码:

1.   body {
2.           margin: 0;
3.           padding: 0;
4.           background: #1d1d1d;
5.           font-size: 10px;
6.           font-family: Verdana, Arial, Helvetica, sans-serif;
7.  }
8.  h1 {
9.           font: 3em Georgia, "Times New Roman", Times, serif;
10.          color: #fff;
11.          height: 500px;
12.          line-height: 500px;
13.          text-align:center;
14.          border: 10px solid #999;
15. }
16. h1 span {
17.          font-weight: bold;
18.          font-size:1.5em;
19.          color: #fff000;
20. }
21. p {
22.          font-size: 1.3em;
23.          color: #999;
24. }
25. strong {
26.          color: #fff;
27. }

方法二:利用绝对定位

先来看看效果,查看演示
这个方法有个缺点我必须指出,就是外面的块状元素,必须指定高度,所以如果你在里面放动态的内容的话,后果会很糟糕滴~

HTML代码:

1.   <div class="vert">
2.          <h1>Hi, I'm<span>Vertically Aligned</span></h1>
3.          <p>Abigo sudo mara paulatim odio, accumsan luptatum nibh nibh refero metuo opes ut fatua. Acsi et fere similis <strong>Using</strong> augue <strong>absolute</strong> validus. Regula <strong>positioning</strong> eu jus vel, indoles fere iaceo ea similis. Velit praemitto nulla vel luctus secundum. </p>
4.  </div>

CSS代码:

这种用绝对定位来实现的垂直居中,取决与元素的宽度和高度,你可以用下面这两个公式来计算元素的左边距和上边距

元素的宽度/2 = 负左边距
元素的高度/2 = 负上边距

在这个例子中,我们就是这么计算的

1.   .vert {
2.          width: 580px;
3.          height: 190px;
4.          position: absolute;
5.          top: 50%;
6.          left: 50%;
7.          margin: -95px 0 0 -290px;
8.  }

完整CSS代码

1.   body {
2.          margin: 0;
3.          padding: 0;
4.          background: #1d1d1d;
5.          font-size: 10px;
6.          font-family: Verdana, Arial, Helvetica, sans-serif;
7.  }
8.  h1 {
9.          font: 4em Georgia, "Times New Roman", Times, serif;
10.         color: #fff;
11.         border-bottom: 5px dotted #999;
12.         margin: 0;
13.         padding: 0 0 10px;
14. }
15. h1 span {
16.         font-weight: bold;
17.         display:block;
18.         font-size:1.5em;
19.         color: #fff000;
20. }
21. p {
22.         font-size: 1.3em;
23.         color: #999;
24. }
25. strong {
26.         color: #fff;
27. }
28. .vert {
29.         width: 580px;
30.         height: 190px;
31.         position: absolute;
32.         top: 50%;
33.         left: 50%;
34.         margin: -95px 0 0 -290px;
35. }

如何实现css垂直居中相关推荐

  1. css垂直居中问题~

    css垂直居中有好几种方法: 使用vertical-align属性 对于确定高的元素可以margin:负半高; top:50%; 绝对定位position:absolute,设置top:0; bott ...

  2. 高度不定垂直居中_经典:CSS垂直居中的七种方法

    点击上方"程序员黑叔",选择"置顶或者星标" 你的关注意义重大! 作者: 来自互联网 我们在编辑一个版面,通常都会用到水平居中和垂直居中来设计,而水平居中很好处 ...

  3. CSS垂直居中解决方案

    CSS垂直居中解决方案 参考文章: (1)CSS垂直居中解决方案 (2)https://www.cnblogs.com/hhstuhacker/p/css-centered-solution.html ...

  4. table居中显示_「CSS三种居中方案全解」CSS垂直居中常用方法集结

    一.CSS 垂直居中 1.父元素display:table-cell;vertical-align:center,里面的子元素就会实现垂直居中,不需要知道子元素的宽高 /* HTML */复制代码 效 ...

  5. CSS垂直居中的七个方法

    我们在编辑一个版面,通常都会用到水平居中和垂直居中来设计,而水平居中很好处理,不外乎就是设定margin:0 auto:或是text-align:center:,就可以轻松解决掉水平居中的问题,但一直 ...

  6. css垂直居中和水平居中方法总结

    CSS垂直居中总结 文档转载网络并做整合                                                                                 ...

  7. html文字垂直居中怎么用,如何使用CSS垂直居中文本?

    CSS的常见任务是垂直居中文本或图像:虽然CSS2不支持垂直对齐,但我们可以通过组合一些属性来垂直居中块.下面本篇文章就来给大家介绍一下使用CSS垂直居中文本的方法,希望对大家有所帮助. 方法一:指定 ...

  8. CSS垂直居中的8种方法

    1.通过verticle-align:middle实现CSS垂直居中. 通过vertical-align:middle实现CSS垂直居中是最常使用的方法,但是有一点需要格外注意,vertical生效的 ...

  9. CSS 垂直居中的七种方法——史上最详细总结

    博主目前在蚂蚁集团-体验技术部,AntV/S2 是博主所在团队的开源项目--多维交叉分析表格,欢迎使用,感谢到 S2 github 仓库点赞 star,有任何关于前端面试.就业.技术问题都可给在文章后 ...

  10. CSS 垂直居中、水平居中及流失布局宽高自适应

    CSS 垂直居中.水平居中及流失布局宽高自适应,在工作中,经常遇到某个元素如何居中,因此介绍一种简单的居中方式.同时,也经常遇到,上到下布局,当顶部动态变化时,及高度不固定,但是底部如何动态铺满父元素 ...

最新文章

  1. python 写入网络视频文件很慢_用Python将数据写入LMDB非常慢
  2. 机器学习(二)梯度下降
  3. 使用Visual Studio(VS)开发Qt程序代码提示功能的实现
  4. 分布式缓存Memcached---开篇的话
  5. android开发实例-标准意图方法Intent(二)
  6. Redis 6.0 源码阅读笔记(1) -- Redis 服务端启动及命令执行
  7. pdfptable pdf生成表格分页_Excel按一下这个键,一张纸打印所有表格,不要浪费A4纸了...
  8. CentOS7关闭rpcbind连带服务
  9. 爬虫小程序 - 翻译君
  10. 使用 WinRAR 将bat转exe
  11. photoshop中魔棒工具的使用
  12. JAVA LinkedBlockingQueue详细分析
  13. 阿里2018届实习生内推经历
  14. JAVA项目接入腾讯应用宝YSDK平台之QQ微信登录接入模式详解
  15. 使用远程工具远程连接linux(xshell,xftp,xmanager,xrdp)
  16. connection_reset解决方案
  17. WHALE 会员指南(第 1 部分)
  18. Win10自定义短语
  19. SQL(11) 留存率+流失率!=100%
  20. 智能卡 安全体系 读权限 写权限 密钥后续权限

热门文章

  1. 计算机英语统考试卷分析,英语试卷分析
  2. rds proxy 数据库代理 简介
  3. TensorFlow Serving的使用
  4. Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.dataformat.yaml.YAMLFactory的解决方法
  5. 如何用python写一个把文件大小字节数转换为KB,MB,GB,TB等单位的函数
  6. 字符串转base64,base64转字符串
  7. PHP在线二维码生成API源码
  8. PHP isset()和empty()的区别
  9. Oracle 夺得榜首,MySQL 稳居第二 ,10月数据库排行榜出炉!
  10. 2021年度总结,一整年的精华所在!