自定义单选框样式方法

自定义单选框样式方法元素的初始样式都不怎么好看,我们一般修改样式会想到直接在那元素上添加样式,比如background、border等,在大多数元素上是可以这么做,但当遇上了单选框会毫无反应。例:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF

大家好,又见面了,我是你们的朋友全栈君。

元素的初始样式都不怎么好看,我们一般修改样式会想到直接在那元素上添加样式,比如background、border等,在大多数元素上是可以这么做,但当遇上了单选框会毫无反应。

例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>style无法直接修改单选框样式</title>
    <style> .radio{ 
     width: 100px; height: 100px; background-color: red; } </style>
</head>
<body>
<input type="radio" class="radio"/>
</body>
</html>

在这里插入图片描述

怎么解决呢?

使用label进行伪元素(或一些标签,比如i,em,span等)和input绑定,隐藏单选框,显示伪元素,且使用css选择器:checked进行点击后伪元素(或绑定标签)内容(或样式)的修改。

以下例子只是修改伪元素的内容。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>修改单选框样式</title>
    <style> /*.radio{*/ /*width: 100px;*/ /*height: 100px;*/ /*background-color: red;*/ /*}*/ .radio { 
     display: none; } /* +代表相邻的元素 */ .radio + i { 
     font-style: normal; text-align: center; font-size: 16px; } /* ::after伪元素,使用伪元素,必须含有content属性,可以为'',但不可不写 */ .radio + i::after { 
     content: '☆'; } /* 点击后伪元素内容变化 */ .radio:checked + i::after { 
     content: '★'; } </style>
</head>
<body>
<label>
    <input type="radio" class="radio" name="aa" id="aa"/>
    <i></i>
    aa
</label>
<label>
    <input type="radio" class="radio" name="aa" id="bb"/>
    <i></i>
    bb
</label>
</body>
</html>

完成后的结果
在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141656.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【目标检测】Fast RCNN算法详解

    【目标检测】Fast RCNN算法详解继2014年的RCNN之后,RossGirshick在15年推出FastRCNN,构思精巧,流程更为紧凑,大幅提升了目标检测的速度。

    2022年5月6日
    56
  • 一、Apache介绍[通俗易懂]

    一、Apache介绍[通俗易懂]于2022年4月1日重新编辑一、Apache概述Apache是Apache基金会的一个开源项目,是一个高性能、功能强大、安全可靠、开放源码的Web服务软件。二、Apache应用场景有如下4个

    2022年7月4日
    38
  • 深度学习、机器学习方向计算机毕业设计题目大全(算法应用实践类)

    深度学习、机器学习方向计算机毕业设计题目大全(算法应用实践类)(吐血整理)手动整理了1500多个深度学习及机器学习相关算法在实际应用中的项目,完全可以作为本科生当前较新的毕业设计题目选择方向。讲道理有些题目,比如“用户评分的隐式成分信息的研究”这种题目取的就比较广,有点科学研究的味道,如果真的去做,还是比较有技术含量的。因为其下一步的应用是具有广阔前景的。还有部分项目可能需要大量的数据集,收集的收集和整理比较麻烦。另外对自己电脑的要求也比较高。大家在选择…

    2022年5月7日
    108
  • plsql developer配置数据库连接_plsql使用教程

    plsql developer配置数据库连接_plsql使用教程一、概念PL/SQLDeveloper是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了OracleServer,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQLDeveloper侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势。Oracle数据库并不提供图形界面的开发…

    2022年9月25日
    2
  • CentOS如何查看本机ip

    CentOS如何查看本机ip之前我们习惯的 ipconfig 不能用了原来是改了呀 改成了 ipaddress 我们可以输入 ipaddress 也可以输入 ipaddr 或者是 ipadd 你会发现 无法查看 ip 但至少这个命令是存在的你需要打开网卡配置文件 etc sysconfig network scripts ifcfg ens33 将 ONBOOT 修改为 yes 也就是启动网卡 vi et

    2025年10月10日
    3
  • Eclipse-环境配置-jdk1.8

    Eclipse-环境配置-jdk1.8Eclipse-环境配置-jdk1.8进入javaSE官网,按如下下载jdk1.8jdk下载位置。按照安装要求进行下载,在此是按照以下进行下载。下载后点击安装,本机是安装在C:\Java\jdk1.8.0_144位置。然后配置环境参数:3、JDK环境变量配置a、新建JAVA_HOME环境变量,JAVA_HOME=C:\Java\jdk1.8.0_144b、修改…

    2022年6月20日
    89

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号