当前位置:Gxlcms > css > css如何剪切元素?​clip属性的使用

css如何剪切元素?​clip属性的使用

时间:2021-07-01 10:21:17 帮助过:42人阅读

我们可以使用css clip属性来剪切元素的区域,仅保留元素的一部分可见,被留下了的可见元素部分称为剪辑区域。本篇文章就给大家介绍css clip属性是如何剪切元素的,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所助。

1543394128613019.jpg

在css中,clip属性只能在设置了绝对定位:“position:absolute”或者固定定位:“position:fixed”属性的元素上起作用。它对设置了相对定位:“position:relative”或静态定位:“position:static”属性的元素上没有任何影响。

使用时clip,我们可以指定向内的偏移量,以指定要剪切的元素边缘的区域。

clip属性仅接受一个形状函数,即rect()函数,作为值。下面我们来看看rect()函数基本语法:

  1. rect(< top >,< right >,< bottom >,< left >);

我们可以看出,rect()函数采用四个参数,这些参数分别是从元素的顶部和左侧边界向内偏移的偏移量。

顶部和底部值都定义来自顶部边界的偏移,而左边和右边值都定义来自左边边界的偏移。

1.jpg
显示剪辑属性偏移量

裁剪区域或在裁剪元素后保持可见的元素部分由rect()函数的偏移量定义,rect()函数可以创建的矩形形状,如上图所示。

元素的剪切区域会把剪切区域之外的元素的任何方面(例如,内容,子项,背景,边框,文本修饰,轮廓等)剪切掉。已剪切的内容不会导致溢出。

clip属性的使用

基本语法:

  1. clip: auto | rect() | inherit;

rect() 函数的语法:

  1. rect(<top>, <right>, <bottom>, <left>)

<top>, <right>, <bottom>, <left>里都是使用长度值来设置的

说明:

1、auto:该元素未被剪裁。

2、inherit:元素从其父级继承其clip值。

3、rect():指定矩形剪切区域。也就是说,它指定在剪切元素后的可见的元素区域是矩形的。

rect()函数有四个参数。这些参数可以是逗号分隔或空格分隔。

  1. rect(< top >,< right >,< bottom >,< left >)/ *标准语法* /
  2. /* 要么 */
  3. rect(< top > < right > < bottom > < left >)/ *向后兼容语法* /

rect()函数还接受关键字auto作为偏移量。值auto表示裁剪区域的给定边缘将与元素的边界框的边缘相同。

rect()函数的参数:顶部,右侧,底部和左侧偏移也接受负长度值。

例:元素的部分垂直地保持在“40px”和“150px”之间,并且水平地保持在“80px”和“260px”之间

  1. img {
  2. clip:rect(275px,575px,425px,365px);
  3. }

效果图:

2.jpg
显示剪切元素后的可见区域示例

在Internet Explorer 4到7支持较旧的空格分隔语法,因此为了确保剪辑在这些浏览器中有效,我们可以两种方法都写上:

  1. img {
  2. clip:rect(40px 260px 150px 80px); / * IE 4到7 * /
  3. clip:rect(40px,260px,150px,80px); / * IE8 +和其他浏览器* /
  4. }

clip属性的示例:

html代码:

  1. <div class="container">
  2. <p>
  3. 在四个图像上悬停,以查看它们的剪辑区域展开。
  4. </p>
  5. <div class="element element-1">
  6. <img src="images/cat-1.jpg" alt="">
  7. </div>
  8. <div class="element element-2">
  9. <img src="images/cat-4.jpg" alt="">
  10. </div>
  11. <div class="element element-3">
  12. <img src="images/cat-3.jpg" alt="">
  13. </div>
  14. <div class="element element-4">
  15. <img src="images/cat-2.jpg" alt="">
  16. </div>
  17. </div>

css代码:

  1. .container {
  2. margin: 40px auto;
  3. width: 300px;
  4. position: relative;
  5. }
  6. .element {
  7. width: 300px;
  8. height: 300px;
  9. z-index: 0;
  10. position: absolute;
  11. -webkit-transition: clip .4s ease-in-out, z-index .2s linear .4s;
  12. transition: clip .4s ease-in-out, z-index .2s linear .4s;
  13. }
  14. img {
  15. max-width: 100%;
  16. }
  17. .element-1 {
  18. background-color: #2c3e50;
  19. clip: rect(0px, 150px, 150px, 0px);
  20. }
  21. .element-2 {
  22. background-color: #f39c12;
  23. clip: rect(0px, 300px, 150px, 150px);
  24. }
  25. .element-3 {
  26. background-color: #16a085;
  27. clip: rect(150px, 150px, 300px, 0px);
  28. }
  29. .element-4 {
  30. background-color: #8e44ad;
  31. clip: rect(150px, 300px, 300px, 150px);
  32. }
  33. .element:hover {
  34. z-index: 1;
  35. -webkit-transition: clip .4s ease-in-out .2s, z-index .2s linear;
  36. transition: clip .4s ease-in-out .2s, z-index .2s linear;
  37. clip: rect(0px, 300px, 300px, 0px);
  38. }

效果图:

GIF.gif

浏览器支持度

所有主流浏览器都支持clip属性:Chrome,Firefox,Safari,Opera,Internet Explorer以及Android和iOS。

Internet Explorer版本7回到4支持旧的空格分隔rect()语法。从IE8开始支持标准的逗号分隔语法。

总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。

以上就是css如何剪切元素?​clip属性的使用的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行