css3中clip属性

时间:2022-03-10 23:26:53

clip 属性用来设置元素的形状。用来剪裁绝对定位元素。

当一幅图像的尺寸大于包含它的元素时,"clip" 属性允许规定一个元素的可见尺寸,这样此元素就会被修剪并显示在这个元素中。

用这个属性需要注意以下三点:

1.clip属性只能用于绝对定位元素,position:absolute或fixed。

2.clip属性有三种取值:auto  默认的

            inherit继承父级的

          一个定义好的形状,但现在只能是方形的 rect()

  clip: { shape | auto | inherit } ;

3.shape   rect(<top>, <right>, <bottom>, <left>)中的四个元素不可省略。

下面看下clip属性的rect()函数

clip: rect(<top>, <right>, <bottom>, <left>);

具体四个数值表示什么呢?看两张图即可理解。

css3中clip属性

css3中clip属性

简单的理解就是:图片飞高就是bottom-top,宽就是right-left.当然图片不会是负数。

clip属性对于多数浏览器都可以用,写法会有点不同

.my-element {

    position: absolute;
    clip: rect(10px  350px  170px  0); /* IE4 to IE7 */
    clip: rect(10px, 350px, 170px, 0); /* IE8+ & other browsers */
}

下面写一实例

<!doctype html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1" />
<title>clip</title>
<style type="text/css">
img {
position:absolute;
top:0;
left:10px;
clip: rect(52px, 280px, 290px, 95px);
}
</style>
</head>
<body>
<img src="00.jpg"/>
</body>
</html>

  原图和页面显示图片如下

css3中clip属性(原图)

css3中clip属性(页面显示)

参考资料:http://tympanus.net/codrops/2013/01/16/understanding-the-css-clip-property/