问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

前段布局垂直水平居中常用方式

发布网友 发布时间:2022-09-14 13:10

我来回答

1个回答

热心网友 时间:2024-07-31 02:05

在前端布局中居中方式可以说是家常便饭,几乎所有地方都需要用到他,我们常见的就是水平居中和垂直居中。

水平居中:水平居中就是为了让子元素在父元素中排列在水平中心位置,实现方式很多,我们看几种常用的。

1. 使用display:inline-block和text-align:center

display:inline-block;

text-align:center;

原理就是将子容器设置为行内块元素,然后给父容器设置让文字居中的属性以达到目的。

缺点就是里面文字都会居中,可单独设置样式来解决。

2. 使用position:absolute和transform

position:absolute;

transform: translateX(-50%);

原理就是先将子容器设置为相对定位,移动左侧距离为相对宽度的一半,这样会使整个容器的左侧在一半的线的位置,看起来靠右了,我们需要再通过向左移动子容器的一半来达到目的。

缺点就是transform属于css3内容,存在浏览器兼容问题。已知宽高时可以将transform换成margin-left设置为负的自身宽度一半达到相同的目的。

4. 使用flex和justify-content

display:flex;

justify-content:center;

原理就是通过css3布局属性flex将子容器转换为flex item情况,然后通过justify-content属性来达到居中。这种方式需要给父容器设置这两种属性。

缺点就是css3属性,有浏览器兼容问题。

垂直居中:垂直居中就是为了让子元素在父元素中排列在垂直中心位置,实现方式很多,我们看几种常用的。

1. 使用display:table-cell和vertical-align

display:table-cell;

vertical-align:middle;

原理就是通过将父容器转换为一个表格单元格来显示,再通过将表格单元格内容垂直居中。

使用时需要将两种属性都设置到父容器身上。

2. 使用position:absolute和transform

position:absolute;

transform: translateY(-50%);

原理类似于水平居中,就是先将子容器设置为相对定位,移动顶部距离为相对高度的一半,这样会使整个容器的顶部在一半的线的位置,看起来靠下了,我们需要再通过向上移动子容器的一半来达到目的。

缺点就是css3属性,有浏览器兼容问题。已知宽高情况时可以将transform换成margin-top设置为负的自身高度一半达到相同的目的。

3. 使用display:flex和align-items

display:flex;

align-items:center;

原理就是通过css3布局属性flex将子容器转换为flex item情况,然后通过align-items属性来达到居中。这种方式需要给父容器设置这两种属性。

缺点就是css3属性,有浏览器兼容问题。

水平垂直同时居中:

关于同时居中有了以上两种方式难道还怕出不来效果吗,只是需要稍稍结合一下即可,比如以下常见结合使用:

1. 使用position:absolute和margin(已知宽高)

position:absolute;

left:50%;

top:50%;

width:100px;

height:100px;

margin-left:-50px;

margin-top:-50px;

2. 使用position:absolute和transform(未知宽高)

position:absolute;

left:50%;

top:50%;

transform: translateX(-50%);

transform: translateY(-50%);

3. 使用position:absolute和margin(未知宽高)

position:absolute;

left:0;

top:0;

right:0;

bottom:0;

margin:auto;

4. 使用flex和justify-content和align-items属性(未知宽高)

display:flex;

justify-content:center;

align-items:center;

关于常见居中问题就说几种常用的,其它技巧小伙伴们可自行研究,相信还有很多奇怪的方式也可以达到效果。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
小米摄像头离线人在外地怎么办 win11如何固定电脑桌面图标 QQ三国的当代杰出少年是怎么得的? 三国人物风云榜的作者简介 三国人物风云榜作者简介 三国人物风云榜目录 三国人物风云榜内容提要 w10电脑不动黑屏w10系统开机黑屏只有鼠标箭头怎么回事 ...FRAMEWORK中的Action, Control, Resource, Model到底是什么关系... windframework特点 怎样查看微信的登录密码呢? 前年买了一款VⅰV0Y79A手机,去年摔破屏换了屏,前天突然触屏失灵,无法... 魏蜀吴都是谁建立的 苏银霞丈夫于西明为什么跑路_于欢父亲跑路原因 于欢减刑出狱,为何媒体说不能推崇于欢? 孙权是什么时候从吴王称帝的? oppo手机搬家微信聊天记录 被对方拉黑怎么打电话? 养猫家庭适合养的植物 家里有猫可以养什么植物 如何正确哄宝宝睡觉 哄宝宝睡觉的好方法 哪些有效的办法,能让宝宝好好睡觉呢? 孙权最早在武昌建立东吴,为何后来迁都到了建邺? 哄宝宝入睡最好且最有效果的办法是什么? 平板air碎屏了,换个屏幕要多少钱啊? 孙权曾在哪里建立吴都? 宝宝优质睡眠的六大妙招 触范法规还是触犯法规,哪个正确? 触犯和构成有什么区别 ...线电话,不方便拿来拿去听,我想换成无线电话可以吗? 让宝宝睡得安稳的方法有哪些 小猪的肉和大猪气味上有差距吗 冬天卖的小肉条鱼是什么鱼? degree在用作温度时是指华氏度还是摄氏度? 瑞去掉王字旁加页怎么读 左边瑞去掉王字旁 右边页 是什么字 小米M1什么时候上市 小米手机出货发货时间 歌词是 “战鼓敲 剑出鞘 男儿世间走一遭 一身豪骨比天高 ”请问这个是... “战鼓响,剑出鞘,男儿世间走一遭,一身傲骨比天高“出自哪首歌?_百度... 那首歌的歌词是男儿世走一糟 歌曲男儿志英雄胆是哪首歌曲的歌词? 全自动洗衣机洗到一半就不洗了 广州rhca认证培训 怎么看自己的注册多久了 注册多久如何查看 改不了怎么办? 改不了怎么办 改不了的解决方法 为什么改不了 为什么改不了和昵称 到了一年怎么修改不了? 为什么我的点不开,想改改不了呢? 为什么改不了