简体   繁体   English

CSS内联块对齐问题

[英]CSS inline-block alignment issue

I'm trying to get the pictures to get ".other-wrap" to vertically align with the picture on the left. 我正在尝试获取图片以使“ .other-wrap”与左侧的图片垂直对齐。 I've tried adding a margin or a border but for some reason this pushes ".other-wrap" down and further out of alignment. 我尝试添加边距或边框,但是由于某种原因,这会导致“ .other-wrap”向下推并进一步偏离对齐状态。 Can anyone explain what's causing this behavior and what css I can add to ".other-wrap" to get it to align without changing the html structure. 任何人都可以解释是什么导致了这种现象,以及我可以在“ .other-wrap”中添加哪些CSS以使其对齐而不改变html结构。

fiddle 小提琴

Html: HTML:

<div id="588970897807405-list" class="main">
<div id="588970897807405" class="main-wrap">
   <div class="inner-wrap">
      <div class="inner-name-wrap" style="font-size: 10pt;">
         <div class="inner-name">header</div>
      </div>
      <div class="inner-img-wrap">
         <img id="588970897807405-event-img" class="inner-img" src="http://nodogaboutit.files.wordpress.com/2012/10/j04310181.jpg">
      </div>
      <div class="formatted-footer-wrap" style="font-size: 10pt;">
         <div class="footer">footer</div>
      </div>
   </div>
   <div class="other-wrap">
      <div class="other-inner">
         <div class="other-img-wrap"><img class="other-img" width="120" height="120" src="http://www.petfinder.com/wp-content/uploads/2012/11/99059361-choose-cat-litter-632x475.jpg"></div>
      </div>
   </div>
</div>

CSS: CSS:

.main .inner-img{
vertical-align:middle;
margin:auto;
display:block;
width:120px;
height:120px;
top:0px;
}

.other-wrap{

    /*border:solid black 15px;*/
    margin:15px;
}

.main .inner-name-wrap{
    white-space:nowrap;
    width:150px;
    font-size:14px;
    text-overflow:ellipsis;
    font-weight:normal;
    display:block;
    color:white;
    background:black;
}

.main .formatted-footer-wrap{
    color:white;
    display:block;
    font-size:10px;
    width:150px;
    background:black;
}

.main .other-wrap{
    display:inline-block;
    font-size:12px;
}

.main .formatted-time-wrap{
    display:none;
    font-size:10px;
}

.inner-wrap{
    display:inline-block;
    border:solid hsl(0, 100%, 100%) 1px;    
}

It seems you need vertical-align . 看来您需要vertical-align

Try vertical-align: middle : 尝试vertical-align: middle

.main-wrap{
    font-size: 0; /* To fix extra space due to whitespaces in HTML */
}
.other-wrap, .inner-wrap{
    display:inline-block;
    vertical-align: middle;
    margin: 15px;
}

Demo 演示版

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM