垂直对齐 div 和另一个 div
vertical align a div next to another div
我需要垂直对齐包含文本的 div 与包含图像的 div 相邻。
内容的标题可以有多行(如果您看到图片)。
目前 html 是:
<div class="small-view">
<div class="small-left">
<img src="image.png" width="80">
</div>
<div class="small-right">
<p class="post-title">This is a post</p>
<span class="post-info>January 5, 2015</span>
</div>
</div>
我想将 "small-right" 与图像垂直对齐,使其基于其中的文本居中。出于某种原因,我尝试的一切都不起作用。
你可以试试table。在一列中是图像,在其他列中是文本
<div>
是一个块级项,这意味着默认情况下它将在关闭 </div>
后开始一个新行。这可以被样式 <div style='display:inline'>
覆盖,更好的做法是使用 <span>
这是一个内联项
使所有块(div
s 和 p
)内联显示,并对图像应用垂直对齐:
<div class="small-view">
<div class="small-left" style="display:inline;">
<img src="image.png" width="80" style="vertical-align:middle">
</div>
<div class="small-right" style="display:inline;">
<p class="post-title" style="display:inline;">This is a post</p>
<span class="post-info>January 5, 2015</span>
</div>
</div>
您也可以使用单个 div:
<div class="small-view">
<div class="small-left-and-right">
<p class="post-title">
<img src="image.png" width="80" style="vertical-align:middle">
This is a post
</p>
<span class="post-info>January 5, 2015</span>
</div>
</div>
将此 CSS float:left;
添加到 .small-right
像这样:.small-left {float:left;}
这是一个fiddle:http://jsfiddle.net/hmyLz28j/
.small-view div {
display: inline-block;
vertical-align: middle;
border: 1px pink solid;
}
.small-right {
width: 250px;
}
<div class="small-view">
<div class="small-left">
<img src="image.png" style=" width: 80px;" />
</div>
<div class="small-right">
<p class="post-title">This is a post <span class="post-info">January 5, 2015</span>
</p>
</div>
</div>
给你:现在好多了:)
我做了什么:我把
中的 80 > 80px 改错了一些 "
我需要垂直对齐包含文本的 div 与包含图像的 div 相邻。
内容的标题可以有多行(如果您看到图片)。
目前 html 是:
<div class="small-view">
<div class="small-left">
<img src="image.png" width="80">
</div>
<div class="small-right">
<p class="post-title">This is a post</p>
<span class="post-info>January 5, 2015</span>
</div>
</div>
我想将 "small-right" 与图像垂直对齐,使其基于其中的文本居中。出于某种原因,我尝试的一切都不起作用。
你可以试试table。在一列中是图像,在其他列中是文本
<div>
是一个块级项,这意味着默认情况下它将在关闭 </div>
后开始一个新行。这可以被样式 <div style='display:inline'>
覆盖,更好的做法是使用 <span>
这是一个内联项
使所有块(div
s 和 p
)内联显示,并对图像应用垂直对齐:
<div class="small-view">
<div class="small-left" style="display:inline;">
<img src="image.png" width="80" style="vertical-align:middle">
</div>
<div class="small-right" style="display:inline;">
<p class="post-title" style="display:inline;">This is a post</p>
<span class="post-info>January 5, 2015</span>
</div>
</div>
您也可以使用单个 div:
<div class="small-view">
<div class="small-left-and-right">
<p class="post-title">
<img src="image.png" width="80" style="vertical-align:middle">
This is a post
</p>
<span class="post-info>January 5, 2015</span>
</div>
</div>
将此 CSS float:left;
添加到 .small-right
像这样:.small-left {float:left;}
这是一个fiddle:http://jsfiddle.net/hmyLz28j/
.small-view div {
display: inline-block;
vertical-align: middle;
border: 1px pink solid;
}
.small-right {
width: 250px;
}
<div class="small-view">
<div class="small-left">
<img src="image.png" style=" width: 80px;" />
</div>
<div class="small-right">
<p class="post-title">This is a post <span class="post-info">January 5, 2015</span>
</p>
</div>
</div>
给你:现在好多了:)
我做了什么:我把
中的 80 > 80px 改错了一些 "