CSS 水平,垂直,水平垂直居中方案——持续更新

在这里插入图片描述

绝对定位 定宽


position: absolute;

width: 宽度;

left: 50%;

margin-left: -0.5*宽度

.parent {

background: #eee;

width: 300px;

height: 300px;

position: relative;

}

.block {

background: skyblue;

width: 100px;

height: 100px;

position: absolute;

left: 50%;

margin-left: -50px;

}

.inline {

background: pink;

position: absolute;

width: 100px;

left: 50%;

margin-left: -50px;

}

在这里插入图片描述

position:absolute和float会隐式地改变display类型,不论之前什么类型的元素(display:none除外), 只要设置了position:absolute、 float中任意一个,都会让元素以display:inline-block的方式显示:可以设置长宽,默认宽度并不占满父元素。

绝对定位 不定宽


position: absolute;

left: 50%;

transform: translate(-50%, 0);

.parent {

background: #eee;

width: 300px;

height: 300px;

position: relative;

}

.block {

background: skyblue;

width: 100px;

height: 100px;

position: absolute;

left: 50%;

transform: translate(-50%, 0);

}

.inline {

background: pink;

position: absolute;

width: 100px;

left: 50%;

transform: translate(-50%, 0);

}

在这里插入图片描述

绝对定位 left/right: 0


position: absolute;

width: 宽度;

left: 0;

right: 0;

margin: 0 auto;

.parent {

background: #eee;

width: 300px;

height: 300px;

position: relative;

}

.block {

background: skyblue;

width: 100px;

height: 100px;

position: absolute;

left: 0;

right: 0;

margin: 0 auto;

}

.inline {

background: pink;

position: absolute;

width: 100px;

left: 0;

right: 0;

margin: 0 auto;

}

在这里插入图片描述

垂直居中

===============================================================

行内元素


父元素 height: 高度;

行内元素 line-height: 高度;

.parent {

background: #eee;

width: 300px;

height: 300px;

}

.inline {

background: pink;

line-height: 300px;

}

在这里插入图片描述

table


父元素 display: table-cell;

子元素 vertical-align: middle;

.parent {

background: #eee;

width: 300px;

height: 300px;

display: table-cell;

vertical-align: middle;

}

在这里插入图片描述

flex


display: flex;

align-items: center;

.parent {

background: #eee;

width: 300px;

height: 300px;

display: flex;

align-items: center;

}

.block {

background: skyblue;

width: 100px;

height: 100px;

}

.inline {

background: pink;

}

在这里插入图片描述

绝对定位 定高


position: absolute;

top: 50%;

height: 高度;

margin-top: -0.5高度;

.parent {

background: #eee;

width: 300px;

height: 300px;

position: relative;

}

.block {

background: skyblue;

width: 100px;

height: 100px;

position: absolute;

top: 50%;

margin-top: -50px;

}

.inline {

background: pink;

height: 100px;

position: absolute;

top: 50%;

margin-top: -50px;

}

在这里插入图片描述

绝对定位 不定高


position: absolute;

top: 50%;

transform: translate( 0, -50%);

.parent {

background: #eee;

width: 300px;

height: 300px;

position: relative;

}

.block {

background: skyblue;

width: 100px;

height: 100px;

position: absolute;

top: 50%;

transform: translate( 0, -50%);

}

.inline {

background: pink;

height: 100px;

position: absolute;

top: 50%;

transform: translate( 0, -50%);

}

在这里插入图片描述

绝对定位 top/bottom: 0;


position: absolute;

height: 高度;

top: 0;

bottom: 0;

margin: auto 0;

.parent {

background: #eee;

width: 300px;

height: 300px;

position: relative;

}

.block {

background: skyblue;

width: 100px;

height: 100px;

position: absolute;

top: 0;

bottom: 0;

margin: auto 0;

}

.inline {

background: pink;

position: absolute;

height: 100px;

top: 0;

bottom: 0;

margin: auto 0;

}

在这里插入图片描述

元素水平垂直居中

===================================================================

绝对定位 不定宽高


绝对定位 transform

position:absolute;

top:50%;

left:50%;

transform:translate(-50%,-50%)

.parent {

background: #eee;

width: 300px;

height: 300px;

position: relative;

}

.block {

background: skyblue;

position: absolute;

top: 50%;

left: 50%;

transform: translate(-50% ,-50%);

}

在这里插入图片描述

绝对定位 定宽高


绝对定位 margin

position:absolute;

top:50%;

left:50%;

margin-top:-(height/2)px;

margin-left:-(width/2)px;

.parent {

background: #eee;

width: 300px;

height: 300px;

position: relative;

}

.block {

background: skyblue;

width: 100px;

height: 100px;

position: absolute;

top: 50%;

left: 50%;

margin-top: -50px;

margin-left: -50px;

}

绝对定位 margin:auto

position:absolute/fixed;

top:0;left:0;right:0;bottom:0;

margin:atuo;

.parent {

background: #eee;

width: 300px;

height: 300px;

position: relative;

}

.block {

background: skyblue;

width: 100px;

height: 100px;

position: absolute;

top: 0;

bottom: 0;

left: 0;

right: 0;

margin: auto;

}

在这里插入图片描述

绝对定位 calc 水平、垂直居中也可以使用此方法

position:absolute;

top:calc(50% - (height/2)px);

left:calc(50% - (width/2)px);

总结

我在成长过程中也是一路摸爬滚打,没有任何人的指点,所以走的很艰难。例如在大三的时候,如果有个学长可以阶段性的指点一二,如果有已经工作的师兄可以告诉我工作上需要什么,我应该前面的三年可以缩短一半;后来去面试bat,失败了有5、6次,每次也不知道具体是什么原因,都是靠面试回忆去猜测可能是哪方面的问题,回来学习和完善,当你真正去招人的时候,你就会知道面试记录是多么重要,面试官可以从面试记录里看到你的成长,总是去面试,总是没有成长,就会被定义为缺乏潜力。

image
round: skyblue;

width: 100px;

height: 100px;

position: absolute;

top: 0;

bottom: 0;

left: 0;

right: 0;

margin: auto;

}

在这里插入图片描述

绝对定位 calc 水平、垂直居中也可以使用此方法

position:absolute;

top:calc(50% - (height/2)px);

left:calc(50% - (width/2)px);

总结

我在成长过程中也是一路摸爬滚打,没有任何人的指点,所以走的很艰难。例如在大三的时候,如果有个学长可以阶段性的指点一二,如果有已经工作的师兄可以告诉我工作上需要什么,我应该前面的三年可以缩短一半;后来去面试bat,失败了有5、6次,每次也不知道具体是什么原因,都是靠面试回忆去猜测可能是哪方面的问题,回来学习和完善,当你真正去招人的时候,你就会知道面试记录是多么重要,面试官可以从面试记录里看到你的成长,总是去面试,总是没有成长,就会被定义为缺乏潜力。

[外链图片转存中…(img-TnRml92J-1718005174310)]
image

  • 28
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值