Css学习: postion 绝对定位之后 width 100% 的处理
一个常用的,但完美的方案
核心代码
注意,不要使用 width: 100%; 而要使用 left/right: 0 来代替。
.container {
padding: 70px 30px 30px;
position: relative;
}
.container .footer {
padding-inline: inherit;
position: absolute;
bottom: 30px;
left: 0;
right: 0;
}
使用width
若要使用 width,记得使用 box-sizing 保证最终的 offsetWidgh 是在正常范围。
.container {
padding: 70px 30px 30px;
position: relative;
}
.container .footer {
position: absolute;
bottom: 30px;
left: 0;
width: 100%;
padding-inline: inherit;
box-sizing: border-box;
}
HTML部分
<div class="container">
<div class="footer">
<button>Left</button>
<button>Right</button>
</div>
</div>
完整代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
.container {
box-sizing: border-box;
padding: 70px 30px 30px;
border: 1px solid red;
position: relative;
height: 90vh;
}
.footer {
display: flex;
justify-content: space-between;
padding-inline: inherit;
// 这个可以换成 padding-left/padding-right: inherit;
border: 1px solid green;
position: absolute;
bottom: 30px;
left: 0;
right: 0;
}
</style>
</head>
<body>
<div class="container">
<div class="footer">
<button>Left</button>
<button>Right</button>
</div>
</div>
</body>
</html>