元素内容垂直居中

本文介绍:
元素标签内的内容垂直居中有两种思路
第一种思路是将元素内容利用行高或者内边距padding属性设置
第二种思路是子盒子在父盒子中垂直居中,利用flex布局或者position定位方式

五种方式实现

  • 元素内容垂直居中
    • 第一种:利用 line-height 属性利用元素行高属性
    • 第二种:利用元素上下内边距(padding属性)
    • 第三种:利用flex布局
    • 第四种:使用position: fixed 定位方式实现在浏览器窗口居中对齐方式
    • 第五种:使用相对定位与绝对定位实现子盒子在父盒子上居中对齐

第一种:利用 line-height 属性利用元素行高属性

line-height 将元素里的内容在元素中垂直居中,对行内元素无效。
line-height 只对行内块元素和块元素有效。
若是想在行内元素设置行高,需要将行内元素转换为行内块元素和块元素。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>元素内容垂直居中</title><style>.item-1 {width: 300px;border: 1px solid skyblue;font-size: 14px;/* 元素没有设置高度,默认高度等于行高 */line-height: 40px;}.item-2 {width: 300px;border: 1px solid skyblue;font-size: 14px;height: 35px;/* 垂直居中必须等于元素高度的值 35px */line-height: 35px;}</style>
</head>
<body><!-- 元素内垂直居中有两种:第一种:利用元素行高属性line-height垂直居中,对行内元素无效,需要将行内元素转换为行内块元素或者块元素注意:1.如果元素没有设置高度,那么元素默认高度等于line-height的值,会将元素的高度撑开。2.如果元素设置了高度,比如height: 35px;那么元素内容想要垂直居中,line-height的值必须等于元素的高度,line-height等于35px3.若是内容要设置中间的偏下或者偏上,那么元素必须带高度,偏下设置行高大于高度的值即可,偏上设置行高小于高度即可--><div class="item-1">利用行高垂直居中  item-1</div><br><div class="item-2">利用行高垂直居中  item-2</div>
</body>
</html>

注意:
1.如果元素没有设置高度,那么元素默认高度等于line-height的值,会将元素的高度撑开。
2.如果元素设置了高度,比如height: 35px;那么元素内容想要垂直居中,line-height的值必须等于元素的高度,line-height等于35px
3.若是内容要设置中间的偏下或者偏上,那么元素必须带高度,偏下设置行高大于高度的值即可,偏上设置行高小于高度即可

第二种:利用元素上下内边距(padding属性)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>元素内容垂直居中</title><style>.item-1 {width: 300px;font-size: 14px;border: 1px solid skyblue;/* 上下边距为16px,盒子的内容高度 = 14px + 16px + 16px = 46px */padding: 16px 0px;}</style>
</head>
<body><div class="item-1">利用内边距padding垂直居中 item-1</div>
</body>
</html>

注意:
元素的总高度 = 字体大小 + 上下内边距 + 上下边框 + 上下外边距
元素的内容高度 = 字体大小 + 上下内边距
案例中的高度计算如下:

 元素的总高度 = 14px + 16px + 16px + 1px +1px = 48px元素的内容高度 = 14px + 16px + 16px = 46px

第三种:利用flex布局

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>元素内容垂直居中</title><style>.parent {/* flex布局 */display: flex;width: 500px;font-size: 12px;border: 1px solid skyblue;height: 40px;/* 将子盒子都垂直居中 */align-items: center;}.item-1 {border: 1px solid red;height: 12px;}</style>
</head>
<body><div class="parent"><div class="item-1">利用flex布局,将子元素垂直居中在父盒子里 item-1</div></div>
</body>
</html>

**注意:**使用flex布局,将子盒子垂直居中在父盒子中,利用align-items属性垂直居中

第四种:使用position: fixed 定位方式实现在浏览器窗口居中对齐方式

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>position实现对齐方式</title><style>.container {position: fixed;/* 元素向下移动浏览器窗口50%的距离 */top: 50%;/* 元素向右移动浏览器宽口50%的距离 */left: 50%; /* 元素向右移动自身宽度大小的-50%的距离,就是-250px;元素向下移动自身高度大小 的-50%的距离,就是-150px;*/transform: translateX(-50%) translateY(-50%);width: 500px;height: 400px;border: 1px solid skyblue;box-shadow: 0px 0px 12px -5px rgb(0, 0, 0,0.4);}</style>
</head>
<body><div class="container">浏览器的正中央位置</div>
</body>
</html>

效果图:

第五种:使用相对定位与绝对定位实现子盒子在父盒子上居中对齐

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>使用相对定位与绝对定位实现子盒子在父盒子上居中对齐</title><style>.parent {position: relative;width: 500px;height: 300px;border: 1px solid black;}.sub {position: absolute;top: 50%;left: 50%;transform: translateX(-50%) translateY(-50%);background-color: skyblue;}</style>
</head>
<body><div class="parent">父盒子<div class="sub">我是子盒子</div></div>
</body>
</html>

效果图:

元素垂直居中的五种方式相关推荐

  1. CSS水平垂直居中的五种方式

    CSS水平垂直居中的几种方式 absolute and -margin 需要设置盒子的宽度和高度 .father{border:1px solid red;width: 80vh;height: 90 ...

  2. 让子盒子水平和垂直居中的五种方法

    首先创建互相嵌套的两个盒子 浏览器中打开,盒子的样式为: 接下来是让子盒子水平和垂直居中的五种方法: 方法一:利用文本水平居中text-align: center和行高line-height进行实现 ...

  3. css实现水平垂直居中的七种方式

    css实现水平垂直居中的七种方式 一.使用grid布局 二.使用flex布局 三.使用定位+外边距 四.使用定位+平移 五.使用外边距 + 平移 六.使用文本对齐 + 行高 七.使用表格单元 一.使用 ...

  4. CSS 五种方式实现 Footer 置底

    CSS 五种方式实现 Footer 置底 页脚置底(Sticky footer) 就是让网页的footer部分始终在浏览器窗口的底部. 当网页内容足够长以至超出浏览器可视高度时,页脚会随着内容被推到网 ...

  5. 下列哪个不是目前python里的内置模块-python引入模块的五种方式与内置模块

    模块导入的五种方式 1.import 模块名 2.from 模块名 import 方法名 3.from 模块名 import * 4.import 模块名 as 别名 5.from 模块名 impor ...

  6. 《div图层被鼠标划过时其背景色变色的五种方式》

    概述: 同样是为了提高用户体验程度,本篇内容将叙述:div图层被鼠标划过时其背景色改变,鼠标离开相关div图层时其颜色变为原来的颜色.实现上述效果下面总结了五种实现方式,请您耐心阅读,或许会有点收获. ...

  7. android如何绑定事件,Android_安卓为按钮控件绑定事件的五种方式

    一.写在最前面 本次,来介绍一下安卓中为控件--Button绑定事件的五种方式. 二.具体的实现 第一种:直接绑定在Button控件上: 步骤1.在Button控件上设置android:onClick ...

  8. Java遍历Map的五种方式

    一.遍历Map的五种方式 java中遍历map一般有五种方法,从最早的Iterator,到java5支持的foreach,再到java8的Lambda表达式. 如果只是获取key,或者value,推荐 ...

  9. html怎么把元素垂直居中显示,分享html css元素垂直居中的几种方法

    元素垂直居中的几种方法: 方法一:设置height和line-height 在CSS中,line-height 属性设置两段段文本之间的距离,也就是行高,如果我们把一段文本的line-height设置 ...

最新文章

  1. 【数据库】防止SQL注入
  2. ABAP 7.4 新语法-内嵌生命和内表操作
  3. completablefuture 线程池_SpringBoot中如何优雅的使用多线程
  4. 【算法题1】上台阶问题
  5. 【WinForm】创建自定义控件(转)
  6. zip2john工具爆破zip文件
  7. 京东健康股价创下新高 市值突破6000亿港元
  8. 高斯求和1+2+3+······+n-1+n=?
  9. 实战:Windows Server 2008 活动目录 传送和争夺操作主控角色
  10. [转]HTTP Error 502.5 - Process Failure asp.net core error in IIS
  11. dump文件_centos7 磁盘与文件系统管理
  12. Spring源码解析目录
  13. [RK3399][Android7.1] 调试笔记 --- CPU的serial number读取
  14. 滴滴资深分析专家:数据如何驱动业务增长
  15. 海量数据,3行Python代码直接获取!
  16. 利用javadoc制作API文档
  17. ABAP调用外部webservice 问题
  18. 第三种是经典著作阅读法
  19. 大数据对思维方式的重要影响
  20. 时序数据库应用场景与设计

热门文章

  1. 【MyBatis】延迟加载
  2. 如何应用chatgpt优雅的作诗
  3. c语言画贝塞尔函数,Mathematica画各类贝塞尔函数
  4. 扩展名.EML的文件无法用OutLook直接打开的解决方法
  5. Python量化策略入门1-如何利用聚宽(JoinQuant)下载金融数据
  6. 努力、奋斗,写给自己、讲给你听
  7. Linux 中如何查询默认网关
  8. UpdatePanel学习
  9. mysql查找并删除记录_mysql 子查询删除记录
  10. centos 7 32位下载地址