CSS水平垂直居中(最常见的三种方案flex、grid、absolute)

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

本文简单介绍一下现代 CSS 中最常见的三种水平垂直居中方案。

html:

<div class="container">
  <div class="content"></div>
</div>

css:

.container {
  width: 500px;
  height: 500px;
  border: 1px solid #000;

  .content {
    width: 200px;
    height: 200px;
    background-color: #ccc;
  }
}

Flex 布局

方案1:父元素设置 flex 布局,并设置主轴以及交叉轴的对齐方式:

.container {
  width: 500px;
  height: 500px;
  border: 1px solid #000;
  display: flex;
  justify-content: center;
  align-items: center;

  .content {
    width: 200px;
    height: 200px;
    background-color: #ccc;
  }
}

方案2:父元素设置 flex 布局,子元素设置 margin: auto

.container {
  width: 500px;
  height: 500px;
  border: 1px solid #000;
  display: flex;

  .content {
    width: 200px;
    height: 200px;
    background-color: #ccc;
    margin: auto;
  }
}

Grid 布局

父元素设置 grid 布局,以及 place-items: centerplace-items 是 align-items 和 justify-items 的简写形式。

Grid 的兼容性不如 Flex,对于一些比较老的浏览可能不太支持。

.container {
  width: 500px;
  height: 500px;
  border: 1px solid #000;
  display: grid;
  place-items: center;

  .content {
    width: 200px;
    height: 200px;
    background-color: #ccc;
  }
}

绝对定位 absolute

使用绝对定位会使元素脱离文档流,一般常用于弹窗、对话框等。

父元素设置相对定位,子元素设置绝对定位,设置 top、left 以及 transform。

.container {
  position: relative;
  width: 500px;
  height: 500px;
  border: 1px solid #000;

  .content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 200px;
    height: 200px;
    background-color: #ccc;
  }
}

topleft属性都设置为50%。这会将.content元素的左上角定位到其父元素(.container)的中心。transform: translate(-50%, -50%);被应用到.content元素上。这会将.content元素自身向左和向上移动其自身宽度和高度的50%,从而使得.content元素的中心与其父元素的中心对齐,实现了居中。文章来源地址https://www.toymoban.com/news/detail-792288.html

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

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

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

相关文章

  • CSS 水平垂直居中的方式

    目录 在不知道子元素宽高的情况下,水平垂直居中的六种方式: 1、弹性盒子布局方式来实现(flex)。  2、绝对定位 + transform 3、table标签 4、display:table-cell 5、display: grid 6、writing-mode 属性 在实际使用最好测试下最低版本是否支持对应的实现方式,尽量选各个浏览器支持比

    2024年02月08日
    浏览(59)
  • 【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)
  • CSS实现元素水平垂直居中的各种方法

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

    2024年02月08日
    浏览(46)
  • css垂直水平居中的几种实现方式

    一、固定宽高: 1、定位 + margin-top + margin-left 设置父元素的position为相对定位,子元素绝对定位,并在 top 和 left 方向上移动父元素50%的距离。 但这个时候,是子元素的上边框和左边框距离父元素150px,整体向右下角偏了一些,所以还需要再用 margin 调整至中心位置,数值分别

    2024年01月18日
    浏览(48)
  • CSS使两个不同的div居中对齐的三种解决方案

    在CSS中,有多种方法可以让两个不同的div居中对齐,包括相对定位和绝对定位。以下是两种常见的方法: 方法一:使用Flexbox Flexbox是一个用于创建灵活布局的CSS3模块。使用Flexbox,可以很容易地对元素进行居中对齐。 HTML: CSS: 方法二:使用CSS Grid CSS Grid是另一个用于创建二维

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

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

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

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

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

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

    2024年02月13日
    浏览(54)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包