分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

CSS3单选动画

发布时间:2023-09-06 01:40责任编辑:熊小新关键词:CSS动画

本示例实现了两种单选按钮动画效果,一种是缩放,一种是旋转,以下是html布局以及css样式

html:这里使用了label标签的for属性,以此来绑定radio

<div class="radio-1">  <input type="radio" name="radio-1" id="radio-1-1" checked="checked">  <label for="radio-1-1"></label>  <input type="radio" name="radio-1" id="radio-1-2">  <label for="radio-1-2"></label>  <input type="radio" name="radio-1" id="radio-1-3">  <label for="radio-1-3"></label></div><div class="radio-2">  <input type="radio" name="radio-2" id="radio-2-1" checked="checked">  <label for="radio-2-1"></label>  <input type="radio" name="radio-2" id="radio-2-2">  <label for="radio-2-2"></label>  <input type="radio" name="radio-2" id="radio-2-3">  <label for="radio-2-3"></label></div>

css

<style type="text/css"> ???.radio-1{ ???????width: 980px; ???????margin: 0 auto; ???????padding: 3% 0; ???????background-color: #33cccc; ???????text-align: center; ???} ???.radio-1 [type="radio"]{ ???????display: none; ???} ???.radio-1 label{ ???????display: inline-block; ???????position: relative; ???????width: 28px; ???????height: 28px; ???????border: 1px #cccccc solid; ???????background-color: #ffffff; ???????margin-right: 10px; ???????cursor: pointer; ???????-webkit-border-radius: 50%; ???????-moz-border-radius: 50%; ???????border-radius: 50%; ???} ???.radio-1 label:after{ ???????content: ""; ???????position: absolute; ???????top: 4px; ???????left: 4px; ???????width: 20px; ???????height: 20px; ???????background-color: #666666; ???????-webkit-border-radius: 50%; ???????-moz-border-radius: 50%; ???????border-radius: 50%; ???????-webkit-transform: scale(0); ???????-moz-transform: scale(0); ???????-ms-transform: scale(0); ???????-o-transform: scale(0); ???????transform: scale(0); ???????-webkit-transition: all .2s ease-out; ???????-moz-transition: all .2s ease-out; ???????-ms-transition: all .2s ease-out; ???????-o-transition: all .2s ease-out; ???????transition: all .2s ease-out; ???} ???.radio-1 [type="radio"]:checked + label{ ???????background-color: #e0e0e0; ???????-webkit-transition: background-color .2s ease-in; ???????-moz-transition: background-color .2s ease-in; ???????-ms-transition: background-color .2s ease-in; ???????-o-transition: background-color .2s ease-in; ???????transition: background-color .2s ease-in; ???} ???.radio-1 [type="radio"]:checked + label:after{ ???????-webkit-transform: scale(1); ???????-moz-transform: scale(1); ???????-ms-transform: scale(1); ???????-o-transform: scale(1); ???????transform: scale(1); ???????-webkit-transition: -webkit-transform .2s ease-in; ???????-moz-transition: -moz-transform .2s ease-in; ???????-ms-transition: -ms-transform .2s ease-in; ???????-o-transition: -o-transform .2s ease-in; ???????transition: transform .2s ease-in; ???} ???.radio-2{ ???????width: 980px; ???????margin: 0 auto; ???????padding: 3% 0; ???????background-color: #fc9; ???????text-align: center; ???} ???.radio-2 label{ ???????display: inline-block; ???????position: relative; ???????overflow: hidden; ???????width: 28px; ???????height: 28px; ???????border: 1px #cccccc solid; ???????-webkit-border-radius: 50%; ???????-moz-border-radius: 50%; ???????border-radius: 50%; ???????background-color: #ffffff; ???????margin-right: 10px; ???????cursor: pointer; ???} ???.radio-2 [type="radio"]{ ???????display: none; ???} ???.radio-2 label:after{ ???????content: ""; ???????position: absolute; ???????top: 4px; ???????left: 4px; ???????width: 20px; ???????height: 20px; ???????-webkit-border-radius: 50%; ???????-moz-border-radius: 50%; ???????border-radius: 50%; ???????background-color: #666666; ???????-webkit-transform-origin: -2px 50%; ???????-moz-transform-origin: -2px 50%; ???????-ms-transform-origin: -2px 50%; ???????-o-transform-origin: -2px 50%; ???????transform-origin: -2px 50%; ???????-webkit-transform: rotate(-180deg); ???????-moz-transform: rotate(-180deg); ???????-ms-transform: rotate(-180deg); ???????-o-transform: rotate(-180deg); ???????transform: rotate(-180deg); ???????-webkit-transition: -webkit-transform .2s ease-in; ???????-moz-transition: -moz-transform .2s ease-in; ???????-ms-transition: -ms-transform .2s ease-in; ???????-o-transition: -o-transform .2s ease-in; ???????transition: transform .2s ease-in; ???} ???.radio-2 [type="radio"]:checked + label:after{ ???????-webkit-transform: rotate(0deg); ???????-moz-transform: rotate(0deg); ???????-ms-transform: rotate(0deg); ???????-o-transform: rotate(0deg); ???????transform: rotate(0deg); ???????-webkit-transition: -webkit-transform .2s ease-in; ???????-moz-transition: -moz-transform .2s ease-in; ???????-ms-transition: -ms-transform .2s ease-in; ???????-o-transition: -o-transform .2s ease-in; ???????transition: transform .2s ease-in; ???}</style>

CSS3单选动画

原文地址:https://www.cnblogs.com/xiaobaizhiqian/p/8401528.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved