带对齐的水平 div
Horizontal divs with alignment
我正在尝试避免使用 table 布局来进行特定布局。我知道这是草率的编程,所以我正在重做。我似乎无法使用 div 标签重新创建这样的东西:
<table border=10 cellpadding=10 width="90%">
<tr>
<td align="center" width="143">
<img src="http://blah.com/images/133widepixelimage.jpg">
</td>
<td align="center">
Some text describing the image
</td>
</tr>
</table>
我在 CSS 文件中完成了边框、内边距、宽度和对齐,效果很好。但是设置居中图像的宽度仍然不允许居中文本显示在图像的右侧。它仍然换行到下一行。如果我将图像居中放置在左侧,并设置 float: left
,就可以了。但即使父 div 足够宽以容纳,也不会以两个为中心。
试试这个片段:
.container{
margin-top: 30px;
width: 90%;
display: flex;
border: 10px solid black;
height: 50px;
border-left-color: gray;
border-top-color: gray;
}
.img{
width: 143px;
}
.img > img{
width: 100%;
}
.container > div {
vertical-align: middle;
line-height: 40px;
text-align: center;
margin: 1px;
border: 1px solid black;
display: inline-block;
}
.text{
flex: 1;
}
<div class="container">
<div class="img">
<img src="http://blah.com/images/133widepixelimage.jpg">
</div>
<div class="text">
Some text describing the image
</div>
</div>
你可以用 div 来做,像上面的例子那样使用 flexbox
我正在尝试避免使用 table 布局来进行特定布局。我知道这是草率的编程,所以我正在重做。我似乎无法使用 div 标签重新创建这样的东西:
<table border=10 cellpadding=10 width="90%">
<tr>
<td align="center" width="143">
<img src="http://blah.com/images/133widepixelimage.jpg">
</td>
<td align="center">
Some text describing the image
</td>
</tr>
</table>
我在 CSS 文件中完成了边框、内边距、宽度和对齐,效果很好。但是设置居中图像的宽度仍然不允许居中文本显示在图像的右侧。它仍然换行到下一行。如果我将图像居中放置在左侧,并设置 float: left
,就可以了。但即使父 div 足够宽以容纳,也不会以两个为中心。
试试这个片段:
.container{
margin-top: 30px;
width: 90%;
display: flex;
border: 10px solid black;
height: 50px;
border-left-color: gray;
border-top-color: gray;
}
.img{
width: 143px;
}
.img > img{
width: 100%;
}
.container > div {
vertical-align: middle;
line-height: 40px;
text-align: center;
margin: 1px;
border: 1px solid black;
display: inline-block;
}
.text{
flex: 1;
}
<div class="container">
<div class="img">
<img src="http://blah.com/images/133widepixelimage.jpg">
</div>
<div class="text">
Some text describing the image
</div>
</div>