移动端视网膜(Retina)屏幕下1px边框线的解决方法

news/2024/12/21 23:46:51/

本文主要介绍几种 移动端视网膜(Retina)屏幕下1px边框线的解决方法。

1、通过viewport + rem的方式来兼容。

目前这种兼容方案相对比较完美,适合新项目(老项目改用REM单位成本会比较高)。 淘宝M首页 就是这种方案。

在devicePixelRatio = 2 时,输出viewport

<meta name="viewport" content="initial-scale=0.5, maximum-scale=0.5, minimum-scale=0.5, user-scalable=no">

在devicePixelRatio = 3 时,输出viewport

<meta name="viewport" content="initial-scale=0.3333333333333333, maximum-scale=0.3333333333333333, minimum-scale=0.3333333333333333, user-scalable=no">

同时通过设置对应viewport的rem基准值,这种方式就可以像以前一样轻松愉快的写1px了。关于REM布局,可以参考下我一篇文章 《移动端H5页面之iphone6的适配》

其他方案(该部分内容来源于妙净同学的分享):

2、 transform: scale(0.5)

实现方式

height:1px;
-webkit-transform: scaleY(0.5);
-webkit-transform-origin:0 0;
overflow: hidden;

优点

圆角无法实现,hack代码多,实现4条边框比较闹心

缺点

只能单独使用,如果嵌套,scale的作用也会对包含的元素产生,不想要的影响,所以此种方案配合:after和:before独立使用较多,比如画一个商品的边框四条线,容器的after和before可以画2条线,利用容器的父元素的after、before再画2条线。

.after-scale{position: relative;
}
.after-scale:after{content:"";position: absolute;bottom:0px;left:0px;right:0px;border-bottom:1px solid #c8c7cc;-webkit-transform:scaleY(.5);-webkit-transform-origin:0 0;
}

3、 box-shadow

实现方式

利用css 对阴影处理的方式实现0.5px的效果

底部一条线

-webkit-box-shadow:0 1px 1px -1px rgba(0, 0, 0, 0.5);

优点基本所有场景都能满足,包含圆角的button,单条,多条线,

缺点

颜色不好处理, 黑色 rgba(0,0,0,1) 最浓的情况了。有阴影出现,不好用。

参考链接

4、 background-image

实现方式

设置1px通过css 实现的image,50%有颜色,50%透明

.border {background-image:linear-gradient(180deg, red, red 50%, transparent 50%),linear-gradient(270deg, red, red 50%, transparent 50%),linear-gradient(0deg, red, red 50%, transparent 50%),linear-gradient(90deg, red, red 50%, transparent 50%);background-size: 100% 1px,1px 100% ,100% 1px, 1px 100%;background-repeat: no-repeat;background-position: top, right top,  bottom, left top;padding: 10px;}

优点

配合background-image,background-size,background-position 可以实现单条,多条边框。边框的颜色随意设置

缺点

如果有圆角的效果,很sorry 圆角的地方没有线框的颜色。都要写的代码也不少

参考链接

5、 用图片

实现方式

.border-image{border-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAECAYAAABP2FU6AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAB5JREFUeNpiPnH8zH/GMzAxAAHTyRNn/wMEGABpvQm9g9TJ1QAAAABJRU5ErkJggg==") 2 0 stretch;
border-width: 0px 0px 1px;
}

优点

缺点


http://www.ppmy.cn/news/545831.html

相关文章

传苹果正在生产5英寸视网膜屏幕iPhone或iPad

众所周知&#xff0c;全球首款“视网膜”显示屏手机是苹果公司于2010年推出的iPhone4&#xff0c;视网膜屏幕是一种具备超高像素密度的液晶屏&#xff0c;它可以将960640的分辨率压缩到一个3.5英寸的显示屏内。也就是说&#xff0c;该屏幕的像素密度达到326像素/英寸(ppi)。随后…

视网膜屏 retina屏

/*默认*/ an{background-image:url(img1x.png); } /*2*/ media screen and (-webkit-min-device-pixel-ratio:2){background-image:url(img2x.png); }/*2*/ media screen and (-webkit-min-device-pixel-ratio:3){background-image:url(img3x.png); }/*js*/ var pixelRadio wi…

【前端】移动端布局--视网膜屏幕(retina屏幕)清晰度解决方案

视网膜屏幕指的是屏幕的物理像素密度更高的屏幕&#xff0c;物理像素可以理解为屏幕上的一个发光点&#xff0c;无数发光的点组成的屏幕&#xff0c;视网膜屏幕比一般屏幕的物理像素点更小&#xff0c;常见有2倍的视网膜屏幕和3倍的视网膜屏幕&#xff0c;2倍的视网膜屏幕&…

iPhone 14系列屏幕适配

1、iPhone 14 显示屏&#xff1a; 6.1“ 超级视网膜 XDR OLED屏幕分辨率&#xff08;点&#xff09;&#xff1a; 390 x 844原始分辨率&#xff08;像素&#xff09;&#xff1a; 1170 x 2532 &#xff08;460 ppi&#xff09;​ 状态栏高 47 &#xff0c;安全区域尺寸…

MacBook Pro视网膜屏幕深入分析(图)(1)

新款MacBook Pro发布后&#xff0c;我们先后对其屏幕分辨率、固态硬盘/USB 3.0性能进行了简单的考察&#xff0c;现在该好好审视一下Retina视网膜屏幕了。 MacBook Pro 15寸标准版、视网膜版配置表 屏幕性能分析 光面标准版MBP使用了标准的液晶屏排列方式&#xff0c;两层玻璃加…

iOS视网膜(Retina)屏幕的适配方法

转自&#xff1a;http://www.penddy.com/mobile-client-knowledge-processing-1-ios-retinal-adaptation-of-the-retina-screen.html 版权声明&#xff1a;转载时请以超链接形式标明文章原始出处和作者信息 本文链接&#xff1a;http://www.penddy.com/mobile-client-knowled…

视网膜屏幕介绍

视网膜屏幕简介&#xff1b;  这是苹果公司部分移动产品使用的一种名为视网膜&#xff08;Retina&#xff09;屏幕的显示技术。据苹果表示&#xff0c;该视网膜屏幕是一种具备超高像素密度的液晶屏&#xff0c;它可以将960640的分辨率压缩到一个3.5英寸的显示屏内。也就是说&…

用过Retina视网膜屏幕的笔记本电脑的后果

用过Retina视网膜屏幕的笔记本电脑的后果是过程中感觉很不错&#xff0c;但是结果是普通屏幕再也看不上眼了。发现了原来看的好好的屏幕多出了许多的像素点&#xff0c;没办法&#xff0c;火眼金睛了。