CSS样式——霓虹灯开关按钮
CSS样式——霓虹灯开关按钮
凌尘k整体效果
💎知识点:
1️⃣ 使用
display: grid
和place-items: center
来实现居中对齐,使整个页面的内容在视口中居中显示。2️⃣ 结合使用
linear-gradient
和radial-gradient
来创建复杂的背景效果。使用多个渐变可以让背景具有层次感。3️⃣ 使用
@property
定义自定义属性--x
和--c
,以便在组件中灵活地控制角度和颜色。这种方式可以提高代码的可维护性和可读性。4️⃣ 通过
::before
和::after
创建额外的视觉效果,比如内阴影和边框效果。这种方法常用于增加元素的装饰性,而不需要额外的HTML结构。5️⃣ 定义
:hover
和:checked
状态的样式,提供用户交互反馈。这些效果可以使按钮或其他元素在用户操作时表现出明显的变化,提升用户体验。6️⃣ 使用
@media
查询来处理不同的媒体类型,如打印和减少运动效果的偏好。这使得在不同环境下,页面能够以适当的方式展示。7️⃣ 使用
transition
属性来实现平滑的过渡效果,提升视觉效果的流畅性。通过设置不同的过渡时长,可以控制元素状态改变的速度。
🔑思路:
定义好按钮通用样式,通过使用网格布局和渐变背景,结合自定义属性和伪元素,创建了一个美观且具有交互性的UI组件。实现了平滑的过渡效果,并在用户悬停或选中时提供明显的视觉反馈,同时通过媒体查询确保在不同环境下的适应性,整体设计注重视觉层次感和用户体验。
核心代码部分,简要说明写法思路;完整代码在最后,可直接复制到本地运行。
核心代码
html 代码
1 | <input type="checkbox" role="switch" class="neon" /> |
input
主体。
css 部分代码
1 | body { |
body
样式设置了整个页面的布局,使用CSS Grid将内容居中显示,并设置了全屏高度和渐变背景色。
- 接下来定义了两个自定义CSS属性(也称为CSS变量)
--x
和--c
,分别用于控制旋转角度和颜色。这些变量可以在整个样式表中重复使用,并且可以被继承。
.neon
类定义了按钮的基本样式,包括字体大小、无外观(appearance)、相对定位、宽高比、圆角边框、背景渐变、阴影效果、过渡动画、滤镜效果以及鼠标悬停时的指针样式。
.neon::before
和.neon::after是伪元素,用于创建按钮内部的额外视觉效果。::before
伪元素创建了一个绝对定位的背景块,而::after
伪元素则创建了一个带有边框和遮罩效果的圆形。
.neon:hover
和.neon:checked
定义了按钮在鼠标悬停和被选中时的样式变化,包括旋转角度、颜色和阴影的变化。
.neon[disabled]
样式用于定义当按钮被禁用时的样式,即降低其不透明度。
@media print
媒体查询用于定义打印时的样式,这里移除了背景并确保颜色能够准确打印。
- 最后一个媒体查询
@media (prefers-reduced-motion)
用于响应那些偏好减少动画的用户,它会禁用所有的过渡和动画效果。
完整html代码
1 |
|