美文网首页
超实用等比盒子

超实用等比盒子

作者: 请叫我Pro大叔 | 来源:发表于2021-06-11 14:58 被阅读0次
    /**
     * 等比例盒子
     */
    
    import classNames from 'classnames'
    import type { CSSProperties } from 'react'
    import React from 'react'
    import './index.less'
    
    interface IBoxProps {
      ratio: number
      className?: string
      style?: CSSProperties
    }
    
    const percentage = (n: number) => `${n * 100}%`
    
    const IBox: React.FC<IBoxProps> = ({ ratio, className, style, children }) => (
      <div
        className={classNames('ibox', className)}
        style={{ ...style, paddingTop: percentage(ratio) }}
      >
        <div className="ibox__content">{children}</div>
      </div>
    )
    
    export default IBox
    
    
    .ibox {
      position: relative;
    
      &__content {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        overflow: hidden;
      }
    }
    
    

    相关文章

      网友评论

          本文标题:超实用等比盒子

          本文链接:https://www.haomeiwen.com/subject/zicveltx.html