Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 ><布局>子级相对级居中对齐的几种方式

<布局>子级相对级居中对齐的几种方式

作者头像
zhaoolee
发布于 2018-04-19 09:05:25
发布于 2018-04-19 09:05:25
1.5K00
代码可运行
举报
文章被收录于专栏:木子昭的博客木子昭的博客
运行总次数:0
代码可运行
一. 父元素相对定位, 子元素绝对定位,然后右下偏移top: 50%; left: 50%; 再反向偏移transform: transtlate(-50%, -50%), 如果知道子元素的宽高, 也可以直接把反向偏移写死
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <style>
        .absolute001{

            position: relative;

        }
        .absolute001 .son{

            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
        }
    </style>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <style>
        .absolute002{

            position: relative;


        }

        .absolute002 .son{

            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-25px, -50px);


        }



    </style>
二: 与第一种类似,但比较hack, 父元素相对定位,子元素绝对定位,设置margin: auto; 上下左右都为0
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <style>
        .absolute003{

            position: relative;

        }

        .absolute003 .son{

            position: absolute;
            margin: auto;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;

        }

    </style>
三. 父元素使用flex布局, 横向居中, 纵向居中
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <style>
        .flex001{

            display: flex;
            justify-content: center;
            align-items: center;

        }

    </style>
完整测试:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>元素居中</style>
    <style>


        .father{

            width: 500px;
            height: 200px;
            background-color: #ea6f5a;
            border: 1px solid #d29922;
            margin: 0 auto;
            color: #fdf6e3;
        }

        .son{
            width: 200px;
            height: 100px;
            background-color: #0c8ac5;
        }



    </style>
</head>
<body>

<div class="father absolute001">
    <style>
        .absolute001{

            position: relative;

        }
        .absolute001 .son{

            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
        }
    </style>
    <div class="son">绝对定位: 无需知道子元素宽高</div>
</div>


<div class="father absolute002">
    <style>
        .absolute002{

            position: relative;


        }

        .absolute002 .son{

            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-100px, -50px);


        }



    </style>
    <div class="son">绝对定位: 需要知道子元素宽高(比较low)</div>
</div>


<div class="father absolute003">
    <style>
        .absolute003{

            position: relative;

        }

        .absolute003 .son{

            position: absolute;
            margin: auto;
            left: 0;
            right: 0;
            top: 0;
            bottom: 0;



        }


    </style>
    <div class="son">绝对定位: 无需知道子元素宽高(hack玩法, 记得margin: auto)</div>
</div>


<div class="father flex001">

    <style>
        .flex001{

            display: flex;
            justify-content: center;
            align-items: center;

        }



    </style>


    <div class="son">flex定位:无需知道子元素宽高(好用, 推荐)</div>
</div>

</body>
</html>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.03.08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
老板的手机收到一个红包,为什么红包没居中?
如何让一个子元素在父容器里水平垂直居中?这个问题必考,在实战开发中,也应用得非常多。
WecTeam
2019/12/16
1K0
老板的手机收到一个红包,为什么红包没居中?
水平居中和垂直居中
本章介绍几种常见的水平居中和垂直居中的实现方式 <!DOCTYPE html> <html> <head> <title>水平居中和垂直居中</title> <meta charset="utf-8"> </head> <style type="text/css"> .box { /* 在一个基础的盒子里面显示效果 */ position: relative; float: left; width: 250px; h
echobingo
2018/04/25
3K0
水平居中和垂直居中
CSS实现元素居中原理解析
在 CSS 中要设置元素水平垂直居中是一个非常常见的需求了。但就是这样一个从理论上来看似乎实现起来极其简单的,在实践中,它往往难住了很多人。
laixiangran
2018/07/25
6630
说说各种居中
1.毫无疑问,绝对定位居中是本人最喜欢、使用次数最多的居中方式。通过设定position为absolute,将使div脱离文档流,left、top、right、bottom设置为0,使目标盒填充其父元素的所有可用空间,父元素一般为body,或者position设置为relative的容器。设置高度或宽度后,margin: auto会促使该块在水平方向和垂直方向居中。
用户9127725
2022/08/08
6010
(2019)[前端]面试题[6]:水平垂直居中方法
如果已知子元素宽高度,那么transform: translate(width/2,height/2);一样的效果。
无道
2019/11/13
7010
(2019)[前端]面试题[6]:水平垂直居中方法
CSS实现水平垂直居中的1010种方式(史上最全)
要实现上图的效果看似很简单,实则暗藏玄机,本文总结了一下CSS实现水平垂直居中的方式大概有下面这些,本文将逐一介绍一下,我将本文整理成了一个github仓库
全栈程序员站长
2022/06/29
1K0
【垂直居中高级篇】你不知道的垂直居中方式
      在Css中对元素进行水平居中是很简单的,如果他是一个行内元素,对它的父元素应用text-align:center;如果是一个块级元素,就对自身应用margin:auto。然而如果要对一个元素进行垂直居中,想想就头皮发麻。本文主要探索以Css3为基础进行元素的垂直居中,对当下流行的几种技巧不做讨论,原因如下: 表格布局法:需要用到一些冗余的HTML元素 行内块法:这个方法Hack味道过浓。 一、基于绝对定位的垂直居中 以下两种技巧都需要使用绝对定位 calc实现 内容部分必须固定宽和高 tra
sam dragon
2018/01/17
1K0
CSS&HTML面经专题——(三)CSS定位/盒模型/经典布局/浮动布局与BFC
position:static | relative | absolute | fixed | center | page | sticky
玖柒的小窝
2021/10/26
2.1K0
CSS&HTML面经专题——(三)CSS定位/盒模型/经典布局/浮动布局与BFC
前端面试经典问题:CSS中居中的几种方式
作为面试常客,学会这些,面试多点把握,同学间逼格升高 周五,老大说他面试了一个问题,是css居中的问题,然后我们在这边就讨论了一番,周末嗨玩,尾巴上想起这件事,特来总结,希望能帮助到求职和学习的朋友! 参考了这篇文章,快速传送门内容都是我手敲实践过的可靠! ![](img1.jpg)这类的其实是img标签,这个markdown转换有问题,特来提醒 1.水平居中的 margin:0 auto; 关于这个,大家也不陌生做网页让其居中用的比较多, 这个是用于子元素上的,前提是不受float影响 <style>
用户1667431
2018/04/18
1.3K0
前端面试经典问题:CSS中居中的几种方式
CSS实现居中效果
这种方法可以让 inline/inline-block/inline-table/inline/flex 等类型的元素实现居中。
十玖八柒
2022/07/30
4.5K0
前端开发中各类型居中方式总结
前端开发中经常用到的就是元素居中,有时候不同的元素居中方式不同就忘记了,明明已经设置了居中,但却没有效果,搞得人很懵逼,还得去搜索一下,所以今天总结了一下,方便以后查用。
岳泽以
2022/10/26
6410
前端开发中各类型居中方式总结
margin:auto实现水平垂直居中
但,这种方法有一个很明显的不足,就是需要提前知道元素的尺寸。否则margin负值的调整无法精确。此时,往往要借助JS获得。
javascript.shop
2019/09/04
2.2K0
CSS实现垂直居中布局
首先将<html>与<body>的高度设置为100%(为演示父元素不定宽高的效果),并清除<body>的默认样式
WindRunnerMax
2020/08/27
2K0
利用CSS,如何把宝姐居中显示?
作为一个前端开发者,使用 CSS 使元素居中,大家都写过,而且不止一次的那种,本文就通过一个案例,为大家介绍几个图片居中方案,看看你学废了吗?
干货助手
2022/11/02
1.5K0
利用CSS,如何把宝姐居中显示?
HTML & CSS页面布局之定位
默认情况下,HTML元素都在标准流中呈现和展示。我们之前把元素分为块级元素,行内元素,行内块级元素,他们的特性是块级独占一行,行内和行内块级可以在一行内共存,这些特性都是针对标准流的。总结一下就是,标准流中元素只能在水平或垂直方向上排版。如果元素是块级元素, 那么就会垂直排版,如果元素是行内元素/行内块级元素, 那么就会水平排版。
用户5997198
2020/05/12
5.8K0
如何实现水平垂直居中如何实现一个块级元素的水平垂直居中
详情查看https://www.runoob.com/w3cnote/flex- grammar.html
前端小tips
2021/11/27
1.4K0
如何实现水平垂直居中如何实现一个块级元素的水平垂直居中
CSS中关于元素居中的方法总结(超全)
css中一个很重要的问题,就是关于元素的居中,包括水平居中,垂直居中,本文就是为大家总结了:css中对于行内元素与块级元素不同的居中方法.
用户9914333
2022/07/21
3.7K0
实现div里的img图片水平垂直居中
方法一: 将display设置成table-cell,然后水平居中设置text-align为center,垂直居中设置vertical-align为middle。
全栈程序员站长
2022/08/22
3.4K0
实现div里的img图片水平垂直居中
CSS之垂直水平居中的背后
  最开始,我想说,这个体系有点大,我写的并不好。就当作是一个思路吧,虽然这个思路有点乱。几乎每一个实现方案的背后都是该属性及其组合的原理,每一个都要剖析其规范细节的话,这篇文章绝不会是这样的篇幅,所以每当需要说更多的时候我都简单阐述后一笔带过,然后附上参考资料。后面若是写css系列的时候再详细讲吧。
zaking
2022/09/28
1.8K0
CSS之垂直水平居中的背后
HTML 水平居中 垂直居中 垂直水平居中的几种实现方式「建议收藏」
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说HTML 水平居中 垂直居中 垂直水平居中的几种实现方式「建议收藏」,希望能够帮助大家进步!!!
Java架构师必看
2022/05/22
6.5K0
HTML 水平居中 垂直居中 垂直水平居中的几种实现方式「建议收藏」
推荐阅读
相关推荐
老板的手机收到一个红包,为什么红包没居中?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验