css 剪辑图片_CSS 截取图片只显示部分图片

本文介绍如何使用CSS的clip属性来裁剪图片,以适应正方形展示需求。这种方法适用于高度大于宽度的图片,并且兼容Chrome、Firefox和IE6-9。当图片宽度大于高度时,可以通过JavaScript动态调整图片的高度或宽度。示例代码展示了如何实现这一裁剪效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在页面中需要在某个位置显示固定长宽的正方形图片,图片中有接近正方形比例但不是正方形,用PHP生成裁剪后的缩略图显然不合适,经过研究发现用CSS可以完美切割图片,经过测试Chrome,FF,IE6-9没问题。css有一个clip属性可以剪切对象,对象position必须为absolute。两张图分别为裁剪前和裁剪后的效果。

这个只是高度大于宽度的情况,如果这一批图片中还有一些宽度大于高度裁剪起来就会有些麻烦,不过经过试验已经完美解决,原理很简单,通过js在图片刚刚开始加载的时刻可以获取其宽度和高度,然后用js决定限制图片的高度还是宽度。如何在图片开始加载时获取大小可以在这里找到。

{$v->name}

$(function(){

$('div.icon img').each(function(){

var $this=$(this);

imgReady($this.attr('src'),function(){

if(this.width>this.height){

$this.attr('height','100');

$this.removeAttr('width');

}

});

});

});

css2.0手册中clip的解释

语法:

clip : auto | rect ( number number number number )

取值:

auto :  默认值。对象无剪切

rect ( number number number number ) :  依据上-右-下-左的顺序提供自对象左上角为(0,0)坐标计算的四个偏移数值,其中任一数值都可用 auto 替换,即此边不剪切

说明:

检索或设置对象的可视区域。可视区域外的部分是透明的。

此属性定义了绝对(absolute)定位对象可视区域的尺寸。必须将 position 属性的值设为 absolute ,此属性方可使用。

自IE5开始,此属性在MAC平台上可用。

对应的脚本特性为 clip 。

示例:

div { position:absolute; width:60px; height:60px; clip:rect(0 20 50 10); }

div { position:absolute; width:60px; height:60px; clip:rect(1cm auto 50px 10cm); }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值