水平居中、垂直居中的几种方法

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

 1、水平居中的方法:

① 若是针对inline, 内联块inline-block, 内联表inline-table, inline-flex元素及img,span,button等元素

父元素设置 text-align:center;

或者用绝对定位、弹性布局、grid网格布局实现;

② 不定宽块状元素

设置 margin:0 auto;

或者用绝对定位、弹性布局、grid网格布局、table表布局实现;

grid网格布局:阮一峰 CSS Grid 网格布局教程: CSS Grid 网格布局教程 - 阮一峰的网络日志

.farther {
   display: grid;
   justify-content: center;
 }

table表布局: 

.father {
    display: table;
}

.children {
    display: table-cell;
    text-align: center; 
}

 2、垂直居中的方法:          

① 若为单行内联(inline-)元素:

通过设置内联元素的高度(height)和行高(line-height)相等,从而使元素垂直居中;

或者用绝对定位、弹性布局、table表布局、grid网格布局实现;

② 不定宽块状元素:

绝对定位、弹性布局、table表布局、grid网格布局;

grid网格布局:

.farther {
     display: grid;
     justify-content: center;
     align-content: center;
 }

table表布局:

.father {
    display: table;
}

.children {
    display: table-cell;
    vertical-align: middle;
    text-align: center; 
}

3、总结 

CSS 垂直居中有哪些实现方式?- 题目详情 - 前端面试题宝典

4、水平垂直居中的实现

① 绝对定位 +  translate

利用绝对定位,先将元素的左上角通过 top:50%和 left:50%定位到页面的中心,然后再通过 translate 来调整元素的中心点到页面的中心。 该方法需要考虑浏览器兼容问题。

      .parent {
        position: relative;
      }
      .child {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
      }

② 绝对定位 +  margin: auto

利用绝对定位,设置四个方向的值都为 0,并将 margin 设置为 auto。由于宽高固定,因此对应方向实现平分,可以实现水平和垂直方向上的居中。该方法适用于盒子有固定宽高的情况。

      .parent {
        position: relative;
      }
      .child {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
      }

③ 绝对定位 +  margin: 负值

利用绝对定位,先将元素的左上角通过 top:50%和 left:50%定位到页面的中心,然后再通过 margin 负值来调整元素的中心点到页面的中心。该方法适用于盒子宽高已知的情况。

      .parent {
        position: relative;
      }
      .child {
        width: 100px;
        height: 100px;
        position: absolute;
        left: 50%;
        top: 50%;
        margin-left: -50px; // 自身宽度的一半
        margin-top: -50px; // 自身高度的一半
      }

④ flex布局

利用 flex 布局,通过 align-items:center 和 justify-content:center 设置容器的垂直和水平方向都为居中对齐,然后它的子元素也可以实现垂直和水平的居中。该方法要考虑兼容的问题,该方法在移动端用的较多。文章来源地址https://www.toymoban.com/news/detail-418747.html

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

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

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

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

相关文章

  • 面试常问:水平居中和垂直居中的方法

    文本居中 如果元素为行内元素,可以将父元素的text-align属性设置为center,这样子元素就会水平居中对齐 固定宽度的居中 如果元素宽度已知并固定,可以通过将左右margin设置为auto来实现水平居中。 绝对定位和移动 可以使用绝对定位和transform来实现水平居中。首先将元素的左

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

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

    2024年01月19日
    浏览(50)
  • 前端div水平居中的几种实现方式

    父元素开启 display:flex 布局,并设置 justify-content:center 主轴的空隙分布 因为是单行,所以使用 align-items:center 设置侧轴上的对其方式 啊啊啊 借助这一条规则 文章: https://www.zhihu.com/question/21644198/answer/42702524 https://www.w3.org/TR/CSS2/visudet.html#blockwidth top、left、right、bottom 设置百分比基

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

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

    2023年04月09日
    浏览(38)
  • CSS实现元素水平垂直居中的各种方法

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

    2024年02月08日
    浏览(46)
  • CSS图片水平垂直居中的三种方法

    我们知道img元素为行内快元素,所以首先设置图片元素的父元素里文字水平居中,行高与整体高度一致。 其次最重要的是设置图片元素的vertical-align属性为middle,该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐方式。 代码示例: 具体方式是先使用定位让图

    2024年02月13日
    浏览(46)
  • Android Studio最新版本中实现TextView字体加粗、水平居中和垂直居中的方法

    Android Studio最新版本中实现TextView字体加粗、水平居中和垂直居中的方法 在Android应用程序开发中,TextView是常用的控件之一,用于在界面上显示文本内容。有时候我们需要对TextView进行样式和布局的设置,比如将字体加粗、水平居中和垂直居中。本文将介绍如何在最新版本的

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

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

    2024年02月13日
    浏览(51)
  • 实现div元素和文字水平及垂直居中的方法(超简单,适应各种场合)

    实现实现div元素和文字水平及垂直居中的方法如下: div元素水平居中: style=\\\"margin:0 auto\\\" div元素垂直居中: style=\\\"padding: (外层div的高-内层div的高)/2; background-clip:content-box; \\\" div文字水平居中: 外层div中style=\\\"text-align: center; \\\" div文字垂直居中: 内层div中style=\\\"line-height: 外层div的高

    2024年02月13日
    浏览(42)
  • css-4:元素水平垂直居中的方法有哪些?如果元素不定宽高呢?

    1、背景 在开发中,经常遇到这个问题,即让某个元素的内容在水平和垂直方向上都居中,内容不仅限于文字,可能是图片或其他元素。 居中是一个非常基础但又是非常重要的应用场景,实现居中的方法存在很多,可以将这些方法分成两个大类。 居中元素(子元素)的宽高已

    2024年02月14日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包