css 温故而知新 1px的问题
解决方法1:
//border @mixin border($pos, $color) { content: ""; position: absolute; transform-origin: 0 0; -webkit-transform-origin: 0 0; @if $pos=='top'{ #{$pos}: 0px; left: 0px; right: 0px; border-#{$pos}: 1px solid $color; transform: scaleY(.5); -webkit-transform: scaleY(.5); } @else if $pos=='bottom' { #{$pos}: 0px; left: 0px; right: 0px; border-#{$pos}: 1px solid $color; transform: scaleY(.5); -webkit-transform: scaleY(.5); } @else { top: 0px; bottom: 0px; #{$pos}: 0px; border-#{$pos}: 1px solid $color; transform: scaleX(.5); -webkit-transform: scaleX(.5); } }
使用方式:
.div { position:relative; &:after { @include border("bottom", #d9d9d9)
left: pxToRem(30px); /* 美化,不喜欢可以不加 */ } }
解决方式2:
.border { border: 1px solid #999 } @media screen and (-webkit-min-device-pixel-ratio: 2) { .border { border: 0.5px solid #999 } } @media screen and (-webkit-min-device-pixel-ratio: 3) { .border { border: 0.333333px solid #999 } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步