理解CSS Clip属性及用法

应用Clip属性实现的一个简单效果图:

样式写法:

  1. .my-element {
  2. position: absolute;
  3. clip: rect(10px  350px  170px  0); /* IE4 to IE7 */
  4. clip: rect(10px, 350px, 170px, 0); /* IE8+ & other browsers */
  5. }

属性解析:

clip: { shape | auto | inherit } ;

auto 即浏览器默认解析,无clip效果,inderit 继承父层clip样式

shape 设置clip 形状,目前只支持 rect 即:矩形。 参数样例为:

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

有点不足的是 clip 属性只能使用于 位置属性设置为 absolute 或 fixed的元素

使用Clip实现的范例:

  1. <style>
  2. img {
  3. position: absolute;
  4. left: 10px;
  5. top: 60px;
  6. display: block;
  7. clip: rect(200px, 0, 0, 400px);
  8. -webkit-transition: all 0.5s ease-out;
  9. -moz-transition: all 0.5s ease-out;
  10. transition: all 0.5s ease-out;
  11. }
  12. span:hover ~ img {
  13. clip: rect(0, 400px, 200px, 0);
  14. }
  15. span {
  16. display: inline-block;
  17. padding: 10px;
  18. margin: 10px;
  19. background: #08C;
  20. color: white;
  21. font-family: "Helvetica", "Arial", sans-serif;
  22. font-weight: bold;
  23. text-shadow: 0 -1px rgba(0,0,0,0.3);
  24. text-align: center;
  25. cursor: pointer;
  26. }
  27. span:hover {
  28. background: #09C;
  29. }
  30. </style>
  31. <span>Hover me</span>
  32. <img src="http://lorempixel.com/400/200/">

2

  1. <style>
  2. body {
  3. overflow: hidden;
  4. }
  5. ul {
  6. padding: 0;
  7. margin: 10px;
  8. list-style: none;
  9. width: 300px;
  10. height: 300px;
  11. box-shadow: 0 0 10px rgba(0,0,0,0.5);
  12. }
  13. ul:after {
  14. clear: both;
  15. content: "";
  16. display: table;
  17. }
  18. li {
  19. position: relative;
  20. float: left;
  21. width: 100px;
  22. height: 100px;
  23. background: url(‘ http://subtlepatterns.subtlepatterns.netdna-cdn.com/patterns/pw_maze_white.png‘);
  24. cursor: pointer;
  25. }
  26. li:nth-of-type(3n+1) {
  27. clear: both;
  28. }
  29. img {
  30. position: absolute;
  31. display: block;
  32. clip: rect(0, 100px, 100px, 0);
  33. -webkit-transition: all 0.2s ease-out, z-index 0s;
  34. -moz-transition: all 0.2s ease-out, z-index 0s;
  35. transition: all 0.2s ease-out, z-index 0s;
  36. opacity: 0.9;
  37. }
  38. li:hover img {
  39. clip: rect(0, 300px, 300px, 0);
  40. z-index: 2;
  41. opacity: 1;
  42. }
  43. li:nth-of-type(3n+1):hover img {
  44. left: 310px;
  45. }
  46. li:nth-of-type(3n+2):hover img {
  47. left: 210px;
  48. }
  49. li:nth-of-type(3n):hover img {
  50. left: 110px;
  51. }
  52. li:nth-of-type(n+4):nth-of-type(-n+6):hover img {
  53. top: -100px;
  54. }
  55. li:nth-of-type(n+7):nth-of-type(-n+9):hover img {
  56. top: -200px;
  57. }
  58. </style>
  59. <ul>
  60. <li><img src="http://lorempixel.com/300/300/sports/"></li>
  61. <li><img src="http://lorempixel.com/300/300/animals/"></li>
  62. <li><img src="http://lorempixel.com/300/300/abstract/"></li>
  63. <li><img src="http://lorempixel.com/300/300/nightlife/"></li>
  64. <li><img src="http://lorempixel.com/300/300/city/"></li>
  65. <li><img src="http://lorempixel.com/300/300/food/"></li>
  66. <li><img src="http://lorempixel.com/300/300/people/"></li>
  67. <li><img src="http://lorempixel.com/300/300/nature/"></li>
  68. <li><img src="http://lorempixel.com/300/300/fashion/"></li>
  69. </ul>

关于Clip属性应用的进阶使用范例: http://tympanus.net/codrops/2013/01/17/putting-css-clip-to-work-expanding-overlay-effect/

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

理解CSS Clip属性及用法

时间: 2025-01-16 10:48:43

理解CSS Clip属性及用法的相关文章

CSS vertical-align属性的用法

这两天写个页面css的时候用到了vertical-align属性,使用过程中踩到了坑,所以总结如下: vertical-align的定义 W3C上对vertical-align的定义:vertical-align 属性设置元素的垂直对齐方式.该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐.允许指定负长度值和百分比值.这会使元素降低而不是升高.在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式. 文本通常根据不可见的基线进行对齐的,而字母的底部位于基线之上.vertical-

CSS margin属性与用法教程

margin 属性是css用于在一个声明中设置所有 margin 属性的简写属性,margin是css控制块级元素之间的距离, 它们之间是透明不可见的. margin属性包含了margin left :距左元素块距离(设置距左内边距) :margin top:距头顶(上)元素块距离(设置距顶部元素块距离):margin right :距右元素块距离(设置距右元素块距) :margin bottom :底元素块距离(设置距低(下)元素块距).其二维构建图可见CSS属性二维图. margin的解剖图

CSS Clip属性

Clip属性在W3C官网是这样进行描述的:“通过对元素进行剪切来控制元素的可显示区域,默认情况下,元素是不进行任何剪切的,但是也有可能剪切区域也显示的设置了clip属性”. .selector { clip: <shape> | auto | inherit } 首先你要注意:clip属性只能在元素设置了“position:absolute”或者“position:fixed”属性起作用.clip无法在设置“position:relative”和“position:static”上工作. 上面

第三课 CSS的属性与用法

1.border 边框 可以按顺序设置如下边框属性: 属性 值 描述 border-width  以PX为单位  边框的粗细 border-style 1.solid      实线 2.dashed  虚线 3.dotted   点线 边框的样式  border-color 可以用英文,如:red 也可以在色板里选择 边框的颜色  通常采用简写的方式: 简写方式:border:solid 1px #FOF; 实例: HTML部分: <div id="d1"></di

JS控制css float属性的用法经验总结

JavaScript与CSS属性的控制网上很常见,因此来说用js操作css属性是有一定规律的. 1.对于没有中划线的css属性一般直接使用style.属性名即可. 如:obj.style.margin,obj.style.width,obj.style.left,obj.style.position等. 2.对于含有中划线的css属性,将每个中划线去掉并将每个中划线后的第一个字符换成大写即可.如:obj.style.marginTop,obj.style.borderLeftWidth,obj.

css标签属性及用法

css标签及属性 HTML引入CSS的方法 1.嵌入式  <style type = "text/css">要写的样式</style> 2.外联式  <link rel = "stylesheet"  type = "text/css"  href = "css/public.css"  /> 3.行内式(主要用于JS控制元素的样式):style="color:red;"

CSS Clip剪切元素动画实例

1.CSS .fixed { position: fixed; width: 90px; height: 90px; background: red; border: 0px solid blue; left: 100px; top: 100px; } .fixed:before { position: absolute; width: 100px; height: 100px; margin: -5px; content: ''; box-shadow: inset 0px 0px 0px 2

深入理解css中的定位属性:position

深入理解css中的定位属性:position 在网页设计中,position属性的使用是非常重要的.有时如果不能认识清楚这个属性,将会给我们带来很多意想不到的困难. position属性共有四种不同的定位方法,分别是static.fixed.relative.absolute. 第一部分:static static定位是HTML元素的默认值,即没有定位,元素出现在正常的流中,因此,这种定位就不会收到top,bottom,left,right的影响. 如html代码如下: <div class=&qu

深入理解css中的margin属性

转载自  http://www.cnblogs.com/zhuzhenwei918/p/6124263.html 深入理解css中的margin属性 之前我一直认为margin属性是一个非常简单的属性,但是最近做项目时遇到了一些问题,才发现margin属性还是有一些"坑"的,下面我会介绍margin的基本知识以及那些"坑".这篇博文主要分为以下几个部分: margin--基础知识 margin--在同级元素(非父子关系)之间应用 margin--在父元素和子元素之间