我想在一个区域中居中图像,而不是调整大小......我正在使用HTML。
示例:
我有一张图片< img src ='img1.png'width ='64'height ='64'> - 图像实际上是64x64。它显示得很完美。
现在,我有另一张图片< img src ='img2.png'width ='64'height ='64'>然而,图像没有它应该的那么大,它的32x32 - 这里发生的是它将图像大小调整为64x64并使其看起来像$%^&。
如何使图像小于“img”区域中心所需的宽度和高度,而不进行任何调整?
答案 0 :(得分:2)
你需要的是这样的东西:
<div class="box">
<img src="whatever size image you'd like" />
</div>
对于样式(在外部样式表中,natch),您将应用:
/* Image centering */
div.box {
border: 1px black solid;
height: 64px;
width: 64px;
background: #444;
display: table-cell;
vertical-align: middle;
}
.box img {
display:block;
margin: 0px auto;
}
这适用于尺寸为&lt; = 64x64px的图像,并且可以轻松修改以适应更大的图片。这里的关键要素是
答案 1 :(得分:1)
没有IE不友好的解决方案display:table-cell
:
<!DOCTYPE html>
<style>
div {
line-height:64px; /* that's the secret sauce */
text-align:center;
width:64px; height:64px;
}
img {vertical-align:middle}
</style>
<div><img …></div>
答案 2 :(得分:0)
您可以尝试将图像放在64x64的DIV中,而不是指定图像尺寸。然后你可以设置div的样式,使其内容居中,并隐藏任何溢出。
答案 3 :(得分:0)
您可以使用getimagesize()
php函数动态获取图像大小:
<?php
$size = getimagesize('imgX.png');
$height = $size[1];
$width = $size[0];
?>
<div style="text-align: center">
<img src="imgX.png" width="<?php print($width) ?>" height="<?php print($height) ?>" />
</div>
答案 4 :(得分:0)
我必须使用36x36图像做类似的事情。用户可以上传任何尺寸,但缩略图只显示36平方像素的中心。
<强>标记:强>
<li><div><span></span>
<img src="_media/objects/jessica-bowman.png" alt="Jessica Bowman" /></div>
<p><a href="#">Jessica Bowman</a></p>
</li>
跨度就是在图像上获得圆角,不一定需要它。
<强> CSS:强>
ul.recent-list li div {
position: relative;
float: left;
width: 36px;
height: 36px;
overflow: hidden;
}
ul.recent-list li div span {
position: relative;
z-index: 100;
display: block;
width: 36px;
height: 36px;
background: url("../_media/icons/icon-overlay.png") top left no-repeat;
}
ul.recent-list li div img {
position: relative;
top: -36px;
z-index: 0;
float: left;
}
<强> JavaScript的:强>
$(window).load(function() {
$("ul.recent-list div img").each(function() {
var moveX = ($(this).width() / 2 * -1) + 18;
var moveY = ($(this).height() / 2) * -1 - 18; // 18 is 1/2 the default offset of 36px defined in CSS
$(this).css({'top' : moveY, 'left' : moveX});
});
});
答案 5 :(得分:-1)
我曾经使用过的解决方案:添加一个包含单行的表,即sincle单元格。将它的宽度和高度设置为64,设置无边框,没有间距,没有填充,并使其对齐并旋转到中心。将您的图像放在此表的单元格中。
答案 6 :(得分:-1)
具有宽度和高度属性的img标记表示“无论其实际大小如何,都将图像拉伸或缩小到此大小”。使用类似的东西:
<div style="text-align:center;">
<img src="x.jpg">
</div>
并且不,我不知道为什么text-align会起作用,但在我的经验中似乎。
答案 7 :(得分:-1)
解决方案是一个简单的CSS + HTML
<img src="transparentpixel.gif"
width="64"
height="64"
style="
background-image:url('path/to/image.jpg');
background-repeat:no-repeat;
background-position:center center;
" />
透明pixel.gif是一个简单的1x1px透明gif图像
答案 8 :(得分:-1)
使用CSS使用背景渲染图像:
<div style="background: url(img1.png) no-repeat center center; height: 64px; width: 64px;"></div>
这将在中心显示图像,而不进行缩放。