HTML&CSS:这个动态删除按钮打几分?

这段HTML和CSS代码创建了一个可交互的按钮,该按钮在鼠标悬停时会展开显示一个删除图标和文字标签

演示效果

HTML&CSS

html 复制代码
<!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>前端Hardy</title>
    <style>
        body {
            background: #e8e8e8;
            padding: 0;
            margin: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            height: 100vh;
        }

        .button {
            width: 50px;
            height: 50px;
            border-radius: 50%;
            background-color: rgb(20, 20, 20);
            border: none;
            font-weight: 600;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.164);
            cursor: pointer;
            transition-duration: .3s;
            overflow: hidden;
            position: relative;
        }

        .svgIcon {
            width: 12px;
            transition-duration: .3s;
        }

        .svgIcon path {
            fill: white;
        }

        .button:hover {
            width: 140px;
            border-radius: 50px;
            transition-duration: .3s;
            background-color: rgb(255, 69, 69);
            align-items: center;
        }

        .button:hover .svgIcon {
            width: 50px;
            transition-duration: .3s;
            transform: translateY(60%);
        }

        .button::before {
            position: absolute;
            top: -20px;
            content: "Delete";
            color: white;
            transition-duration: .3s;
            font-size: 2px;
        }

        .button:hover::before {
            font-size: 13px;
            opacity: 1;
            transform: translateY(30px);
            transition-duration: .3s;
        }
    </style>
</head>

<body>
    <button class="button">
        <svg viewBox="0 0 448 512" class="svgIcon">
            <path
                d="M135.2 17.7L128 32H32C14.3 32 0 46.3 0 64S14.3 96 32 96H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H320l-7.2-14.3C307.4 6.8 296.3 0 284.2 0H163.8c-12.1 0-23.2 6.8-28.6 17.7zM416 128H32L53.2 467c1.6 25.3 22.6 45 47.9 45H346.9c25.3 0 46.3-19.7 47.9-45L416 128z">
            </path>
        </svg>
    </button>
</body>
</html>

HTML结构

  • button:这是一个按钮元素,用于触发点击事件。
  • svgIcon:这是一个SVG图标,用于在按钮中显示一个图标。viewBox属性定义了SVG画布的尺寸和位置,class="svgIcon"用于应用SVG相关的样式。

CSS样式

  • .button:定义了按钮的基本样式,包括尺寸、边框半径、背景颜色、边框、字体权重、显示方式、对齐方式、盒子阴影、光标样式、过渡效果、溢出隐藏和定位。
  • .svgIcon:定义了SVG图标的基本样式,包括宽度和过渡效果。
  • .svgIcon path:定义了SVG图标路径的填充颜色。
  • .button:hover:定义了鼠标悬停在按钮上时的样式,包括宽度、边框半径、背景颜色、对齐方式和过渡效果。
  • .button:hover .svgIcon:定义了鼠标悬停在按钮上时SVG图标的样式,包括宽度、过渡效果和Y轴变换。
  • .button::before:使用了伪元素::before来在按钮上添加一个隐藏的文本标签,包括位置、内容、颜色、过渡效果和字体大小。
  • .button:hover::before:定义了鼠标悬停在按钮上时伪元素::before的样式,包括字体大小、透明度、Y轴变换和过渡效果。
相关推荐
W.A委员会15 分钟前
CSS中的单位
css·css3·html5
donecoding1 小时前
一个 sudo 引发的血案:npm 全局包权限错乱彻底修复
前端·node.js·前端工程化
风骏时光牛马1 小时前
Raku正则匹配与数据批量处理实操案例
前端
nbwenren1 小时前
2026实测:Gemini 3 镜像站视觉能力实践——拍照原型图,一键生成 HTML+CSS 代码
前端·css·html
Lee川1 小时前
Prisma 实战指南:像搭积木一样设计古诗词数据库
前端·数据库·后端
Linsk1 小时前
Java和JavaScript的关系真是雷峰和雷峰塔的关系吗?
java·javascript·oracle
当时只道寻常1 小时前
浏览器文本复制到剪贴板:企业级最佳实践
javascript
jinanwuhuaguo2 小时前
(第二十九篇)OpenClaw 实时与具身的跃迁——从异步孤岛到数字世界的“原住民”
前端·网络·人工智能·重构·openclaw
广州华水科技2 小时前
深度测评2026年单北斗GNSS位移监测系统推荐,与高口碑变形监测设备一同引领行业新风尚
前端