我尝试只对item4应用填充,但它也应用于item3, item3内的文本也不像我期望的那样居中。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="flexbox.css">
<title>flexbox</title>
</head>
<body>
<div class="container">
<div class="container2">
<p class="item1">item1</p>
<p class="item2">item2</p>
</div>
<div class="container2">
<p class="item3">item3</p>
<p class="item4">item4</p>
</div>
</div>
</body>
</html>
--------------------------------------///css//------------------------------------------------------
.container{
border: 1px solid black;
background-color: rgb(255, 157, 0);
display: flex;
align-items: center;
justify-content: space-between;
padding-inline:1rem;
}
.container2{
display: flex;
gap: 2em;
}
.container2 p{
background-color: blue;
border: 1px solid black;
}
.item4{
padding:1rem;
}
我试着只对item4应用填充,但它也被应用到item3, item3内的文本也不像我期望的那样居中。
下面的CSS修复你的问题,设置容器2的对齐方式,并显式设置item3的高度-由于在同一个容器中,它与item4一起增长,它实际上没有得到填充,只是高度:)
.container{
border: 1px solid black;
background-color: rgb(255, 157, 0);
display: flex;
align-items: center;
justify-content: space-between;
padding-inline:1rem;
}
.container2{
display: flex;
align-items: center;
justify-content: space-between;
gap: 2em;
}
.container2 p{
background-color: blue;
border: 1px solid black;
}
.item3{height: min-content;}
.item4{
padding:1rem;
}
如果我可以建议一个替代的解决方案,使用css网格: