首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图像应居中对齐,也应垂直居中对齐

图像应居中对齐,也应垂直居中对齐
EN

Stack Overflow用户
提问于 2010-11-25 18:38:08
回答 3查看 2.6K关注 0票数 1

我有一个用于图像滑块的div,在那个div里面我有ul li,我有一些不同大小的图像。我的要求是放置图像是居中对齐以及垂直居中对齐。我的html标记是

代码语言:javascript
复制
<div id="placesAlbumSlidesContainer">
            <ul style="width: 50000px;" id="placesAlbumSlideInner">

                <li id="image-1" class="placesAlbumSlide placesAlbumSlide">
                  <span>

                      <img align="center" alt="" src="/1-original.jpg">

                      <span title="Report as inappropriate" class="spamPlaceImages" onclick=""><span class="spamPlaceImagesIn"></span></span>
                  </span>
                </li>

                <li id="image-2" class="placesAlbumSlide placesAlbumSlide">
                  <span>

                      <img align="center" alt="www.geocaching.com|http://www.geocaching.com|Friday, Oct 29, 2010" src="http://fabulis-place-images.s3.amazonaws.com/development/4-original.jpg">

                      <span title="Report as inappropriate" class="spamPlaceImages" onclick=""><span class="spamPlaceImagesIn"></span></span>
                  </span>
                </li>

            </ul>
            </div>

使用的Css

代码语言:javascript
复制
#placesAlbumSlideshow #placesAlbumSlidesContainer {
    margin:0 auto;
    overflow:hidden;
    position:relative;
    width:482px;
    }
    #placesAlbumSlideshow #placesAlbumSlidesContainer .placesAlbumSlide {
    float:left;
    height:280px !important;
    position:relative;
    width:560px;
    }
    .placesAlbumSlide span {
    display:inline-block;
    position:relative;
    text-align:center;
    vertical-align:middle;
    }

    .placesAlbumSlide img {
    border:medium none;
    display:inline;
    margin-left:-80px;
    max-height:280px;
    position:relative;
    width:auto;
    z-index:2;
    }
    .placesAlbumSlide {
    text-align:center;
    }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-25 19:00:36

我认为你的事情比它们需要的要复杂一点。首先,图像'align‘上的属性不再有效或不再需要,并且列表项上有一些重复的类名。

也不需要额外的span。尝试以下操作:

代码语言:javascript
复制
.placesAlbumSlide {
     vertical-align: middle;
     text-align: center; // this will ensure the horizontal alignment is correct
     float: left;
     height: 280px;
     line-height: 280px; // this will ensure the vertical alignment is correct
     width: 560px;
}
.placesAlbumSlide img {
     display: inline-block; // forces the image to obey inline rules like vertical-align and text-align
     max-height: 280px;
     width: auto;
}
.placesAlbumSlide .spamPlaceImages {
     line-height: 1; // set this back to a normal line-height
}

应该不需要任何位置相关规则。而且你可以完全抛弃.placesAlbumSlide span规则。

然后,您的列表项标记可以如下所示:

代码语言:javascript
复制
<li id="image-2" class="placesAlbumSlide">
     <img align="center" alt="www.geocaching.com|http://www.geocaching.com|Friday, Oct 29, 2010" src="http://fabulis-place-images.s3.amazonaws.com/development/4-original.jpg" />
     <span title="Report as inappropriate" class="spamPlaceImages" onclick=""><span class="spamPlaceImagesIn"></span></span>
</li>
票数 1
EN

Stack Overflow用户

发布于 2010-11-25 19:01:13

将“attribute align="center”添加到你的<div>。这将使你所有的div内容居中对齐。

代码语言:javascript
复制
 <div id="placesAlbumSlidesContainer" align="center">
     .
     .
    </div>
票数 0
EN

Stack Overflow用户

发布于 2013-05-23 19:00:49

您应该将图像包装在div中,如下所示:

代码语言:javascript
复制
<div width="200px" height="100px" class="outer" style="display: table;position: static;height: 9.22em;"> 
  <div class="inner" style="display: table-cell;vertical-align: middle;position: static;">
     12345
  </div>
</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4276096

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档