html把单选框改变样式

本文详细介绍了如何使用CSS自定义Radio按钮的样式,包括改变标签的大小、位置、背景颜色等,通过伪元素和属性选择器实现不同状态下的视觉效果。文章提供了完整的代码示例,并附有相关资源链接。

以下是成功的源代码!

<head>
	<style type="text/css">
		/*lable标签的大小、位置、背景颜色更改,在css选择时,“+”代表相邻元素,即当前元素的下一元素*/
		input[type="radio"] + label::before 
		{
			content: "\a0";  /*不换行空格*/
			display: inline-block;
			vertical-align: .2em;
			width: .8em;
			height: .8em;
			margin-right: .2em;
			border-radius: .2em;
			background-color: silver;
			text-indent: .15em;
			line-height: .65;  /*行高不加单位,子元素将继承数字乘以自身字体尺寸而非父元素行高*/
		}
		input[type="radio"]:checked + label::before 
		{
			content: "\2713";
			background-color: yellowgreen;
		}
		input 
		{
			position: absolute;
			clip: rect(0, 0, 0, 0);
		}
		input[type="radio"]:focus + label::before 
		{
			box-shadow: 0 0 .1em .1em #58a;
		}
		input[type="radio"]:disabled + label::before 
		{
			background-color: gray;
			box-shadow: none;
			color: #555;
		}
	</style>
</head>
<body background="1.jpg"  style="padding: 10%">
	<div>
		<input type="radio" id="awesome0" name="mode" />
		<label for="awesome0">Awesome!</label>
		<input type="radio" id="awesome1" name="mode" />
		<label for="awesome1">Awesome!</label>
		<input type="radio" id="awesome2" name="mode" />
		<label for="awesome2">Awesome!</label>
	</div>
</body>

上面的有一行代码是 content: ‘\2713’ 这个是对勾,还可以换成其他的。

要理解上面的代码需要懂css的基本语法
参考博客:
https://www.cnblogs.com/xinjie-just/p/7302020.html (这个非常关键)
https://blog.csdn.net/mqy1023/article/details/78700433
https://blog.csdn.net/qq_34182808/article/details/79992465

单选框样式改为圆形勾选,可通过清空默认样式并设置新样式实现。以下是详细步骤和示例代码: 1. **清空默认样式**:这是关键步骤,需要清除单选框点击时的蓝色默认边框、默认边框等样式。 ```css input { outline: none; /* 清空单选框,点击时蓝色默认边框 */ -webkit-appearance: none; /* 清空单选框默认边框 */ -webkit-tab-highlight-color: rgba(0, 0, 0, 0); /* 这个属性只用于iOS (iPhone和iPad),当点击链接或可点击元素时,重设半透明灰色背景表现 */ } ``` 2. **设置单选框大小和基本样式**:设置宽高、显示方式、文本对齐方式等,将其变为圆形。 ```css input { width: 1.64rem; /* 设置宽 */ height: 1.64rem; /* 设置高 */ display: inline-block; /* 变成行内元素 */ text-align: center; /* 文本水平居中 */ vertical-align: baseline; /* 将支持valign特性的对象的内容与基线对齐 */ line-height: 1.64rem; /* 文本垂直 */ position: relative; border-radius: 50%; /* 变为圆形 */ color: #fff; background: #fff; border: 1px solid #fff; } ``` 完整代码示例如下: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> input { outline: none; -webkit-appearance: none; -webkit-tab-highlight-color: rgba(0, 0, 0, 0); width: 1.64rem; height: 1.64rem; display: inline-block; text-align: center; vertical-align: baseline; line-height: 1.64rem; position: relative; border-radius: 50%; color: #fff; background: #fff; border: 1px solid #fff; } </style> </head> <body> <input type="radio" name="option" value="1"> Option 1 <input type="radio" name="option" value="2"> Option 2 </body> </html> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值