HTML&CSS :用 CSS 遮罩,让产品展示图 “高级感爆棚”

这段HTML和CSS代码实现了一个简单的网页布局,展示了两张图片,并通过CSS的mask属性为图片添加了特殊的遮罩效果。


大家复制代码时,可能会因格式转换出现错乱,导致样式失效。建议先少量复制代码进行测试,若未能解决问题,私信回复源码两字,我会发送完整的压缩包给你。

演示效果

HTML&CSS

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>公众号关注:前端Hardy</title>
    <style>
        img {
            --o: 20px;
            --b: 8px;
            mask:
                conic-gradient(#000 0 0) no-repeat 50%/ calc(100% - 2*(var(--o) + var(--b))) calc(100% - 2*(var(--o) + var(--b))),
                conic-gradient(from 90deg at var(--o) var(--o), #0000 25%, #000 0) 0 0/calc(100% - var(--o)) calc(100% - var(--o));
            width: 250px;
        }

        body {
            margin: 0;
            min-height: 100vh;
            display: grid;
            grid-auto-flow: column;
            place-content: center;
            gap: 50px;
            background: repeating-linear-gradient(135deg, #D9CEB2 0 20px, #E0E4CC 0 40px);
        }
    </style>
</head>

<body>
    <img src="https://picsum.photos/id/237/300/300">
    <img src="https://picsum.photos/id/1011/300/300" style="--o:30px;--b:5px;">
</body>

</html>

HTML 结构

  • 包含两个img元素,分别加载了两张图片。图片的URL指向了Picsum Photos服务,这是一个提供随机图片的API。
  • 第一张图片使用了默认的CSS变量值,第二张图片通过内联样式覆盖了部分CSS变量值(--o: 30px; --b: 5px;)。

CSS 样式

  • img样式:定义了两个CSS变量:
  • --o:用于控制遮罩的偏移量,默认值为20px。
  • --b:用于控制遮罩的边界宽度,默认值为8px。
  • 使用mask属性为图片添加了遮罩效果:
  • 第一个conic-gradient:创建了一个圆形的遮罩,位于图片的中心,大小为calc(100% - 2*(var(--o) + var(--b)))。
  • 第二个conic-gradient:创建了一个四分之一圆形的遮罩,位于图片的左上角,大小为calc(100% - var(--o))。
  • 设置图片的宽度为250px。
  • body样式:将页面内容排列为水平布局。使用place-content: center将内容水平和垂直居中。
  • 设置背景为重复的线性渐变,形成棋盘格样式。

各位互联网搭子,要是这篇文章成功引起了你的注意,别犹豫,关注、点赞、评论、分享走一波,让我们把这份默契延续下去,一起在知识的海洋里乘风破浪!

相关推荐
DsirNg19 小时前
响应式的真正输入:为组件重新定义可用空间
css·flexbox·grid·前端架构·响应式布局·设计系统·container queries
PYB320 小时前
【Web·基础学习】基础布局
css·html·web
晓得迷路了20 小时前
栗子前端技术周刊第 148 期 - Turborepo 2.11、Chrome 154 iframe、Node.js 26...
前端·javascript·css
cindershade1 天前
响应式的真正输入:为组件重新定义可用空间
css·flexbox
用户298698530141 天前
Python 文档格式转换实战:RTF 转 PDF 与 HTML
python·html·api
志尊宝7 天前
Vue3 零基础每日笔记(055):组件里正确使用 store——storeToRefs 解构与 $patch 批量修改
笔记·vue·html·前端开发·软件开发
吴声子夜歌7 天前
HTML——看似普通的元素的背后(<a>标签)
html
IMPYLH7 天前
HTML 的 <style> 元素
前端·html
刃神太酷啦7 天前
前端入门第一课:HTML 基础语法 + 常用标签 + 实战全解
服务器·c语言·前端·javascript·css·c++·html
IMPYLH7 天前
HTML 的 <strong> 元素
前端·html