繁体   English   中英

如何在<div>中水平和垂直居中<img>?

[英]How can I horizontally and vertically center an <img> in a <div>?

我不想以div为中心,我希望div的内容居中。 我想水平和垂直对齐。

对不起,如果这太容易或者其他什么,但这对于纠正它来说是一件麻烦事。

GRAE

我正在使用IE7

如果你知道你的形象的高度和宽度,它定位绝对,机顶盒/左到50%,边距/左一半的高度/图像宽度。

#foo {
    position:relative; /* Ensure that this is a positioned parent */
}
#foo img {
    width:240px;
    height:200px;
    position:absolute;
    left:50%;
    top:50%;
    margin-left:-120px;
    margin-top:-100px;
}

实例: http//jsfiddle.net/Zd2pz/

我知道你已经说过不想以div为中心,但是以跨浏览器的方式实现你的需求会更容易使用jquery插件和包含你的元素的假div。

我已经使用这个非常小的插件成功地集中了任何东西,可以将任何块元素居中。

我知道的另一种方式是你已经从@simshaun和@Prhogz收到的答案

编辑:根据评论请求

在脚本标记中包含脚本

<script type="text/javascript" src="<%: Url.Content( "~/_assets/js/jquery.center.min.js" )%>"></script>

现在,如果您有一个想要在标记中居中的DIV,只需将其用作

$(document).ready(function() {
    $("#myDIV").center({ vertical: false });
});

虽然以下内容已经过时 ,但它仍适用于几乎所有浏览器

<center>
<div>
your html
</div>
</center>

但是,请访问此链接

http://www.110mb.com/forum/vertical-horizo​​ntal-alignment-of-image-within-div-t31709.0.html

对于水平对齐,请使用text-align:center;

有关垂直对齐的信息,请参阅W3样式指南

如果事先知道内部元素的高度,

CSS:

.container {
    text-align: center; /* Center horizontally. */

    /* For demo only */
    border: 1px solid #000;
    height: 500px;
    margin: 20px;
    width: 700px;
}

.container img {
    margin-top: -167px;
    position: relative;
    top: 50%;
}

HTML:

<div class="container">
    <img src="http://farm6.static.flickr.com/5004/5270561847_7223069d5e.jpg" width="500" height="334" alt="">
</div>

暂无
暂无

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

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