首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将图像在较小的div内居中对齐

将图像在较小的div内居中对齐
EN

Stack Overflow用户
提问于 2011-11-16 18:01:24
回答 1查看 17.6K关注 0票数 16

我有一个包含width:100pxheight:100px的div (比方说),里面只有一个图像,它的高度总是固定为100px

我想让图像水平居中。

这里有3种情况:

  1. 图像的宽度等于div的宽度,没有问题
  2. 图像的宽度小于div的宽度,我可以在这里使用margin: auto
  3. 图像的宽度大于div的宽度

我希望图像的中心部分在div中是可见的。

意思是,如果图像的宽度是120px,而div的宽度是100pxoverflow:hidden,我希望图像的第10个px到110个px是可见的(所以,图像的left: 10pxright: 10px隐藏在div下面)

是否可以通过一些CSS属性来实现?(我不知道正在加载的图像的宽度!)所以我希望它是动态的。还希望避免javascript侧计算,以找到额外的宽度,并给出margin-left: -ve值bla bl.)

另外,我不能给图片作为background-image的div!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-16 18:32:49

请参阅: http://jsfiddle.net/thirtydot/x62nV/ (和without overflow: hidden可轻松查看居中)

这将在所有浏览器中工作,可能IE6除外。

对于.imageContainer > spanmargin-left派生自widthwidth是控制将支持的最大图像宽度的任意数字。如果需要,您可以将width: 10000px; margin-left: -4950px;设置为支持非常宽的图像。

HTML:

代码语言:javascript
复制
<div class="imageContainer">
    <span><img src="http://dummyimage.com/100x100/f0f/fff" /></span>
</div>

CSS:

代码语言:javascript
复制
.imageContainer {
    border: 1px solid #444;
    overflow: hidden;
    width: 100px;
    height: 100px;
    margin: 15px;
    text-align: center;
}
.imageContainer > span {
    display: block;
    width: 1000px;
    margin-left: -450px; /* -(width-container width)/2 */
}
.imageContainer > span > img {
    display: inline-block;
}
票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8149747

复制
相关文章

相似问题

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