[html5 和 css3]如何水平和垂直对齐三个不同大小的 div,而不在它们之间留下任何 space
[html5 and css3]How to align three different size divs horizontally and vertically without leaving any space between them
我有红色、黑色和绿色三种 div。我想要高度为 45mm 的红色 div 和右边的高度为 55mm 的下一个黑色 div 然后是红色 div 和绿色 [=30= 下方的绿色 div ] 高度为50mm.
我正在使用代码
<div style="height:45mm;width:30mm;border:1mm solid red;float:left;position:relative;">
</div>
<div style="height:55mm;width:20mm;border:1mm solid black;display: inline-block;">
</div>
<div style="height:50mm;width:20mm;border:1mm solid green;">
</div>
但我得到以下结果:
https://i.stack.imgur.com/wSNpW.jpg
我想要的是:
https://i.stack.imgur.com/4d5wn.jpg
谢谢
我最初的反应是 使用 flexbox! 但我实际上无法弄清楚如何使用 display: flex
。
在这种情况下,我可以在第三个矩形上使用 position: relative
来做你想做的事,但我不确定这是否是你正在寻找的解决方案:
#rect1 {
height:45mm;
width:30mm;
border:1mm solid red;
float:left;
position:relative;
}
#rect2 {
height:55mm;
width:20mm;
border:1mm solid black;
display: inline-block;
}
#rect3 {
position: relative;
top: -11mm;
height:50mm;
width:20mm;
border:1mm solid green;
}
<div id="rect1"></div>
<div id="rect2"></div>
<div id="rect3"></div>
这使用了具有列方向、换行和严格约束(高度和宽度)的 flexbox。我已经使用 order
来更改元素的顺序,但您可以在 HTML.
中切换顺序
#container {
display: flex;
flex-direction: column;
flex-wrap: wrap;
width: 35mm;
height: 105mm;
}
#rect1 {
height:45mm;
width:30mm;
border:1mm solid red;
}
#rect2 {
order: 1;
height:55mm;
width:20mm;
border:1mm solid black;
}
#rect3 {
height:50mm;
width:20mm;
border:1mm solid green;
}
<div id="container">
<div id="rect1"></div>
<div id="rect2"></div>
<div id="rect3"></div>
</div>
我有红色、黑色和绿色三种 div。我想要高度为 45mm 的红色 div 和右边的高度为 55mm 的下一个黑色 div 然后是红色 div 和绿色 [=30= 下方的绿色 div ] 高度为50mm.
我正在使用代码
<div style="height:45mm;width:30mm;border:1mm solid red;float:left;position:relative;">
</div>
<div style="height:55mm;width:20mm;border:1mm solid black;display: inline-block;">
</div>
<div style="height:50mm;width:20mm;border:1mm solid green;">
</div>
但我得到以下结果:
https://i.stack.imgur.com/wSNpW.jpg
我想要的是:
https://i.stack.imgur.com/4d5wn.jpg
谢谢
我最初的反应是 使用 flexbox! 但我实际上无法弄清楚如何使用 display: flex
。
在这种情况下,我可以在第三个矩形上使用 position: relative
来做你想做的事,但我不确定这是否是你正在寻找的解决方案:
#rect1 {
height:45mm;
width:30mm;
border:1mm solid red;
float:left;
position:relative;
}
#rect2 {
height:55mm;
width:20mm;
border:1mm solid black;
display: inline-block;
}
#rect3 {
position: relative;
top: -11mm;
height:50mm;
width:20mm;
border:1mm solid green;
}
<div id="rect1"></div>
<div id="rect2"></div>
<div id="rect3"></div>
这使用了具有列方向、换行和严格约束(高度和宽度)的 flexbox。我已经使用 order
来更改元素的顺序,但您可以在 HTML.
#container {
display: flex;
flex-direction: column;
flex-wrap: wrap;
width: 35mm;
height: 105mm;
}
#rect1 {
height:45mm;
width:30mm;
border:1mm solid red;
}
#rect2 {
order: 1;
height:55mm;
width:20mm;
border:1mm solid black;
}
#rect3 {
height:50mm;
width:20mm;
border:1mm solid green;
}
<div id="container">
<div id="rect1"></div>
<div id="rect2"></div>
<div id="rect3"></div>
</div>