設(shè)置元素水平、垂直居中有哪2種方式
發(fā)表時(shí)間:2024-05-09 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]做一個(gè)水平和垂直居中的模態(tài)彈框這么一個(gè)小需求,對(duì)于我們這些前端來(lái)說(shuō),應(yīng)該是常事。 在css3出來(lái)以前,我們要想讓元素既水平居中又要垂直居中只有一個(gè)辦法(我能想到的),就是通過(guò)js計(jì)算,把它們定位到屏幕中間位置。這方法比較笨,也麻煩! ∠旅鎯煞N方式,可以讓元素快速定位到屏幕中間。 flex布...
做一個(gè)水平和垂直居中的模態(tài)彈框這么一個(gè)小需求,對(duì)于我們這些前端來(lái)說(shuō),應(yīng)該是常事。
在css3出來(lái)以前,我們要想讓元素既水平居中又要垂直居中只有一個(gè)辦法(我能想到的),就是通過(guò)js計(jì)算,把它們定位到屏幕中間位置。這方法比較笨,也麻煩。
下面兩種方式,可以讓元素快速定位到屏幕中間!
flex布局
<style>
.flex-mask {
display: flex;
position: fixed;
z-index: 1;
top: 0;
left: 0;
bottom: 0;
right: 0;
align-items: center; // 垂直居中
justify-content: center; // 水平居中
background: rgba(0,0,0,.5);
}
.flex-box {
width: 500px;
height: 300px;
background-color: #fff;
border-radius: 10px;
}
</style>
<!-- 元素 -->
<p class="flex-mask">
<p class="flex-box"></p>
</p>
使用translate
<style>
.transform-box {
position: fixed;
z-index: 2;
top: 50%;
left: 50%;
width: 300px;
height: 150px;
background-color: red;
border-radius: 10px;
transform: translate(-50%, -50%);
}
</style>
<p class="transform-box"></p>
以上就是設(shè)置元素水平、垂直居中有哪兩種方式 的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
網(wǎng)站建設(shè)是一個(gè)廣義的術(shù)語(yǔ),涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。