文章目录
- 一、需求分析
- 二、代码分析
- 三、代码示例
- 四、执行结果
一、需求分析
默认状态下 , 界面中显示一张图片 :
当鼠标移动到 图片上时 , 显示如下效果 , 其中图片是逐渐放大的 , 有一个过渡 :
二、代码分析
上述盒子模型布局结构如下 , div 是外层父容器 , a 标签用于设置链接 , img 标签用于显示图片 ;
<div><a href="#"><img src="images/pic.jpg" alt=""></a></div>
上述图片 , 即使放大后 , 也没有 超出 父容器 div 盒子模型 的边界 , 因此这里需要 设置 超出边界外的 内容需要隐藏 , 父容器 需要 设置 overflow: hidden
样式 ;
/* 隐藏边界之外的元素 图片放大后不要超出边界 */overflow: hidden;
放大需要一个过程 , 这里将 放大操作 的过渡动画 时长 , 设置为 1 秒 ;
div img {/* 设置过渡动画 */transition: all 1s;}
鼠标移动到 图片 上方后 , 放大 , 这里使用 伪类选择器 div img:hover
, 设置 鼠标移动到 div img
标签上的样式 ;
div img:hover {/* 设置 鼠标 移动到 div::before 伪元素 上的效果 *//* 鼠标移动上去后 */transform: scale(1.2);}
三、代码示例
代码示例 :
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>CSS3 2D 转换 - scale 缩放</title><style>div {/* 设置浮动 令 div 从左到右排列 */float: left;/* 设置外边距 */margin: 10px;/* 隐藏边界之外的元素 图片放大后不要超出边界 */overflow: hidden;}div img {/* 设置过渡动画 */transition: all 1s;}div img:hover {/* 设置 鼠标 移动到 div::before 伪元素 上的效果 *//* 鼠标移动上去后 */transform: scale(1.2);}</style>
</head><body><div><a href="#"><img src="images/pic.jpg" alt=""></a></div><div><a href="#"><img src="images/pic.jpg" alt=""></a></div><div><a href="#"><img src="images/pic.jpg" alt=""></a></div>
</body></html>
四、执行结果
执行结果 :
- 默认状态为 :
- 鼠标移动到 第一张 图片后 , 显示的样式 , 第一章图片 在 div 盒子模型范围内 放大了 ;