我需要这样做:
如果图像的高度高于100px,则隐藏图像的其余部分(例如:高度为80px的图像 - >显示完整图像,高度为150px的图像 - &gt;仅显示前100px)。< / p>
有没有办法用CSS做到这一点?
答案 0 :(得分:23)
您可以使用max-height
属性指定图像的最大高度,然后使用overflow: hidden;
隐藏其他任何内容。
e.g。
HTML:
<div class="image-container">
<img src="some-image.jpg" />
</div>
CSS:
.image-container {
max-height:100px;
overflow:hidden;
}
JSFiddle示例:http://jsfiddle.net/3jA9q/
修改强>
对于Internet Explorer 6,您可以使用CSS expressions来模拟类似的内容:
.image-container {
height:expression(this.scrollHeight<100?"auto":"100px");
overflow:hidden;
}
请注意,这需要用户在其浏览器中启用JavaScript。然而,我对CSS表达式的体验非常差,最好避免使用它们。
答案 1 :(得分:6)
您可以使用max-height
和overflow
HTML:
<div>
<img>
</div>
CSS:
div{
max-height:100px;
overflow:hidden;
}
另请注意,max-height
在旧版浏览器中不起作用,但如果您使用普通height
,那么图片也不会短于100px。
答案 2 :(得分:3)
将它放在高度为100px的div中并设置overflow: hidden;
答案 3 :(得分:0)
您可以使用剪辑属性
img {
position: absolute;
clip: rect(0px,60px,200px,0px);
}