css的背景图的平铺方式有哪几种(纯CSS实现hover图片pop-out弹出效果的实例代码)
类别:Web前端 浏览量:2950
时间:2021-11-03 15:01:15 css的背景图的平铺方式有哪几种
纯CSS实现hover图片pop-out弹出效果的实例代码 实现原理主要图形的组成元素由背景和前景图两个元素,以下示例代码中,背景元素使用伪元素 figure::before
表示, 前景元素使用 figure img
表示,当鼠标 hover
悬浮至 figure
元素时,背景元素产生变大效果,前景元素产生变大并向上移动效果,从而从视觉上实现弹出效果。
背景元素 figure::before
前景元素 figure img
1. 使用 overflow: hidden
方式
主体元素的 html
结构由一个 figure
元素包裹的 img
元素构成:
<figure> <img src='./man.jpg" alt="css的背景图的平铺方式有哪几种(纯CSS实现hover图片pop-out弹出效果的实例代码)" border="0" />
在 css
中设置了两个变量 --hov
和 --not-hov
用于控制 hover
元素时的放大以及位移效果。并对 figure
元素添加 overflow: hidden
,设置 padding-top: 5%
用于前景元素超出背景元素时不被截断(非必需:并使用了 clamp()
函数用来动态设定 border-radius
以动态响应页面缩放)
figure { --hov: 0; --not-hov: calc(1 - var(--hov)); display: grid; place-self: center; margin: 0; padding-top: 5%; transform: scale(calc(1 - .1*var(--not-hov))); overflow: hidden; border-radius: 0 0 clamp(4em, 20vw, 15em) clamp(4em, 20vw, 15em); } figure::before, figure img { grid-area: 1/1; place-self: end center; } figure::before { content: ""; padding: clamp(4em, 20vw, 15em); border-radius: 50%; background: url('./bg.jpg" alt="css的背景图的平铺方式有哪几种(纯CSS实现hover图片pop-out弹出效果的实例代码)" border="0" />
2. 使用 clip-path: inset()
方式
<figure> <img src='./man.jpg" alt="css的背景图的平铺方式有哪几种(纯CSS实现hover图片pop-out弹出效果的实例代码)" border="0" />
样式基本上与第一种相同,使用 clip-path
来截取圆形背景区域。
figure { --hov: 0; --not-hov: calc(1 - var(--hov)); display: grid; place-self: center; margin: 0; padding-top: 5%; transform: scale(calc(1 - .1*var(--not-hov))); clip-path: inset(0 round 0 0 clamp(4em, 20vw, 15em) clamp(4em, 20vw, 15em)); } figure::before, figure img { grid-area: 1/1; place-self: end center; } figure::before { content: ""; padding: clamp(4em, 20vw, 15em); border-radius: 50%; background: url('./bg.jpg" alt="css的背景图的平铺方式有哪几种(纯CSS实现hover图片pop-out弹出效果的实例代码)" border="0" />
完整示例
<h2>使用overflow: hidden方式</h2> <figure> <img src='./man.jpg" alt="css的背景图的平铺方式有哪几种(纯CSS实现hover图片pop-out弹出效果的实例代码)" border="0" />
body { display: grid; background: #FDFC47; background: -webkit-linear-gradient(to right, #24FE41, #FDFC47); background: linear-gradient(to right, #24FE41, #FDFC47); } figure { --hov: 0; --not-hov: calc(1 - var(--hov)); display: grid; place-self: center; margin: 0; padding-top: 5%; transform: scale(calc(1 - .1*var(--not-hov))); } figure:nth-of-type(1) { overflow: hidden; border-radius: 0 0 clamp(4em, 20vw, 15em) clamp(4em, 20vw, 15em); } figure:nth-of-type(2) { clip-path: inset(0 round 0 0 clamp(4em, 20vw, 15em) clamp(4em, 20vw, 15em)); } figure, figure img { transition: transform 0.2s ease-in-out; } figure::before, figure img { grid-area: 1/1; place-self: end center; } figure::before { padding: clamp(4em, 20vw, 15em); border-radius: 50%; background: url('./bg.jpg" alt="css的背景图的平铺方式有哪几种(纯CSS实现hover图片pop-out弹出效果的实例代码)" border="0" />
到此这篇关于纯CSS实现hover图片pop-out弹出效果的文章就介绍到这了,更多相关css内容请搜索开心学习网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持开心学习网!
您可能感兴趣
- css3动画效果怎么调(CSS3动画之流彩文字效果+图片模糊效果+边框伸展效果实现代码合集)
- css3怎么改成3d(灵活运用CSS3特性绘制简易版围棋效果)
- css图片3D效果(用CSS实现图片的3D凹凸感凸出镜框外或凹陷镜框里)
- css如何让图片居中
- cssbackground(用 CSS background 实现刻度线的呈现)
- css3中基本选择符(CSS3 clip-path 用法介绍详解)
- css font的简写规则
- css cursor鼠标效果
- css3实现3d效果教程(纯 CSS3实现的霓虹灯特效)
- css如何两列布局(浅谈CSS 多栏布局Multi-Columns Layout)
- css样式退出效果(纯css实现选中切换效果的示例)
- css控制div上下移动(CSS鼠标悬浮DIV后显示DIV外的按钮解决方法)
- css控制表格换行
- css3导航菜单(CSS3实现的侧滑菜单)
- css3行内样式表图解(详解css3自定义滚动条样式写法)
- css选择器常用的用法和说明(针对IE6的一些CSS Hack编写时的注意点小结)
- 新款起亚霸锐实拍,比普拉多气派,配3.0T V6,引入国内或许能大卖(新款起亚霸锐实拍)
- ()
- 张勇 阿里新任掌门人(阿里新任掌门人)
- 毛戈平全国第一柜花落银泰 高端国货迎来 高光 时刻(毛戈平全国第一柜花落银泰)
- 14岁丧父 20岁丧母,从苦难走向辉煌的银泰创始人沈国军(14岁丧父20岁丧母从苦难走向辉煌的银泰创始人沈国军)
- 银泰集团董事长沈国军获评 北京影响力 十大企业家(银泰集团董事长沈国军获评)
热门推荐
- mysql查询时间格式化(MySQL时间格式化)
- python处理所有异常(Python异常处理知识点总结)
- python读取mat文件(详解Python Matplot中文显示完美解决方案)
- vue组件轮播(vue+rem自定义轮播图效果)
- 阿里云如何部署自己的服务器(如何快速搭建一个阿里云服务器)
- css设置图片透明度
- dedecms当天文章总数(dedecms5.7文章二次开发实现阅读全文功能的方法)
- try...catch... finally 的用法
- python函数基本操作(Python定义函数功能与用法实例详解)
- docker部署高性能服务器(Docker部署SQL Server 2019 Always On集群的实现)