html垂直居中方案及示例

html垂直居中方案及示例垂直居中方案整理及示例代码

一、Html中垂直居中的几个方法

1、利用绝对定位来实现垂直居中

a.利用transform样式旋转div实现

.content{ 
    height: 400px; width: 400px; box-sizing: border-box; border: 1px solid; } .box{ 
    width: 100px; height: 100px; line-height: 100px; text-align: center; box-sizing: border-box; background-color: #57faff; border: 1px dashed red; } .content_1{ 
    position: relative; } .box_1{ 
    position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } 
<div class="content content_1"> <div class="box box_1"> 
     div>  
      div> 

b.利用margin: auto实现

.content_2{ 
    position: relative; } .box_2{ 
    position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto; } 
<div class="content content_2"> <div class="box box_2"> 
     div>  
      div> 

2、flex布局

利用flex弹性布局

.content_3{ 
    display: flex; align-items: center; / 垂直居中 / justify-content: center; / 水平居中 / } 
<div class="content content_3"> <div class="box box_3"> 
     div>  
      div> 

3、table-cell实现水平垂直居中

让标签元素以表格单元格的形式呈现,使元素类似于td标签(ps: 水平居中,需要设置块状元素才能使用,否则无法居中)

.content_4{ 
    display: table-cell; vertical-align: middle; text-align: center; } .box_4{ 
    display: inline-block; / 设置成行内块元素 / } 
<div class="content content_4"> <div class="box box_4"> 
     div>  
      div> 

二、方案效果图

在这里插入图片描述

三、完成html页面代码

 
    DOCTYPE html> <html> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="title" content="垂直居中方案"> <meta name="author" content="cxj"> <style> body,html{ 
       height: 100%; width: 100%; font-size: 14px; } .main{ 
       display: flex; } .plan{ 
       margin-left: 20px; } .plan:first-of-type{ 
       margin-left: 0; } .title{ 
       margin-bottom: 5px; } .content{ 
       height: 400px; width: 400px; box-sizing: border-box; border: 1px solid; } .box{ 
       width: 100px; height: 100px; line-height: 100px; text-align: center; box-sizing: border-box; background-color: #57faff; border: 1px dashed red; } / 利用绝对定位,(top:50%;transform:translate(-50%,-50%)) / .content_1{ 
       position: relative; } .box_1{ 
       top: 50%; position: absolute; left: 50%; transform: translate(-50%,-50%); } / 利用绝对定位,(top/bottom/left/right:0;margin:auto;) / .content_2{ 
       position: relative; } .box_2{ 
       position: absolute; margin: auto; top: 0; bottom: 0; left: 0; right: 0; } / flex布局方法 / .content_3{ 
       display: flex; align-items: center; / 垂直居中 / justify-content: center; / 横向居中 / } / table-cell实现水平垂直居中: table-cell middle center组合使用 / .content_4{ 
       display: table-cell; / 只能是块状元素,否则只能垂直居中,无法水平居中 / vertical-align: middle; text-align: center; } .box_4{ 
       display: inline-block; / 设置成块状元素 / }  
      style>  
       html> <body> <div class="main"> <div class="plan"> <div class="title"> <div>垂直居中方案一: 
        div> <div>绝对定位 + transform 
         div>  
          div> <div class="content content_1"> <div class="box box_1"> 
           div>  
            div>  
             div> <div class="plan"> <div class="title"> <div>垂直居中方案二: 
              div> <div>绝对定位 + margin 
               div>  
                div> <div class="content content_3"> <div class="box box_3"> 
                 div>  
                  div>  
                   div> <div class="plan"> <div class="title"> <div>垂直居中方案三: 
                    div> <div>flex布局方法 
                     div>  
                      div> <div class="content content_3"> <div class="box box_3"> 
                       div>  
                        div>  
                         div> <div class="plan"> <div class="title"> <div>垂直居中方案四: 
                          div> <div>table-cell 
                           div>  
                            div> <div class="content content_4"> <div class="box box_4"> 
                             div>  
                              div>  
                               div>  
                                div>  
                                 body> 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/225604.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 上午8:56
下一篇 2026年3月17日 上午8:57


相关推荐

  • js算法初窥03(搜索及去重算法)

    前面我们了解了一些常用的排序算法,那么这篇文章我们来看看搜索算法的一些简单实现,我们先来介绍一个我们在实际工作中一定用到过的搜索算法——顺序搜索。1、顺序搜索其实顺序搜索十分简单,我们还是以第一篇

    2022年3月25日
    43
  • maven 打包命令的使用

    maven 打包命令的使用maven打包参数clean:clean能够保证上一次构建的输出不会影响到本次构建。package:命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库install:命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库deploy:命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其.

    2022年5月29日
    75
  • android反编译apk_apk反编译找不到

    android反编译apk_apk反编译找不到反编译代码:1、解压apk得到class.dex2、dex2jar.bat class.dex3、用Javadecompiler查看编译出来的*.jar文件就可以看到代码反编译资源文件:1、apktool.bat d *.apk  APKTool是GOOGLE提供的APK编译工具,需要JAVA运行环境,推荐使用JDK

    2026年1月14日
    4
  • bat脚本中怎么注释命令行

    bat脚本中怎么注释命令行注释内容按行注释 注释内容 按行注释 注释内容注意注释文本不能与已有标签重名 因为 也可定义标签 建议不用 避免混淆 goto 标签 注释一段内容

    2026年3月19日
    2
  • 与门或门非门逻辑表达式_与门非门是什么意思

    与门或门非门逻辑表达式_与门非门是什么意思文章目录前言正文与门或门非门与非门或非门异或门同或门后言前言本文记录自:https://www.bilibili.com/video/BV1Hv4y1f7wh将介绍以下八种逻辑门:正文与门相当于许多高级语言中的(且~A&&B)或门相当于许多高级语言中的(或~A||B)非门相当于许多高级语言中的(非~!A),与非门与门+非门—>!(A&&B)或非门或门+非门—>!(A||B)异或门相当于许多高级语言中的(

    2022年10月12日
    4
  • eclipse adt bundle不显示Android SDK菜单

    eclipse adt bundle不显示Android SDK菜单我把adtbundle拷贝到装有jdk1.5的电脑时,Eclipse死活不显示SDK的相关菜单。原因是jdk版本太低,只有1.6以上才会有。。eclipse.ini里限制jdk版本原来是有意的。安装了jdk1.6后,就能定制GUI了。eclipse中的window→Customize Perspective→Command Groups availability→Av

    2025年7月26日
    11

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号