用CSS实现单选按钮的代码是什么

Admin 2022-08-24 群英技术资讯 323 次浏览

这篇文章主要讲解了“用CSS实现单选按钮的代码是什么”,文中的讲解内容简单、清晰、详细,对大家学习或是工作可能会有一定的帮助,希望大家阅读完这篇文章能有所收获。下面就请大家跟着小编的思路一起来学习一下吧。


import React from 'react'
import PropTypes from 'prop-types'
import CX from 'classnames'
import _ from 'lodash'

import './index.less'

function RadioButton(props) {
  const {
    style, title, isChecked, onClick,
  } = props

  const wrapperStyle = _.assign({}, style)

  return (
    <div
      className="checkbox-wrap"
      style={wrapperStyle}
      onClick={onClick}
      role="button"
      tabIndex={0}
    >
      <span
        className={CX({
          checkbox: true,
          checked: isChecked === true,
        })}
      />
      <span className="tip-text">{title}</span>
    </div>
  )
}

RadioButton.propTypes = {
  style: PropTypes.object,
  title: PropTypes.string,
  isChecked: PropTypes.bool,
  onClick: PropTypes.func,
}

RadioButton.defaultProps = {
  style: {},
  title: '',
  isChecked: false,
  onClick: _.noop,
}

export default RadioButton

下面是组件样式

.checkbox-wrap {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 3px 0;
  margin-right: 24px;
  cursor: pointer;

  .checkbox {
    display: inline-block;
    box-sizing: border-box;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid rgba(79, 159, 255, 1);
    position: relative;

    &.checked {
      &::before {
        content: '';
        display: block;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background-color: #56afff;
        position: absolute;
        top: 1px;
        left: 1px;
      }
    }
  }
  .tip-text {
    opacity: 0.4;
    line-height: 18px;
    margin-left: 3px;
  }
}

 


这篇关于“用CSS实现单选按钮的代码是什么”的文章就介绍到这了,更多相关的内容,欢迎关注群英网络,小编将为大家输出更多高质量的实用文章! 群英智防CDN,智能加速解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服