css垂直水平居中的几种实现方式

这篇具有很好参考价值的文章主要介绍了css垂直水平居中的几种实现方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

垂直水平居中的几种实现方式

一、固定宽高:

1、定位 + margin-top + margin-left

  .box-container{
	    position: relative;
      width: 300px;
	    height: 300px;
	}
	.box-container .box {
	    width: 200px; 
	    height: 100px;
	    position: absolute; 
	    left: 50%; 
	    top: 50%;
	    margin-top: -50px;    /* 高度的一半 */
	    margin-left: -100px;    /* 宽度的一半 */
}

设置父元素的position为相对定位,子元素绝对定位,并在 top 和 left 方向上移动父元素50%的距离。

但这个时候,是子元素的上边框和左边框距离父元素150px,整体向右下角偏了一些,所以还需要再用 margin 调整至中心位置,数值分别是高度和宽度的一半。

2、定位 + margin

.box-container{
    position: relative;
    width: 300px;
	  height: 300px;
}
.box {
    width: 100px;
    height: 100px;
    position: absolute; 
    left: 0; 
    top: 0; 
    right: 0; 
    bottom: 0;
    margin: auto;
}

同样是使用绝对定位,但四个方向的偏移量全都为0,之后设置 margin:auto 分配剩余空间,令元素的均匀拖拽至父元素的中心位置。

1、transform 方案

.box-container{
    position: relative;
    width: 300px;
	  height: 300px;
}
.box {
    position: absolute;
    width: 100px;
    height: 100px;
    left: 50%; 
    top: 50%;
    transform: translate(-50%, -50%);    
}

在子元素上设置,transform: translate(-50%, -50%); 用于平面的2D转换,后面的百分比以自身的宽高为参考,定位后将元素的左上角置于父级中央,之后再用 transform 进行偏移,相当于上面设置的 margin-top 和 margin-left。

二、未知宽高

2、flexbox 方案

.box-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

设置父元素为 flex 弹性盒模型,并在主轴和副轴上设置居中

3、grid方案

css网格布局文章来源地址https://www.toymoban.com/news/detail-799968.html

.wp {
    display: grid;
}
.box {
    align-self: center;
    justify-self: center;
}

到了这里,关于css垂直水平居中的几种实现方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CSS实现盒子模型水平居中、垂直居中、水平垂直居中的多种方法

    水平居中效果图 水平居中 全局样式 第一种:margin+width 这种方法适用于已经知道width的盒子,实现起来比较简单 第二种:text-align+inline-block 这种方法适用于多种场景(width不固定) 第三种:float+position 这种方法适用于多种场景(width不固定) 第四种: 这种方法适用于多种场

    2024年02月09日
    浏览(67)
  • 常用的几种布局方式---Flex 布局(垂直居中展示)

    怎样让一个元素在垂直或者水平方向居中显示,可以使用css解决,但是会出现不同浏览器的兼容性问题,而flex布局解决了一个父容器和多个子元素的布局问题,从而灵活布局。 代码展示 在父标签加入display:flex后 垂直布局变成水平布局,如下图所示 在父标签中修改 后又变成

    2024年01月19日
    浏览(52)
  • CSS实现元素水平垂直居中的各种方法

    关于 CSS 如何将元素进行水平垂直居中的几种常用方法 前言         在设计网页页面的过程中,总会有将元素或者文字进行水平或者垂直居中的要求,各种CSS样式调整,搞的头都大了。这里将会介绍 CSS 中几种常用到的水平垂直居中的方法,希望能够对你有所帮助。 接下

    2024年02月08日
    浏览(46)
  • 【前端 | CSS系列】—— 第1篇:如何实现水平垂直居中对齐?

    单纯的元素 左右居中 对齐: 块级元素 可以使用 magrin: 0 auto ; 非块级元素 使用 text-align: center;

    2024年02月13日
    浏览(51)
  • css 实现 html 元素内文字水平垂直居中的N种方法

            上一篇博文写了div 中元素居中的N种常用方法,那么单个html元素:div(块级元素代表),span(行内元素代表)中的文字如何水平垂直都居中呢?实现方法如下:         本文例子使用的 html body结构下的模型如下:         例子居中效果都如下图: 注:当把div

    2024年02月13日
    浏览(54)
  • 元素的水平居中和垂直几种方案

    总结一下各种元素的水平居中和垂直居中方案。 定义行内内容(例如文字)如何相对它的块父元素对齐 ; 不仅可以让文字水平居中,还可以让 行内元素 水平居中 注意:给行内元素的父元素设置 left:左对齐 right:右对齐 center:正中间显示  justify:两端对齐  设置当前块级

    2024年02月06日
    浏览(43)
  • CSS水平垂直居中

    1.利用定位 + margin:auto 2.flex布局 3.grid布局 一、利用position+margin:auto  二、利用flex 三、gird布局

    2024年02月14日
    浏览(43)
  • 【CSS 布局】水平垂直方向居中

    单行元素 方式一: relative 和 absolute 方式二: relative 和 absolute (变种,适合于宽高固定) 方式三: flex 和 margin 方式四: flex 方式五: flex 多行元素

    2024年02月13日
    浏览(43)
  • CSS元素水平垂直居中的方法

    父级设置为 相对定位 ,子级 绝对定位 ,并且四个定位属性的值都设置了 0 ,那么这时候 如果子级没有设置宽高,则会被拉开到和父级一样宽高 这里子元素 设置了宽高 ,所以宽高会按照我们的设置来显示,但是实际上 子级的虚拟占位已经撑满了整个父级 ,这时候再给它一

    2023年04月09日
    浏览(38)
  • 面试:CSS让一个元素水平垂直居中

    水平居中 对于 行内元素 : text-align: center ; 对于确定宽度的块级元素: (1)width和margin实现。 margin: 0 auto ; (2)绝对定位和margin-left: (父width - 子width)/2, 前提是父元素position: relative 对于宽度未知的块级元素 (1) table标签配合margin左右auto实现水平居中 。使用table标签(或直

    2024年02月06日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包