技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营
卡卡网是专业的网站测速平台,网速测试,测试网站速度,就来卡卡网 ~
问题反馈网络日志

【DiyVM】沙田机房/香港云/回国CN2线路/AMD EPYC/39元一月5M/CN2海外云主机 24元/月BGP+CN2海外云 低至25元/月海外主机 低至$2/月

DiyVM:香港VPS惊爆价36元一月
★站长/主播变现★有流量就来
5M CN2 GIA云主机 24元起
一一一云主机 26元起一一一
官方高价收量,每日稳定结算

一一云主机 24元 3折起一一
海外CN2云 低至$2.5/月
海外云低至2折 298/年
免费测试★APK免杀 谷歌过保护
官方收量CPA/CPS长期稳定

海外主机 5M CN2 低至$2/月
恒创科技 一 海外服务器 ● 高速稳定
★解决安装报毒★谷歌过保护机制
超级签★免杀★加固★满意付款
全球云主机 3天试用再买

【菠萝云】香港4G内存99元,马上开通
亿人互联-津/京BGP托管租用/VPS
苹果签名/APP封装/远控免杀
10M CN2海外云VPS 53元/月
CN2 GIA/1000Mbps $111/月

实力产品变现
实力产品变现
实力产品变现
实力产品变现
实力产品变现

赞助商

分类目录

赞助商

最新文章

字体单位是相对测量单位,是根据其他一些值计算的,可以动态变化。与字体相关的测量单...
stroke-width设置形状的描边粗细,如果在 HTML 中,框架是从外边缘...
本文给大家介绍10款用SVG蒙版制作的图片转场/过渡动画,并分析如何实现它们。
CSS 数据类型<filter-function>代表可以改变输入图...
CSS box-shadow 属性用于在元素的框架上添加阴影效果。你可以在同一个...
drop-shadow() 是一个CSS 过滤器函数,其将投影效果应用于输入图像...
本文给大家介绍一个SVG实现的网页气泡动画效果。 

搜索

纯css3实现漂亮的单选按钮radio

作者:admin    时间:2021-4-17 3:24:45    浏览:1270

单选按钮radio是表单常见的元素,但是默认的单选按钮radio样式呆板不好看,因此通常设计人员会自己设计一个单选按钮radio,本文介绍用纯css3实现漂亮的单选按钮radio。

纯css3实现漂亮的单选按钮radio
纯css3实现漂亮的单选按钮radio

demodownload

CSS代码

  • *{
  •   margin: 0;
  •   padding: 0;
  •   box-sizing: border-box;
  •   font-family: 'Lato', sans-serif;
  • }
  • html,body{
  •   display: grid;
  •   height: 100%;
  •   place-items: center;
  •   background: #8f8f8f;
  •   font-family: 'Lato', sans-serif;
  • }
  • .wrapper{
  •   display: inline-flex;
  •   background: #fff;
  •   height: 80px;            /* 按钮盒子高度 */
  •   width: 250px;            /* 按钮盒子宽度 */
  •   align-items: center;
  •   justify-content: space-evenly;
  •   border-radius: 5px;
  •   padding: 20px 15px;
  •   box-shadow: 5px 5px 30px rgba(0,0,0,0.2);
  • }
  • .wrapper .option{
  •   background: #fff;
  •   height: 100%;
  •   width: 100%;
  •   display: flex;
  •   align-items: center;
  •   justify-content: space-evenly;
  •   margin: 0 10px;
  •   border-radius: 5px;
  •   cursor: pointer;
  •   padding: 0 10px;
  •   border: 2px solid lightgrey;
  •   transition: all 0.3s ease;
  • }
  • .wrapper .option .dot{
  •   height: 12px;            /* radio 圆直径 */
  •   width: 12px;             /* radio 圆直径 */
  •   background: #d9d9d9;     /* radio 圆颜色(非checked) */
  •   border-radius: 50%;
  •   position: relative;
  • }
  • .wrapper .option .dot::before{
  •   position: absolute;
  •   content: "";
  •   top: 2px;                /* radio 小圆相对大圆的位置 */
  •   left: 2px;               /* radio 小圆相对大圆的位置 */
  •   width: 8px;              /* radio 小圆直径 */
  •   height: 8px;             /* radio 小圆直径 */
  •   background: #c68419;     /* radio 小圆颜色 */
  •   border-radius: 50%;
  •   opacity: 0;
  •   transform: scale(1.5);
  •   transition: all 0.3s ease;
  • }
  • input[type="radio"]{
  •   display: none;
  • }
  • #option-1:checked:checked ~ .option-1,
  • #option-2:checked:checked ~ .option-2{
  •   border-color: #c68419;   /* 按钮颜色(checked) */
  •   background: #c68419;     /* 按钮颜色(checked) */
  • }
  • #option-1:checked:checked ~ .option-1 .dot,
  • #option-2:checked:checked ~ .option-2 .dot{
  •   background: #fff;        /* radio 大圆颜色(checked) */
  • }
  • #option-1:checked:checked ~ .option-1 .dot::before,
  • #option-2:checked:checked ~ .option-2 .dot::before{
  •   opacity: 1;
  •   transform: scale(1);
  • }
  • .wrapper .option span{
  •   font-size: 15px;         /* 文字大小 */
  •   color: #808080;          /* 文字颜色(默认) */
  • }
  • #option-1:checked:checked ~ .option-1 span,
  • #option-2:checked:checked ~ .option-2 span{
  •   color: #fff;             /* 文字颜色(checked) */
  • }

HTML代码

  • <div class="wrapper">
  •   <input type="radio" name="select" id="option-1" checked>
  •   <input type="radio" name="select" id="option-2">
  •   <label for="option-1" class="option option-1">
  • <div class="dot"></div>
  • <span>电信</span>
  •   </label>
  •   <label for="option-2" class="option option-2">
  • <div class="dot"></div>
  • <span>联通</span>
  •   </label>
  • </div>

execcodegetcode

代码解释

1、单选按钮radio盒子宽度和高度

  • .wrapper{
  •   display: inline-flex;
  •   background: #fff;
  •   height: 80px;            /* 按钮盒子高度 */
  •   width: 250px;            /* 按钮盒子宽度 */
  •   align-items: center;
  •   justify-content: space-evenly;
  •   border-radius: 5px;
  •   padding: 20px 15px;
  •   box-shadow: 5px 5px 30px rgba(0,0,0,0.2);
  • }

 单选按钮radio盒子宽度和高度
单选按钮radio盒子宽度和高度

2、radio圆直径,颜色

  • .wrapper .option .dot{
  •   height: 12px;            /* radio 圆直径 */
  •   width: 12px;             /* radio 圆直径 */
  •   background: #d9d9d9;     /* radio 圆颜色(非checked) */
  •   border-radius: 50%;
  •   position: relative;
  • }

 radio圆直径,颜色
radio圆直径,颜色

3、radio按钮颜色

  • #option-1:checked:checked ~ .option-1,
  • #option-2:checked:checked ~ .option-2{
  •   border-color: #c68419;   /* 按钮颜色(checked) */
  •   background: #c68419;     /* 按钮颜色(checked) */
  • }

 radio按钮颜色
radio按钮颜色

4、radio大圆颜色,这里是白色 #fff

  • #option-1:checked:checked ~ .option-1 .dot,
  • #option-2:checked:checked ~ .option-2 .dot{
  •   background: #fff;        /* radio 大圆颜色(checked) */
  • }

 radio大圆颜色(这里是白色 #fff)
radio大圆颜色(这里是白色 #fff)

5、radio小圆颜色、位置、大小设置

  • .wrapper .option .dot::before{
  •   position: absolute;
  •   content: "";
  •   top: 2px;                /* radio 小圆相对大圆的位置 */
  •   left: 2px;               /* radio 小圆相对大圆的位置 */
  •   width: 8px;              /* radio 小圆直径 */
  •   height: 8px;             /* radio 小圆直径 */
  •   background: #c68419;     /* radio 小圆颜色 */
  •   border-radius: 50%;
  •   opacity: 0;
  •   transform: scale(1.5);
  •   transition: all 0.3s ease;
  • }
  •  

 小圆颜色与按钮颜色一致,这里都是 #c68419

radio小圆颜色、位置、大小设置
radio小圆颜色、位置、大小设置

6、文字大小及颜色设置

  • .wrapper .option span{
  •   font-size: 15px;         /* 文字大小 */
  •   color: #808080;          /* 文字颜色(默认) */
  • }
  • #option-1:checked:checked ~ .option-1 span,
  • #option-2:checked:checked ~ .option-2 span{
  •   color: #fff;             /* 文字颜色(checked) */
  • }


文字大小及颜色设置

相关文章

标签: css3  radio  
x
广告: CN2云主机 免费试用