自定义单选框样式方法

自定义单选框样式方法元素的初始样式都不怎么好看,我们一般修改样式会想到直接在那元素上添加样式,比如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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • TCP三次握手和四次挥手详解(面试常见问题)

    TCP三次握手和四次挥手详解(面试常见问题)  大概两个月前,一位朋友在面试360集团时,在面试过程中被问及TCP三次握手和四次挥手的相关知识,他当时只知道大概,但当时面试官问他TCP三次握手过程中发送的数字是多少,他一下子就懵住了,因为这也是他第一次参加面试,准备的并不充分,也根本没想到会问到具体发送的数字,结果显而易见,最后被刷了。由此可见,TCP三次握手和四次挥手在面试中是面试官非常喜欢的问题,所以掌握这个知识是十分重要的。  T…

    2022年6月16日
    28
  • 设置代理服务器(谷歌+IE)「建议收藏」

    fiddler一打开就可以作为代理服务器,而Chrome浏览器以及IE浏览器运行的时候会使用到代理服务器,所以fiddler可以抓取到其中的请求信息IE浏览器:谷歌浏览器:

    2022年4月18日
    106
  • f1 score 代码_f1 score loss 实现问题「建议收藏」

    f1 score 代码_f1 score loss 实现问题「建议收藏」在paddle上实现了一个f1loss函数:def_compute_loss(self,dec_output):tp=fluid.layers.sum(fluid.layers.cast(self.label*dec_output,dtype=”float32″))tn=fluid.layers.sum(fluid.layers.cast((1-self.label)*…

    2022年10月14日
    2
  • 在线网站客服系统源码

    在线网站客服系统源码在线网站客服系统源码支持ios苹果/Android安卓软件/app开发包装编号:9738655242264144小心心

    2022年7月19日
    11
  • python使用matplotlib绘图 — barChart

    python使用matplotlib绘图 — barChartmatplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。它的文档相当完备,并且

    2022年7月6日
    21
  • django动态路由_路由器可以当转换器用吗

    django动态路由_路由器可以当转换器用吗自定义路径转换器有时候上面的内置的url转换器并不能满足我们的需求,因此django给我们提供了一个接口可以让我们自己定义自己的url转换器django内置的路径转换器源码解析在我们自定义路由转

    2022年8月7日
    8

发表回复

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

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