CSS水平居中+垂直居中+水平/垂直居中的方法总结

CSS水平居中+垂直居中+水平/垂直居中的方法总结nbsp 目录水平居中 nbsp 行内元素 nbsp 块级元素方案一 分宽度定不定两种情况 方案二 使用定位属性方案三 使用 flexbox 布局实现 宽度定不定都可以 垂直居中单行的行内元素多行的行内元素 nbsp 块级元素水平垂直居中已知高度和宽度的元素未知高度和宽度的元素方案一 使用定位属性方案二 使用 flex 布局实现水平居中 nbsp 行内元素 首先看它的父元

 

目录

水平居中 

行内元素

 块级元素

方案一:(分宽度定不定两种情况)

方案二:使用定位属性

方案三:使用flexbox布局实现(宽度定不定都可以)

垂直居中

单行的行内元素

多行的行内元素

 块级元素

水平垂直居中

已知高度和宽度的元素

未知高度和宽度的元素

方案一:使用定位属性

方案二:使用flex布局实现


水平居中 

  • 行内元素

首先看它的父元素是不是块级元素,如果是,则直接给父元素设置 text-align: center; 

 
   
    我是行内元素

如果不是,则先将其父元素设置为块级元素,再给父元素设置 text-align: center;

      我是行内元素 

效果:

CSS水平居中+垂直居中+水平/垂直居中的方法总结


  •  块级元素

方案一:(分宽度定不定两种情况)

定宽度:需要谁居中,给其设置 margin: 0 auto; (作用:使盒子自己居中)

 
    
   
我是块级元素

效果:

CSS水平居中+垂直居中+水平/垂直居中的方法总结

 不定宽度:默认子元素的宽度和父元素一样,这时需要设置子元素为display: inline-block; 或 display: inline;即将其转换成行内块级/行内元素,给父元素设置 text-align: center; 

 
    
   
我是块级元素

效果:(将#son转换成行内元素,内容的高度撑起了#son的高度,设置高度无用)

CSS水平居中+垂直居中+水平/垂直居中的方法总结


方案二:使用定位属性

首先设置父元素为相对定位,再设置子元素为绝对定位,设置子元素的left:50%,即让子元素的左上角水平居中;

定宽度:设置绝对子元素的 margin-left: -元素宽度的一半px; 或者设置transform: translateX(-50%);

 
     
我是块级元素

不定宽度:利用css3新增属性transform: translateX(-50%);

 
     
我是块级元素

效果:

CSS水平居中+垂直居中+水平/垂直居中的方法总结


方案三:使用flexbox布局实现(宽度定不定都可以)

使用flexbox布局,只需要给待处理的块状元素的父元素添加属性 display: flex; justify-content: center;

 
      
我是块级元素

效果: 

CSS水平居中+垂直居中+水平/垂直居中的方法总结


垂直居中

  • 单行的行内元素

只需要设置单行行内元素的”行高等于盒子的高”即可;

 
       
我是单行的行内元素

效果:

CSS水平居中+垂直居中+水平/垂直居中的方法总结

 


  • 多行的行内元素

使用给父元素设置display:table-cell;vertical-align: middle;属即可;

 
        
我是多行的行内元素我是多行的行内元素我是多行的行内元素我是多行的行内元素我是多行的行内元素我是多行的行内元素我是多行的行内元素我是多行的行内元素

效果:

CSS水平居中+垂直居中+水平/垂直居中的方法总结


  •  块级元素

方案一:使用定位

首先设置父元素为相对定位,再设置子元素为绝对定位,设置子元素的top: 50%,即让子元素的左上角垂直居中;

定高度:设置绝对子元素的 margin-top: -元素高度的一半px; 或者设置transform: translateY(-50%);

 
         
我是块级元素

不定高度:利用css3新增属性transform: translateY(-50%);

 
         
我是块级元素

效果:

CSS水平居中+垂直居中+水平/垂直居中的方法总结


方案二:使用flexbox布局实现(高度定不定都可以)

使用flexbox布局,只需要给待处理的块状元素的父元素添加属性 display: flex; align-items: center;

 
          
我是块级元素

效果: 

CSS水平居中+垂直居中+水平/垂直居中的方法总结


水平垂直居中

  • 已知高度和宽度的元素

方案一:设置父元素为相对定位,给子元素设置绝对定位,top: 0; right: 0; bottom: 0; left: 0; margin: auto;

 
           
我是块级元素

效果:

CSS水平居中+垂直居中+水平/垂直居中的方法总结


方案二:设置父元素为相对定位,给子元素设置绝对定位,left: 50%; top: 50%; margin-left: –-元素宽度的一半px; margin-top: –-元素高度的一半px;

 
            
我是块级元素

效果:

CSS水平居中+垂直居中+水平/垂直居中的方法总结


  • 未知高度和宽度的元素

方案一:使用定位属性

设置父元素为相对定位,给子元素设置绝对定位,left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%);

 
             
我是块级元素

效果:

CSS水平居中+垂直居中+水平/垂直居中的方法总结


方案二:使用flex布局实现

设置父元素为flex定位,justify-content: center; align-items: center;

 
              
我是块级元素

效果:

CSS水平居中+垂直居中+水平/垂直居中的方法总结

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2026年3月26日 下午2:15
下一篇 2026年3月26日 下午2:15


相关推荐

  • python3实现AES加密

    python3实现AES加密前言这几天研究了一下 python 实现 AES 加密 有很多坑 AES 加密的参数及其条件这个 AES 加密的主要坑就在于这些条件 首先 aes 加密有一下几个参数秘钥 加密的时候用秘钥 解密的时候需要同样的秘钥才能解出来明文 需要加密的参数模式 aes 加密常用的有 ECB 和 AES 模式 我只用了这两个模式 还有其他模式 iv 偏移量 这个参数在 ECB 模式下不需要 在

    2026年3月16日
    2
  • Layui分页_pagehelper分页使用

    Layui分页_pagehelper分页使用本文介绍了LayUI分页,LayUI动态分页,LayUIlaypage分页,LayUIlaypage刷新当前页,分享给大家,具体如下:效果图:一、引用js依赖主要是jquery-1.11.3.min.js和layui.all.js,json2.js用来做json对象转换的二、js分页方法封装(分页使用模板laytpl)1、模板渲染/***分页模板的渲染方法*@paramtemp…

    2025年7月4日
    4
  • nextSibling的兼容问题「建议收藏」

    nextSibling的兼容问题「建议收藏」这个有两个兼容性,innerText不是所有浏览器都兼容的,要用innerHTML 然后就是,对于节点关系,ie有事会将期间的空格当成一个文本节点,但火狐就不会,因此你的nextSibling很可能在ie下取到的是一个文本节点,换在火狐下就是另外一个。本文转自:http://ailantian.bokee.com/6418694.html原文如下:网

    2022年7月13日
    17
  • menuconfig 语法

    menuconfig 语法menuconfig语法在Kconfig中定义的配置宏,前缀都没有CONFIG_,只有编译内核时,自动生成autoconf.h才会出现前缀.如果XX_defconfig板卡配置文件中定义新的宏=y时,而在Kconfig并没有声明它,则内核编译出来的autoconf.h里也不会定义它的.如果XX_defconfig板卡配置文件中没有设置CONFIG_MODULES=y则编译makemodules时将会失败,而m

    2022年6月9日
    55
  • C#代码集

    C#代码集C#入门代码示例记录一、示例静态计算工具类1publicstaticclassCalculator2{3publicstaticdoubleAdd(doublea,doub

    2022年7月1日
    40
  • Ubuntu安装谷歌_谷歌地球手机专业版

    Ubuntu安装谷歌_谷歌地球手机专业版在Ubuntu18.04中安装谷歌地球GoogleEarthGoogleEarth在Linux系统中(Ubuntu18.04)的安装方法1.安装必备组建2.下载GoogleEarth安装包3.安装GoogleEarth4.开启运行GoogleEarthGoogleEarth在Linux系统中(Ubuntu18.04)的安装方法1.安装必备组建使用gdebi在我们的系统上安装Goo…

    2025年12月11日
    5

发表回复

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

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