您的位置:首页 > Web前端 > CSS

CSS中clip属性探究

2009-03-24 10:28 197 查看
注:部分内容来源于互联网
基础语法:
clip : auto | rect ( number number number number )
取值:
auto : 默认值。对象无剪切
rect ( number number number number ) : 依据上-右-下-左的顺序提供自对象左上角为(0,0)坐标计算的四个偏移数值,其中任一数值都可用 auto 替换,即此边不剪切
说明:
检索或设置对象的可视区域。可视区域外的部分是透明的。
此属性定义了绝对(absolute)定位对象可视区域的尺寸。必须将 position 属性的值设为 absolute ,此属性方可使用。
自IE5开始,此属性在MAC平台上可用。
对应的脚本特性为 clip
CSS中的clip属性除了可以制作彩色文字外,还可以有效地裁切其他网页中的元素,比如图片。



clip属性设置元素的形状。这个属性用于定义一个剪裁矩形。在这个矩形内的内容才可见,出了这个剪裁区域的内容和 overflow:hidden 的效果相同。剪裁区域可能比元素的内容区大,也可能比内容区小。

clip属性值:auto | rect (top, right, bottom, left)

  auto代表不裁切,rect中的上右下左四个方向填入的应是数值,表示裁切的位置。

下面我举一个对图片进行裁切的简单例子。

首先准备一张图片,如图一中所示,它的尺寸是159px*99像素。我打算利用clip属性将图片进行裁切,只让图中的大红点显示出来。

我先制作一个放置图片的div外框,它的CSS定义如下:

#imgClip {

position:relative;

width:159px;

height:99px;

background:#FFF985;

margin:0 auto;

}


这个div的定位属性设置为相对定位是为了让图片以它为定位标准,将背景定义为#FFF985是为了让显示效果更明显。

然后定义图片的裁切属性,CSS定义如下:

#imgClip img {

position:absolute;

clip:rect(21px 68px 51px 38px);

}


这里的绝对定位是相对于id为imgClip的div而言的,clip中的数值按照上右下左的顺序排列的。

html代码:

<div id="imgClip">

<img src="clipimg.gif" width="159" height="99" />

</div>


将以上代码拷贝到新网页中,保存预览。效果应该如图二中所示。

需要注意的两点:

1.clip属性必须和定位属性postion一起使用才能生效。

2.clip裁切的计算坐标都是以左上角即(0,0)点开始计算,如图三所示,这点不像padding和margin,它们两个的右边距和下边距是从最右边和最下边开始计算的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: