使用:checked选择器实现自定义单选按钮效果

今天在学习css3时用:checked选择器实现自定义单选按钮效果,感觉这个选择器很棒,来记录一下。

:checked表示选中状态,可以配合其他标签实现自定义样式。

例如,想实现这个效果:

部分css代码如下:

.box input {
  opacity: 0;
  position: absolute;
  top:0;
  left:0;
}

.box span {
  position: absolute;
  top: -10px;
  right: 3px;
  font-size: 30px;
  font-weight: bold;
  font-family: Arial;
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
  color: orange;
}

input[type="checkbox"] + span {
  opacity: 0;
}

input[type="checkbox"]:checked + span {
  opacity: 1;
}

在这里,首先用span定义对号选中的样式;之后使用“+span”选中type类型为checkbox的input元素后面挨着的span标签元素;

最后,使用opacity: 0和opacity: 1实现未选中状态和选中状态(opacity: 0表示完全透明,opacity: 1便是完全不透明)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您想要自定义单选按钮的外观,可以使用 CSS 样式来修改它们的样式。以下是一个示例: ```html <style> /* 隐藏原始单选按钮 */ input[type="radio"] { display: none; } /* 自定义单选按钮的外观 */ .custom-radio { display: inline-block; width: 20px; height: 20px; border-radius: 50%; border: 2px solid #ccc; position: relative; margin-right: 10px; } /* 自定义单选按钮被选中时的样式 */ .custom-radio::after { content: ""; display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 10px; height: 10px; border-radius: 50%; background-color: #ccc; opacity: 0; transition: opacity 0.2s; } /* 当原始单选按钮被选中时,使用上面的样式来渲染自定义单选按钮 */ input[type="radio"]:checked + .custom-radio::after { opacity: 1; } </style> <form> <label> <input type="radio" name="gender" value="male"> <span class="custom-radio"></span> Male </label> <label> <input type="radio" name="gender" value="female"> <span class="custom-radio"></span> Female </label> <label> <input type="radio" name="gender" value="other"> <span class="custom-radio"></span> Other </label> </form> ``` 在上面的示例中,我们首先使用 CSS 隐藏了原始单选按钮,然后为每个单选按钮创建了一个自定义的外观。我们还定义了一个伪元素(`:after`),用于在选中单选按钮时显示一个小圆点。 要使用自定义样式的单选按钮,您需要将原始单选按钮自定义样式相关联。在上面的示例中,我们使用了 `<label>` 元素来实现这一点。当用户单击 `<label>` 元素时,将自动选中与其中的 `<input>` 元素相关联的单选按钮

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值