uni-app去除radio默认样式

694 阅读1分钟

背景摘要:

最近要做一个uni-app覆盖各个平台。根据设计出的图,要实现一个弹窗的选框效果。就是如下图所示这种。

搞法有两种,1、自己实现一个radio组件;2、把uni-app的radio组件,去掉样式,自己画一个;

由于水平有限,我选择了第二种搞法。

先上个去除后的效果图

image.png

怎么写

去除样式的 CSS 代码,需要写在 App.vue 中的 <style> 标签下。

        /* 去除radio自带样式 */
	uni-radio .uni-radio-input {
		height: 60rpx !important;
		width: 60rpx !important;
		border-radius: 1% !important;
		border: 0.1rpx solid #FFFFFF !important; ///替换边框 隐藏原有边框

	}

	uni-radio .uni-radio-input.uni-radio-input-checked {
		background-color: #FFFFFF !important;
		border-color: #FFFFFF !important;

	}

	uni-radio .uni-radio-input.uni-radio-input-checked:before {
		font: normal normal normal 1px/1 uni;
		content: "\EA08";
		color: transparent;
		font-size: 0.01px;
		position: absolute;
		top: 20%;
		left: 0%;
	}

	uni-radio .uni-radio-input.uni-radio-input-checked:before {
                /* 绘制你需要的对号,其实就是个长方形的相邻两遍,并把长方形旋转一下,就成了 */
		width: 16rpx;
		height: 32rpx;
		border-color: #389CFF;
		border-style: solid;
		border-width: 0 6rpx 6rpx 0;
		-webkit-transform: rotate(45deg) scale(1) !important;
	}

怎么发现

image.png

可以根据最右侧的样式,逐项调节尝试。