zoukankan      html  css  js  c++  java
  • react中基于styled-components组件的一像素边框问题

    react中基于styled-components组件的一像素边框问题

    import styled from 'styled-components'
    
    const border = (WrappedComp) => {       //参数是要设置边框的组件
      const EnhancedComp = styled(WrappedComp) `      
        // 为边框位置提供定位参考
        position: relative;
        border-radius: ${ ({radius}) => radius || 0 }rem;
        &::after {
          // 用以解决边框layer遮盖内容
          pointer-events: none;
          position: absolute;
          z-index: 999;
          top: 0;
          left: 0;
    
          content: "";
          border-color: ${ ({color}) => color || '#ccc' };
          border-style: ${ ({style}) => style || 'solid' };
          border- ${ ({width}) => width || '1px' };
    
          @media (max--moz-device-pixel-ratio: 1.49),(-webkit-max-device-pixel-ratio: 1.49),(max-device-pixel-ratio: 1.49),(max-resolution: 143dpi),(max-resolution: 1.49dppx) {
             100%;
            height: 100%;
            transform: scale(1);
            border-radius: ${ ({radius}) => radius * 1 || 0}rem
          }
    
          @media (min--moz-device-pixel-ratio: 1.5) and (max--moz-device-pixel-ratio: 2.49),(-webkit-min-device-pixel-ratio: 1.5) and (-webkit-max-device-pixel-ratio: 2.49),(min-device-pixel-ratio: 1.5) and (max-device-pixel-ratio: 2.49),(min-resolution: 144dpi) and (max-resolution: 239dpi),(min-resolution: 1.5dppx) and (max-resolution: 2.49dppx) {
             200%;
            height: 200%;
            transform: scale(.5);
            border-radius: ${ ({radius}) => radius * 2 || 0}rem
          }
    
          @media (min--moz-device-pixel-ratio: 2.5), (-webkit-min-device-pixel-ratio: 2.5), (min-device-pixel-ratio: 2.5),(min-resolution: 240dpi), (min-resolution: 2.5dppx) {
             300%;
            height: 300%;
            transform: scale(.3333333);
            border-radius: ${ ({radius}) => radius * 3 || 0}rem
          }
              
          transform-origin: 0 0;
        }
      `
      return EnhancedComp
    }
    
    export default border
    

    传参:width='宽度' style='边框样式线,默认solid' color='边框颜色' redius='弧度'

  • 相关阅读:
    用mvc实现增删查改
    hibernate Annotation版本的helloworld
    hibernate 级联操作
    Hibrenate一对一外键关联
    hibernate主键生成
    Action属性接收参数
    WildCard的使用
    Struts 路径分析以及是否一定要执行excute()方法
    学习Struts2经验总结
    基于Struts分层web框架,研究传值问题
  • 原文地址:https://www.cnblogs.com/94-Lucky/p/13877464.html
Copyright © 2011-2022 走看看