文 / 西打藍 Siddharam
垂直水平置中
我們的目標,是讓咖啡色方塊,能在藍色方塊垂直置中。
<div class="outer">
<div class="inner"> </div>
</div>
.outer {
width: 200px;
heieght: 200px;
background: rgb(2, 186, 192);
}
inner {
width: 50px;
height: 50px;
background: burlywood;
}
有興趣的你,可以開啟檢查工具調整樣式看看。
一、flex 作法
flex 的 justify-content 負責 inner 水平排列,而 align-items 則是垂直排列。
.outer {
display: flex;
justify-content: center;
align-items: center;
}
二、absolute 絕對定位作法
top、left 讓物體水平垂直置中,但必須扣除物體本身寬高,所以需要加上 translate 的 -50% 位移。
.outer {
position: relative;
}
.inner {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
三、flex、margin 作法
這是我最新學到的一招,margin auto 本身就能做到置中的效果,加上 flex 讓 inner 上下左右擴展的作用,達到垂直水平置中的效果。
.outer {
position: relative;
}
.inner {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
閱讀量次
聯絡與合作
訂閱電子報,領「我當前 10+ 以上收入源有哪些」一文。
有文字採訪、網站開發,或是諮詢需求,皆可至個人網站參考作品,並聯繫 IG。
或是想分享心情、聊聊天、交朋友,可以來秘密通道找我唷。
Email: frank@siddharam.com