我有一个160x160像素的 div。我想在这个 div 中显示图像。我想在不调整大小的情况下在 div 中显示图像。
- 如果图像小于 div,则在 div 的中心显示图像而不调整大小。
- 如果图像大于 div,则在 div 中显示图像的中心部分而不调整其大小。
这个 div 就像现实世界中的一个窗口。您可以根据窗口的大小从该窗口查看视图。
我想你能理解这个吗?
谢谢
只需使用这样的简单背景图像:
div {background:url(image.jpg) 50% 50% no-repeat; height:160px; width:160px}
如果你想使用实际的<img>
,你可以这样做:
<div><img src="image.jpg" /></div>
div {position:relative; text-align:center; overflow:hidden; height:160px; width:160px}
img {position:absolute; left:50%; margin-left:-250px}
图像宽度的一半在哪里margin-left
- 仅在您提前知道图像尺寸时才有效。如果您不知道,您可以获取图像大小并使用 JavaScript 执行此操作吗?
<div><img src="yourimage.jpg" /></div>
div{width:auto; margin:0 auto}
div img{max-width:100%}
max-width 将最大宽度作为图像的原始尺寸。即使您调整窗口大小,您也可以看到较小图像的效果。
我想这就是你需要的......
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
#imageLoader{
border:1px solid #B0B0B0;
height:160px;
width:160px;
background-image: url('images/Science.png');
background-position:center center;
background-repeat:no-repeat;
background-clip:content-box;
}
</style>
</head>
<body>
<div id="imageLoader" style="">
</div>
</body>
</html>
相应地更改图像名称...
这是我的 小提琴
您还可以将图像设置为背景
background: url('image.png') no-repeat center center;
这是一个例子:http: //jsfiddle.net/H5U3H/
最好的方法是将图像设置为 div 的背景图像。
div {
background: transparent url(path/to/image.jpg) no-repeat center 0;
width: 160px;
height: 160px;
}
如果图像大于 div,它将使图像居中,否则它将在 div 的(水平)中心显示图像。
我对此的看法,您不需要使用 transform / top / left 知道图像的宽度:
<div style=" overflow: hidden; width: 160px; height: 160px">
<img src='https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500' style="position: relative; left: 50%; top: 50%; transform: translate(-50%, -50%)"/>
</div>