2D转换transform

113 阅读1分钟

今天来带大家做一个比较有意思的CS3中2D转换的一个小案例: 左侧为鼠标悬停时效果图,右侧为正常效果。

对比效果.png

样式需求:

  • [1] 鼠标移入时下方文字会,进行向上移动
  • [2] 鼠标悬停图片放大
  • [3] 鼠标悬停的同时整个图片会被遮罩层覆盖(出现一层过渡阴影)

样式实现:

  • [1] 的实现:我们的思路肯定是绝对定位,有绝对定位我们第一反应就是找相对定位,相对定位肯定是装图片的父盒子 代码展示如下:

绝对定位.png

移入时.png

  • [2] 的实现:图片放大我们要用到transform属性,transform:scale(1.4); 值得注意的是:scale写入一个值时:则为X(宽)、Y(高)等比例放大(特别注意的是该数值不能带单位); scale可以写入两个值,第一个值为宽度缩放,第二个值为高度缩放(例如transform:scale(1.4,3))

代码展示如下:

缩放.png

  • [3] 的实现:鼠标悬停的同时整个图片会被遮罩层覆盖,说道这里可能有些小伙伴就会觉得这个简单,opacity不就可以轻松实现么,也可以给图片添加阴影效果呀!但是这里却不行这里面的遮罩是有渐变效果的,opacity很难实现这种效果。这里我是用 background-image: linear-gradient 渐变效果来实现的。默认情况下background-image: linear-gradient;渐变方向是由上到下,如果想要从左到右过渡则要在transparent(透明色)第一个颜色前面加上 to right

代码展示如下:

颜色过渡png.png