css - 如何使用 css 制作这种按钮
问题描述
我想做一个花哨的按钮(按钮示例图片附在下面),我实际上在网站上看到了这个按钮
我是CSS的初学者,我对它的了解很少,但我仍然想知道我们如何制作这样的按钮,以及它的悬停效果,请帮助我......
按钮的图像:- 在此处输入图像描述
解决方案
查看他们作为@MMD 使用的代码,您可以看到有两个主要的东西在使用。
每个链接都有一个 before 伪元素,其左下边框绝对相对于 a 元素定位,并且边框颜色取自 CSS 变量 --bg。
要获得悬停效果,请注意在悬停时按钮向下和向左平移,而伪元素与按钮的偏移量减少到零。
<style>
body {
background: black;
width: 100vw;
height: 100vh;
}
.link {
width: 20vmin;
height: 10vmin;
padding: 2vmin;
background-color: var(--bg);
position: relative;
display: inline-block;
margin: 2vmin;
transform: translate(0, 0);
transition: transform 0.3s linear;
}
.link::before {
content: '';
position: absolute;
width: 100%;
height: 100%;
top: 1vmin;
left: -1vmin;
border: solid var(--bg) 1px;
display: inline-block;
}
.link:hover {
transform: translate(-1vmin, 1vmin);
}
.link:hover::before {
top: 0;
left: 0;
}
.link1 {
--bg: white;
}
.link2 {
--bg: cyan;
}
</style>
<body>
<a class="link link1">Link1</a>
<a class="link link2">Link2</a>
</body>
推荐阅读
- rust - 如何解释 Rust 中对可变类型的不可变引用?
- reporting-services - 将增量添加到 tablix SSRS
- javascript - .contains() 在循环时不接受数组元素作为参数
- node.js - 无法从 Angular 前端连接到 NodeJS 服务器
- javascript - 将字符串从骆驼格转换为蛇格,反之亦然
- c# - 如何在删除多条记录中最小化 C#、LINQ 代码
- python - 具有周期性边界条件的 NumPy N-dim 数组
- mongodb - 无法导入 MongoDB 公共 GPG 密钥:“连接超时”
- javascript - 文本框光标在网页中不可见
- windows - docker :manifest for microsoft/windowsservercore:latest not found