css实现单选框效果

article/2025/11/6 0:07:10

效果查看:

请添加图片描述

一、搭建好html页面结构

先在html页面中创建出一个盒子用于存放按钮和文字
请添加图片描述
光一个大盒子还不够,用span标签来说明文字,i标签来表示单选框中间的那坨圆点,这些都用一个小盒子套住,这个小盒子用于勾勒单选框的边框。
请添加图片描述
如图。这样html页面结构就完成了

二、规划样式

将小盒子的边框勾勒出来,再将各个元素的样式都做出来后初始状态如下,对了,千万别忘了给小盒子一个过渡效果的样式,否则后续的操作会没有动态效果哦~!
请添加图片描述

三、移入效果

纯css怎么达到一个拟点击效果,我这里选择是hover伪类,虽然有点瑕疵,但是能看出来效果。
该伪类放在小盒子这个样式上,因为小盒子是所有所需子元素的父元素,直接使用这个父元素即可调用子元素。
将鼠标移入小盒子元素中,代表OFF的span标签应该显示,而代表NO的span标签就应该隐藏了,同时,中间的原点应该移至左边。
点击后的效果如图:请添加图片描述

四、效果的关键点

这么一个小玩意,关键点在于初始的样式跟点击后的样式编写,我们只是在两个样式中添加了一个过渡效果而已。
针对html样式其关键点在于小盒子也就是.content这个元素,我们给这个元素一个相对定位,其中子元素span标签,跟i标签就可以根据.content元素来进行位置的调整。

五、JS实现真正的点击事件

如果需要点击事件,可以用js来编写,样式的变化可以通过添加类的方式来简化代码量。
创建一个变量用于记录单选框的选中或取消状态

具体呢,将:hover伪类换成.active当然这个类是自定义的。

当.active类添加在小盒子时就跟:hover伪类一样了,这样我们只需要在js中编写一个点击事件,在点击事件中向小盒子添加.active类,同时将记录状态的变量改为选中状态,这样就完成选中状态。

当需要不勾选单选框时,只需去除.active类,改回记录状态的变量值即可。

六、Js演示:

请添加图片描述

<!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>css实现单选框按钮</title><style>.box{z-index: -1;position: relative;width: 100%;height: 100px;display: flex;justify-content: center;}.content{cursor: pointer;margin-top: 100px;transition: all .5s;height: 20px;width: 55px;position: relative;padding: 2px;border-radius: 20px;border: 2px solid rgb(102, 102, 102) ;background-color: rgb(102, 102, 102, .1);}.content>span{color: rgb(102, 102, 102, .9);font-weight: bold;position: absolute;border-radius: 20px;opacity: 1;transition: all .5s;}.content>span:nth-of-type(1){left: 10%;opacity: 0;}.content>span:nth-of-type(2){right: 18%;opacity: 1;}.content>i{width: 20px;height: 20px;background-color: rgb(102, 102, 102);position: absolute;border-radius: 1000px;transition: all .5s;left: 5%;}/* 移入效果 *//*.content:hover{background-color: rgba(172, 255, 47, 0.1);border:2px solid rgb(68, 168, 68);}.content:hover>span{color: rgb(68, 168, 68);}.content:hover>span:nth-child(1){opacity: 1;}.content:hover>span:nth-child(3){opacity: 0;}.content:hover>i{background-color:rgb(68, 168, 68);left: 63%;}*//* 点击事件 */.content.active{background-color: rgba(172, 255, 47, 0.1);border:2px solid rgb(68, 168, 68);}.content.active>span{color: rgb(68, 168, 68);}.content.active>span:nth-child(1){opacity: 1;}.content.active>span:nth-child(3){opacity: 0;}.content.active>i{background-color:rgb(68, 168, 68);left: 63%;}</style>
</head>
<body><div class="box"><div class="content"><span>OFF</span><i></i><span>NO</span></div></div><script>window.onload = function (params) {var btn = document.querySelector(".content");var state = false;btn.onclick = function () {if (state==true) {btn.setAttribute("class","content")state = falsereturn;}btn.setAttribute("class","content active")state = true}}</script>
</body>
</html>

http://chatgpt.dhexx.cn/article/kqT5VjhK.shtml

相关文章

Axure做单选框

1、首先我们打开Axure 2、找到单选框 3、然后我们拖出来并复制一个 4、第一个命名为“左” 5、第二个命名为“右” 6、将“左”单选框的文字改为“是” 7、将“右”单选框的文字改为“否” 8、给“左”单选框设置一个组&#xff0c;打个“1”好了 9在“右”单选框按钮那直接找到…

单选框事件

-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术&#xff1a;vs c# 作者&#xff1a; xqll 撰写时间&#xff1a;2019/8/18 -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 日常编程中&#xff0c;我们经常要用到单选框来选择获取到自己需要的东西 为自己犯过的错以加深一…

layui单选框事件监听

layui单选框事件监听 <form class"layui-form dianxuan" action""style"float: left;margin-top: 7px;margin-right: 20px;"><div class"layui-form-item"><label class"layui-form-label" style"width…

html单选框选中状态,jquery怎么判断单选框是否选中

jquery判断单选框是否选中的方法&#xff1a;1、通过单选框选中的值判断。2、通过单选框的checked属性判断是否选中。 jquery判断单选框是否选中的两种方法介绍&#xff1a; 第一种&#xff1a;利用选中值判断选中/p> Transitional//EN" "http://www.w3.org/TR/xh…

vue单选框选中_vue中怎么处理多个单选框,且单选框互不影响的方案

项目需求是&#xff1a;需要提交多个老师的信息&#xff0c;信息中包含老师的职位&#xff0c;职位是单选框&#xff1b; 难点是&#xff1a;怎么确保多个单选框不冲突&#xff0c;单选框怎么用v-for遍历出来&#xff1b; 最终效果是&#xff1a; 1、首先最外层先通过数组遍历出…

自定义单选框样式方法

元素的初始样式都不怎么好看&#xff0c;我们一般修改样式会想到直接在那元素上添加样式&#xff0c;比如background、border等&#xff0c;在大多数元素上是可以这么做&#xff0c;但当遇上了单选框会毫无反应。 例&#xff1a; <!DOCTYPE html> <html lang"e…

html正方形单选框代码,单选框/复选框

[html]代码库单选、复选框Demo function getSelectedEffect(effects) {//获取效果选项 for ( var i 0; i < effects.length; i) { if (effects[i].checked) return effects[i].value; } return "[没有选择]"; } function getSelectedPrograms(programs) {//获取栏…

Tkinter单选框

单选框和复选框类似&#xff0c;只是使用Radiobutton。 可以修改上一个测试代码即可。 from tkinterimport *ChooseP FalseChooseC Falsedef funChooseP():global lab, radioBtnA, ChoosePif ChooseP False:ChooseP Truelab["text"] "选择 Python 语言学习&qu…

单选框的用法即几种常见对话框

一、单选框 RadioGroup的组事件&#xff0c;可以将各自不同的RadioButton&#xff0c;设定与同一个RadioGroup组里的按钮&#xff0c;做出单一选择。 RadioGroup中使用类组单选按钮。如果我们选中一个单选按钮属于一个单选按钮组&#xff0c;它会自动取消选中同一组内的任何先…

HTML基础1:单选框

一.单选框基础 1.基本写法&#xff1a;<input type“radio” / > 2.实现默认选中&#xff0c;使用checked。 3.若存在多个单选框都在一个分组里&#xff0c;要实现同一时间只能选中一个单选框设置name属性相同即可。 4.提交数据到后台时&#xff0c;后台接收的是value设…

Radio单选框

Radio单选框 在一组备选项中进行单选 基础用法 使用Radio组件&#xff0c;只需要设置v-model绑定变量&#xff0c;选中意味着变量的值为相应Radio label属性的值&#xff0c;label可以是string、number或boolean。 <template><el-radio v-model"radio" …

Handler消息机制

1 线程间通信 线程间通信&#xff1a;ITC&#xff0c;Inter-Thread Communication 同一进程中线程与线程之间是共享内存的。对于可以共享的变量任何线程都可以访问和修改&#xff0c;但是要做好同步。 线程之间不会彼此干扰&#xff0c;是因为有内存管理机制。 2 Handler消息…

全面讲解 Handler机制原理解析 (小白必看)

简介 Handler是Android中提供的一种异步回调机制&#xff0c;也可以理解为线程间的消息通信。 为了避免ANR,我们通常会把一些耗时操作&#xff08;比如&#xff1a;网络请求、I/O操作、复杂计算等&#xff09;放到子线程中去执行&#xff0c;而当子线程需要修改UI时则子线程需要…

Android :安卓学习笔记之 Handler机制 的简单理解和使用

Android Handler机制的简单理解和使用 Handler机制1、Handler使用的引出2、背景和定义3、作用和意义4、主要参数5、工作原理及流程5.1、对应关系 6、深入分析 Handler机制源码6.1、Handler机制的核心类6.2、核心方法6.3、方式1&#xff1a;使用 Handler.sendMessage&#xff08…

多线程通信---Handler机制

目录 作者简介&#xff1a; 1. 概述&#xff1a; 1.1 如何把子线程中计算的结果传给主线程&#xff1f; 2.handler异步通信系统 2.1 多线程通信过程 3.代码演示 3.1 子线程部分 3.2 主线程handler部分 3.3 MainActivity代码 3.4 布局代码 4.效果演示 5.拓展 作者简介&a…

android handler的机制原理,Android Handler 机制实现原理分析

handler在安卓开发中是必须掌握的技术&#xff0c;但是很多人都是停留在使用阶段。使用起来很简单&#xff0c;就两个步骤&#xff0c;在主线程重写handler的handleMessage( )方法&#xff0c;在工作线程发送消息。但是&#xff0c;有没有人想过这种技术是怎么实现的呢&#xf…

android源码学习-Handler机制及其六个核心点

前言&#xff1a; 该文属于安卓源码探究专栏中的文章&#xff0c;专栏所有文章清单链接如下&#xff0c;欢迎大家阅读。 安卓源码探究 一、Handler机制介绍 1.1 Handler是什么&#xff1f; Handler是安卓中很常用的一种机制&#xff0c;其主要用于线程之间的通信。 1.2 为…

Handler机制原理----全解

Handler机制&#xff0c;我们就会想到&#xff0c;他有四个重要的对象组成&#xff0c;分别是&#xff1a;Handler&#xff0c;Message,MessageQueue,Looper. 那Handler是如何工作的呢&#xff1f; 例如&#xff0c;你想刷新主界面的TextView&#xff0c;无奈你不在主线程&am…

Android面试必问之Handler机制

Android面试必问之Handler机制 1. 作用2. 基本使用2.1 创建Handler实例2.2 发送消息2.3 使用post方法2.4 使用sendMessage方法2.5 通过Message与Handler进行通信的步骤 3. 源码分析3.1 为什么Handler能够切换线程执行&#xff1f;3.2 Handler.post(Runnable) 方法是运行在新的线…

java中handler机制_自己动手撸一个Handler,让你彻底搞懂Handler机制,揍吻你服不服?...

原标题:自己动手撸一个Handler,让你彻底搞懂Handler机制,揍吻你服不服? 一、关于Handler Handler对于我们Android开发者来说应该是再熟悉不过了,这也是在android中最重要的消息机制,特别是在面试笔试时,Handler机制也是最常问到的话题。今天我们就来动手撸一个自己写的H…