首页 > 其他分享 >有趣的css - 暗黑模式切换开关

有趣的css - 暗黑模式切换开关

时间:2024-03-14 10:31:04浏览次数:26  
标签:box background color span34 开关 暗黑 border check css

大家好,我是 Just,这里是「设计师工作日常」,今天分享的是用 css 打造一个切换界面暗黑模式的按钮开关,通过点击来切换太阳和月亮的图标。


《有趣的css》系列最新实例通过公众号「设计师工作日常」发布。

目录

整体效果


核心代码部分,简要说明了写法思路;完整代码在最后,可直接复制到本地运行。

核心代码

html 代码

<label class="label34">
  <input class="inp34" type="checkbox">
  <span class="check-span34"></span>
</label>

labelinput 标签绘制开关按钮,span 标签绘制简约的月亮和太阳图标。

css 部分代码

.label34{
  width: 60px;
  height: 32px;
  position: relative;
  cursor: pointer;
}
.inp34{
  display: none;
}
.check-span34{
  width: 100%;
  height: 100%;
  display: block;
  background-color: #383838;
  border: 2px solid #383838;
  box-sizing: border-box;
  border-radius: 16px;
  transition: 0.3s linear;
}
.check-span34:after{
  content: '';
  width: 22px;
  height: 22px;
  background-color: #383838;
  box-shadow: inset -8px -4px 0 #ffffff;
  border-radius: 11px;
  position: absolute;
  top: 5px;
  left: 6px;
  box-sizing: border-box;
  transition: 0.3s ease-in-out;
}
.inp34:checked + .check-span34{
  background-color: #ffffff;
}
.inp34:checked + .check-span34:after{
  transform: translateX(26px);
  background-color: orange;
  box-shadow: none;
}

通过 :checked 属性选择器获取开关的状态,利用 span 标签通过 box-shadow 属性来实现月亮和太阳图标,然后通过 transition 过渡属性来实现开关时月亮和太阳图标的过渡变化,给人视觉上开关的效果。

完整代码如下

html 页面

<!DOCTYPE html>
<html lang="zh">
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="style.css">
    <title>暗黑模式切换开关</title>
  </head>
  <body>
    <div class="app">
      <label class="label34">
        <input class="inp34" type="checkbox">
        <span class="check-span34"></span>
      </label>
    </div>
  </body>
</html>

css 样式

/** style.css **/
.app{
  width: 100%;
  height: 100vh;
  background-color: #ffffff;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.label34{
  width: 60px;
  height: 32px;
  position: relative;
  cursor: pointer;
}
.inp34{
  display: none;
}
.check-span34{
  width: 100%;
  height: 100%;
  display: block;
  background-color: #383838;
  border: 2px solid #383838;
  box-sizing: border-box;
  border-radius: 16px;
  transition: 0.3s linear;
}
.check-span34:after{
  content: '';
  width: 22px;
  height: 22px;
  background-color: #383838;
  box-shadow: inset -8px -4px 0 #ffffff;
  border-radius: 11px;
  position: absolute;
  top: 5px;
  left: 6px;
  box-sizing: border-box;
  transition: 0.3s ease-in-out;
}
.inp34:checked + .check-span34{
  background-color: #ffffff;
}
.inp34:checked + .check-span34:after{
  transform: translateX(26px);
  background-color: orange;
  box-shadow: none;
}

页面渲染效果

以上就是所有代码,以及简单的思路,希望对你有一些帮助或者启发。


[1] 原文阅读


CSS 是一种很酷很有趣的计算机语言,在这里跟大家分享一些 CSS 实例 Demo,为学习者获取灵感和思路提供一点帮助,希望你们喜欢。

我是 Just,这里是「设计师工作日常」,求点赞求关注!

标签:box,background,color,span34,开关,暗黑,border,check,css
From: https://blog.csdn.net/justliu1989/article/details/136700327

相关文章

  • [数字华容道] Html+css+js 实现小游戏
    [数字华容道]Html+css+js实现小游戏效果图代码预览在线预览地址代码示例<!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title>数字华容道</title> <style> h1{ text-align:center; } .box{ border:......
  • HarmonyOS-基础之开关切换案例
    需求,点击按钮切换图片代码:@Entry//代表组件的入口(类装饰器)@Component//代表的自定义的组件->组件配置路由->页面structIndex{//定义响应式数据(属性装饰器)@StateisOn:boolean=false;@Statecount:number=0;//build:书写UI地方//内部......
  • wxss和css的区别
    目录1.语法差异2.尺寸单位3.样式导入WXSS示例代码:CSS示例代码:4.组件和属性的支持总结WXSS(WeiXinStyleSheets)和CSS(CascadingStyleSheets)都是用于描述文档样式的语言,但它们在微信小程序和网页开发中有一些关键的区别。以下是它们之间的主要差异,并附......
  • Css基础——vertical-align属性
    1、vertical-align的定义CSS的vertical-align属性使用场景:经常用于设置图片或者表单(行内块元素)和文字垂直对齐。官方解释:用于设置一个元素的垂直对齐方式,但是它只针对于行内元素或者行内块元素有效。2、vertical-align的语法vertical-align:baseline|top|midd......
  • CSS 学习第一天
    #层叠样式表样式:文字大小、背景颜色、元素宽高等等层叠:类似于化妆、一层一层的进行修饰表:列表#行内样式写在标签的style属性中(又称:内联样式)style 样式要符合CSS规范(名:值;)的形式,最好放在<head>标签中!!多个html无法重复使用设置的CSS样式#外部样式写在单独的.css文......
  • CSS学习第三期(新手勿喷)
    今天是我第三天学习CSS,今天在昨日的基础之上,学习了关于盒子的CSS属性,以及背景的属性,还有选择器和透明度,浮动,话不多说开始今天的分享。一。盒子的属性盒子的属性中有宽,高,背景颜色,文字颜色,文字的粗细,文字的大小,文字的水平对齐,上下和居中,边框的颜色,边框的宽度,还有变宽的线条;1.1......
  • 震惊!css居然可以这么用!
       如果说html是盖房子,那么css就是装修房子,它可以决定外观、样式、和位置等网页元素。一、css的几种使用方式    1、行内样式    所有标签都自带有style属性,因此给标签加一个style=“样式1:样式1的值;样式2:样式2的值”,如果有多个样式,样式和样式之间......
  • 开关电源的各功能电路(建议收藏)
    1、开关电源的电路组成开关电源的主要电路是由输入电磁干扰滤波器(EMI)、整流滤波电路、功率变换电路、PWM控制器电路、输出整流滤波电路组成。辅助电路有输入过欠压保护电路、输出过欠压保护电路、输出过流保护电路、输出短路保护电路等。开关电源的电路组成方框图如下:2......
  • CSS下划线动画
    <template><divclass="home"><h2class="title"><span>FromthemomentIsawyou,myheartbegantobeatinadifferentrhythm.Yoursmileislikearayofsunshinethatwarmsmywor......
  • css 闪烁 左右摆动效果
    代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title></title><style></style></head><body><divstyle="display:......