前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >HTML盒子水平垂直居中

HTML盒子水平垂直居中

作者头像
切图仔
发布于 2022-09-08 07:06:06
发布于 2022-09-08 07:06:06
3.7K00
代码可运行
举报
文章被收录于专栏:生如夏花绚烂生如夏花绚烂
运行总次数:0
代码可运行

以前我们使定位的盒子水平/垂直居中可能是这样的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    .father{
            width:300px;
            height:200px;
            border:1px solid red;
            margin: 100px auto;
            position: relative;
        }
        .son{
            width:70px;
            height:50px;
            background: skyblue;
            position: absolute;
            left:50%;
            margin-left: -35px;


        }

父元素设置相对定位,子元素绝对定位,左边父元素的50% 效果如下

可见盒子还是向右边偏了一点,这是由于子盒子自身宽度的原因,我们只需使子盒子在向左移动自身宽度的一半,即可实现水平居中

因此我们可能会这样做

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
margin-left: -35px;

子盒子原宽度70px 向左移动自身宽度的一半确实能解决问题

但这个宽度是我们自己算出来的,如果盒子的宽度不能整除怎么办?是不是有点麻烦。

前面一篇文章提到过transform属性

transform:translate(x,y)如果单位为像素,则相对于父元素移动,如果单位为百分比则相对于自身移动

有了这个特性我们这里就很好解决了,将原来的margin-left替换为transform:translateX(%)即可

垂直居中同理。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.son{
            width:70px;
            height:50px;
            background: skyblue;
            position: absolute;
            left:50%;
            /*margin-left: 20%;*/
            transform: translateX(-50%);


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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
8种垂直居中的方法
方法6 absolute+margin:auto 和方法5类似,当宽度和高度未知时使用
全栈程序员站长
2022/07/21
2520
多个CSS 居中方案,你可能还不知道!水平居中垂直居中水平垂直居中
最近开源了一个 Vue 组件,还不够完善,欢迎大家来一起完善它,也希望大家能给个 star 支持一下,谢谢各位了。
前端小智@大迁世界
2021/01/18
3.1K0
用CSS实现居中的总结
行内或者行内块元素居中 1.单行竖直居中 给行内元素添加上下相同大小的padding值即可 设置元素的line-height等于父容器的高度,也可以竖直居中 使用弹性盒子Flex后,设置align-items为center 涉及到图片文字混排竖直居中使用vertical-align,可以使用伪元素加入以下代码 container::after{ content:''; display:inline; vertical-align:middle; } 2.多行文字竖直居中 设置padd
卡少
2018/05/16
7520
margin:auto实现水平垂直居中
但,这种方法有一个很明显的不足,就是需要提前知道元素的尺寸。否则margin负值的调整无法精确。此时,往往要借助JS获得。
javascript.shop
2019/09/04
2.2K0
实现div里的img图片水平垂直居中
方法一: 将display设置成table-cell,然后水平居中设置text-align为center,垂直居中设置vertical-align为middle。
全栈程序员站长
2022/08/22
3.4K0
实现div里的img图片水平垂直居中
div盒子水平垂直居中方法
这是最简单的方法,不仅能实现绝对居中同样的效果,也支持联合可变高度方式使用。内容块定义transform: translate(-50%,-50%)  必须加上
Daotin
2018/08/31
2K0
第212天:15种CSS居中的方式,最全了
CSS居中是前端工程师经常要面对的问题,也是基本技能之一。今天有时间把CSS居中的方案整理了一下,目前包括水平居中,垂直居中及水平垂直居中方案共15种。如有漏掉的,还会陆续的补充进来,算做是一个备忘录吧。
半指温柔乐
2018/09/11
6430
CSS完成元素水平垂直居中
首先这个元素和它的父元素都要设置定位,其中这个要水平垂直居中的元素需设置绝对定位absolute, 然后再给它设置样式{left: 0;right: 0;top: 0;bottom: 0;margin:auto;}。这样便可以实现元素在父容器里垂直居中显示了。
colezhou
2019/11/24
1.5K0
前端开发中各类型居中方式总结
前端开发中经常用到的就是元素居中,有时候不同的元素居中方式不同就忘记了,明明已经设置了居中,但却没有效果,搞得人很懵逼,还得去搜索一下,所以今天总结了一下,方便以后查用。
岳泽以
2022/10/26
6290
前端开发中各类型居中方式总结
【前端攻略】最全面的水平垂直居中方案与flexbox布局
最近又遇到许多垂直居中的问题,这是Css布局当中十分常见的一个问题,诸如定长定宽或不定长宽的各类容器的垂直居中,其实都有很多种解决方案。而且在Css3的flexbox出现之后,解决各类居中问题变得更加容易了。搜了搜园子内关于flexbox的文章觉得很多不够详尽,故想借介绍flexbox的同时好好总结一番各类垂直居中的方法。由简至繁: 行内元素的水平居中     要实现行内元素(<span>、<a>等)的水平居中,只需把行内元素包裹在块级父层元素(<div>、<li>、<p>等)中,并且在父层元素CSS设置如
Sb_Coco
2018/05/28
1.4K0
水平垂直居中的六种方法
绝对定位方法:不确定当前div的宽度和高度,采用 transform: translate(-50%,-50%); 当前div的父级添加相对定位(position: relative;)
青梅煮码
2023/01/16
4240
水平垂直居中的六种方法
CSS中关于元素居中的方法总结(超全)
css中一个很重要的问题,就是关于元素的居中,包括水平居中,垂直居中,本文就是为大家总结了:css中对于行内元素与块级元素不同的居中方法.
用户9914333
2022/07/21
3.4K0
CSS 基础系列:水平垂直居中方案
比较全面的水平垂直居中方案。水平垂直居中问题大体分为两类,一类目标元素是行内元素,一类目标元素是块级元素(其中,块级元素又包括定宽高和不定宽高)。
Chor
2019/11/07
1.2K0
实现HTML元素垂直居中的六种方法
一、 img的垂直水平居中 使用到的重要样式属性display,vertical-align vertical-align:middle这个属性是对table元素垂直居中起作用,如果想使用在img元素上,就注意下面的display设置 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> .mai
潇洒哥和黑大帅
2018/10/23
3.5K0
水平居中和垂直居中
本章介绍几种常见的水平居中和垂直居中的实现方式 <!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
2.9K0
水平居中和垂直居中
CSS实现水平垂直居中的1010种方式(史上最全)
要实现上图的效果看似很简单,实则暗藏玄机,本文总结了一下CSS实现水平垂直居中的方式大概有下面这些,本文将逐一介绍一下,我将本文整理成了一个github仓库
全栈程序员站长
2022/06/29
1K0
如何实现水平垂直居中如何实现一个块级元素的水平垂直居中
详情查看https://www.runoob.com/w3cnote/flex- grammar.html
前端小tips
2021/11/27
1.3K0
如何实现水平垂直居中如何实现一个块级元素的水平垂直居中
CSS 水平居中与垂直居中的16个方法
元素高度可以动态改变, 不需再CSS中定义, 如果父元素没有足够空间时, 该元素内容也不会被截断。
切图仔
2022/09/08
7280
HTML 水平居中 垂直居中 垂直水平居中的几种实现方式「建议收藏」
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说HTML 水平居中 垂直居中 垂直水平居中的几种实现方式「建议收藏」,希望能够帮助大家进步!!!
Java架构师必看
2022/05/22
6.1K0
HTML 水平居中 垂直居中 垂直水平居中的几种实现方式「建议收藏」
HTML & CSS页面布局之定位
默认情况下,HTML元素都在标准流中呈现和展示。我们之前把元素分为块级元素,行内元素,行内块级元素,他们的特性是块级独占一行,行内和行内块级可以在一行内共存,这些特性都是针对标准流的。总结一下就是,标准流中元素只能在水平或垂直方向上排版。如果元素是块级元素, 那么就会垂直排版,如果元素是行内元素/行内块级元素, 那么就会水平排版。
用户5997198
2020/05/12
5.7K0
相关推荐
8种垂直居中的方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验