css原生switch开关,丝滑过度

目录

一、结构

二、css

三、js


废话不多少,直接上才艺! 

一、结构

checked为选中     没有checked为未选中

<label class="switch">
  <input type="checkbox">
  <div class="slider round"></div>
</label>

<label class="switch">
  <input type="checkbox" checked>
  <div class="slider round"></div>
</label>

二、css

.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
}

.switch input {
    display:none;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color: #2196F3;
}

input:focus + .slider {
  box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
  -webkit-transform: translateX(26px);
  -ms-transform: translateX(26px);
  transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}

三、js

点击事件可以通过给slider 或者 round元素进行操控   控制状态可以给input添加一个id在进行获取dom,然后添加/删除checked属性即可 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Razor页面上的switch开关可以使用HTML的`<input>`元素来实现。在Razor页面中,您可以使用以下代码来创建一个switch开关: ```html <label class="switch"> <input type="checkbox"> <span class="slider"></span> </label> ``` 这里使用了一个`<label>`元素来包含switch开关,并使用CSS样式来设置它的外观。`<input>`元素的`type`属性设置为`checkbox`,将其转换为一个开关按钮。`<span>`元素是一个空元素,作为开关按钮的滑块。 然后,您可以通过CSS样式来设置开关按钮的外观。例如: ```css .switch { position: relative; display: inline-block; width: 60px; height: 34px; } .switch input { opacity: 0; width: 0; height: 0; } .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; -webkit-transition: .4s; transition: .4s; } .slider:before { position: absolute; content: ""; height: 26px; width: 26px; left: 4px; bottom: 4px; background-color: white; -webkit-transition: .4s; transition: .4s; } input:checked + .slider { background-color: #2196F3; } input:focus + .slider { box-shadow: 0 0 1px #2196F3; } input:checked + .slider:before { -webkit-transform: translateX(26px); -ms-transform: translateX(26px); transform: translateX(26px); } ``` 这些CSS样式将为开关按钮设置外观,并在开关状态改变时进行动画效果。您可以根据需要自定义这些样式。 最后,您可以使用C#代码来处理开关状态的更改。例如: ```csharp @{ bool isSwitchOn = false; // 可以根据需要设置开关的初始状态 if (Request.Form["switch"] == "on") { isSwitchOn = true; // 处理开关打开的情况 } else { // 处理开关关闭的情况 } } <label class="switch"> <input type="checkbox" name="switch" @(isSwitchOn ? "checked" : "")> <span class="slider"></span> </label> ``` 在这个例子中,我们将开关的状态保存在一个布尔变量`isSwitchOn`中,并在HTML表单中使用一个名为`"switch"`的`<input>`元素来表示开关的状态。当用户更改开关状态并提交表单时,您可以通过检查`Request.Form["switch"]`的值来确定开关的新状态,并执行相应的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值