1️⃣ 利用 css 的 伪元素::after + transfrom 进行缩放
为什么用伪元素? 因为伪元素::after或::before是独立于当前元素,可以单独对其缩放而不影响元素本身的缩放
伪元素大多数浏览器默认单引号也可以使用,和伪类一样形式,而且单引号兼容性(ie)更好些
// 当某个元素需要设置 1px 的边框时为元素设置相对定位并且添加指定的类名即可<!-- 全部边框 -->.border-1px:after {content: '';position: absolute;top: 0;left: 0;box-sizing: border-box;width: 100%;height: 100%;border: 1px solid #000;-webkit-transform: scale(0.5);transform: scale(0.5);-webkit-transform-origin: top left;}<!-- 单边框,以上边框为例 -->.border-1px-top:after {content: "";position: absolute;top: 0;left: 0;right: 0;border-top: 1px solid red;transform: scaleY(0.5);transform-origin: left top;}// 在高清屏幕下设置@media screen and (-webkit-min-device-pixel-ratio: 2){.border-1px-top:after{transform:scaleY(0.5); // 2倍屏 伪元边框缩小为一半}}@media screen and (-webkit-min-device-pixel-ratio: 3){.border-1px-top:after{transform:scaleY(0.33333); // 3倍屏 伪元边框缩小为三分之一}}
