8种垂直居中的方法

八种垂直居中的方法垂直居中的需求经常遇到,通过资料实践了八种垂直居中的方法。以下的方法都围绕着该HTML展开HTML代码<divstyle=”width:300px;height:300px;”class=”wrap”><divstyle=”width:100px;height:100px”class=”box”></div></div>CSS方法1(常用):display:flex.wra

大家好,又见面了,我是你们的朋友全栈君。

八种垂直居中的方法

垂直居中的需求经常遇到,通过资料实践了八种垂直居中的方法。

以下的方法都围绕着该HTML展开
HTML代码

    <div class="wrap">
        <div class="box"></div>
    </div>

CSS
方法1(常用):display:flex

.wrap{ 
   
	width:300px;
	height:300px;
    border: 1px solid red;
    display:flex;
    justify-content:center;
    align-items:center;
}
.box{ 
   
	height:100px;
	width:100px
    boder:1px solid blue;
}

方法2: table-cell

vertical-align 属性设置一个元素的垂直对齐方式。
该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。这会使元素降低而不是升高。在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。

        .wrap{ 
   
            width: 300px;
            height: 300px;
            border: 1px solid red;
            display: table-cell;
            text-align: center;
            vertical-align: middle;
        }
        .box{ 
   
            width: 100px;
            height: 100px;
            border: 1px solid blue;
            display: inline-block;
        }

方法3: margin,transform配合

.wrap{ 
   
            width: 300px;
            height: 300px;
            background-color: pink;
            /* border: 1px solid red; */
            /*防止外边距塌陷。解决外边距塌陷的方法: 父元素加overflow:hidden或加上边框*/
            overflow: hidden;
        }
        .box{ 
   
            width: 100px;
            height: 100px;
            background-color: plum;
            margin:50% auto;
            transform: translateY(-50%); 
        }

方法4: inline-block+vertical-aligin

        .wrap { 
   
            width: 300px;
            height: 300px;
            background-color: pink;
            text-align: center;
            line-height: 300px;
        }
        .box { 
   
            width: 100px;
            height: 100px;
            /* 重新设置子元素的行高,否则会继承父元素的行高*/
            line-height: 100px;
            background-color: plum;
            display: inline-block;
            /* middle 把此元素放置在父元素的中部。 */
            vertical-align: middle;
        }

方法5:absolute+负margin

        .wrap{ 
   
            width: 300px;
            height: 300px;
            position: relative;
            background-color: plum;
        }
        .box{ 
   
            width: 100px;
            height: 100px;
            position: absolute;
            left: 50%;
            top: 50%;
            /*宽高的一半*/
            margin-left: -50px;
            margin-top: -50px;
            background-color: powderblue;
        }

方法6 absolute+margin:auto
和方法5类似,当宽度和高度未知时使用

        .wrap{ 
   
            width: 300px;
            height: 300px;
            position: relative;
            background-color: plum;
        }
        .box{ 
   
            width: 100px;
            height: 100px;
            position: absolute;
            left: 0;
            top: 0;
            bottom:0;
            right:0;
            margin:auto;
            background-color: powderblue;
        }

方法7:absolute+transform
与方法5类似

 .wrap { 
   
            width: 300px;
            height: 300px;
            position: relative;
            background-color: plum;
        }

        .box { 
   
            width: 100px;
            height: 100px;
            position: absolute;
            left: 50%;
            top: 50%;
            
            transform: translate(-50%,-50%);
            background-color: powderblue;
        }

方法8 强大的grid
阮一峰大佬Grid 网格布局教程

.wrap { 
   
            width: 300px;
            height: 300px;
            display: grid;
            background-color: plum;
        }

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

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

(0)
上一篇 2022年4月4日 上午6:35
下一篇 2022年4月4日 上午6:35


相关推荐

  • 微信小程序 轮播图自定义光标的位置

    微信小程序 轮播图自定义光标的位置如图轮播图的光标可以用定位来改变上下左右的位置wxml:&lt;!–startbanner–&gt;&lt;swiperclass=’home-swiper’autoplay=’true’bindchange=’changDot’interval=’4000’&gt;&lt;!–设置自动播放,切换间隔时间–&gt;&lt;swiper-it…

    2022年5月21日
    41
  • stm32编程步骤_单片机STM32

    stm32编程步骤_单片机STM32近几年来,从云计算、大数据到机器学习、AI、物联网,各种新潮的技术概念一波~~接一波。于是就产生了一些好奇心旺盛,抱着去凑一凑热闹的心态,实际上却是也想分一杯羹儿的程序员!但问题是,在他们的技术栈里,一切…

    2025年9月26日
    9
  • 我给大家整理了50个开源的Java项目

    我给大家整理了50个开源的Java项目大家好,我是孟哥。在学习交流群,其他小伙伴总是问我:孟哥,项目能不能搞得全一些。我想一次学个够。撸完50个项目,我住院了,但是好在项目总结完了。孟哥花了好几天,一次撸了50个项目给大家,非常的香,技术、知识非常的的全面。学起来贼带劲。源码开源,关注+评论(50个源码)+转发,私信我获取源码。系统的截图如下所示:源码开源,关注+评论(50个源码)+转发,私信我获取源码。…

    2022年7月7日
    22
  • 龙虾AI(OpenClaw)概念股全梳理与解读

    龙虾AI(OpenClaw)概念股全梳理与解读

    2026年3月13日
    2
  • html中bgsound背景音乐标签在浏览器里无法播放[通俗易懂]

    html中bgsound背景音乐标签在浏览器里无法播放[通俗易懂]1.原代码:问题:经过尝试,发现仅仅只有IE浏览器可以支持自动播放,但是需要先进行添加控件(自动弹出)。其他浏览器不支持自动播放。查找W3C后发现是bgsound的兼容性

    2022年7月25日
    34
  • QTreeWidget 简介「建议收藏」

    QTreeWidget 简介「建议收藏」版权声明:如有使用转载,请附加出处 https://blog.csdn.net/jia666666/article/details/81668590 QTreeWidgetQTreeWidget类中的常用方法方法描述setColumnWidth(intcolumn,intwidth)将指定列的宽度设置为给定的值Column:…

    2022年10月1日
    5

发表回复

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

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