手机前端,border right width的width为0.5px,在ios上可以显示,在安卓上就显示不出来

在retina屏中实现1px border效果 - 腾讯Web前端 IMWeb 团队社区 | blog | 团队博客
已有账号,立即登录
通过以下账号登录:
imweb是真人前端社区,填写公司信息能帮助你更好的提升业内影响力。
公司邮箱仅作一次性的验证使用,您不必担心信息泄露与垃圾邮件。
如今,他们已入驻imweb:
填写公司信息
自由职业者,学生,或待业中?
返回上一步
(1188浏览)
(1156浏览)
(1845浏览)
(2196浏览)
本文作者:imweb link
原文出处:
未经同意,禁止转载
街景wap官网中有在视网膜屏幕中实现1px border的需求.
首先,来看下面视觉给的输出图中的border:
从上面的视觉图可以看到,border是一根非常细的线。这篇文章将说明如何使用border-image实现在视网膜屏中1px的border效果。
注:因为硬件条件的限制,设备像素比(devicePixelRatio)为1的非视网膜屏手机无法达到这样的效果
首先准备一张符合你要求的border-image:
通常手机端的页面设计稿都是放大一倍的,如:为适应iphone retina,设计稿会设计成640*960的分辨率,图片按照2倍大小切出来,在手机端看着就不会虚化,非常清晰。
同样,在使用border-image时,将border设计为物理1px,如下:
样式设置:
.border-image-1px {
border-width: 0 0 1px 0;
-webkit-border-image: url(linenew.png) 0 0 2 0 stretch;
border-image: url(linenew.png) 0 0 2 0 stretch;
上文是把border设置在边框的底部,所以使用的图片是2px高,上部的1px颜色为透明,下部的1px使用视觉规定的border的颜色。如果边框底部和顶部同时需要border,可以使用下面的border-image:
样式设置:
.border-image-1px {
border-width: 1px 0;
-webkit-border-image: url(linenew.png) 2 0 stretch;
border-image: url(linenew.png) 2 0 stretch;
到目前为止,我们已经能在iphone上展现1px border的效果了。但是我们发现这样的方法在非视网膜屏上会出现border显示不出来的现象,于是使用Media Query做了一些兼容,样式设置如下:
.border-image-1px {
border-bottom: 1px solid #666;
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
.border-image-1px {
border-bottom: none;
border-width: 0 0 1px 0;
-webkit-border-image: url(../img/linenew.png) 0 0 2 0 stretch;
border-image: url(../img/linenew.png) 0 0 2 0 stretch;
参考文档:
下面介绍一下其他方法:
设置viewport
直接按照设计师提供的640px宽的设计稿来重构,然后通过控制viewport的initial-scale值为0.5进行缩放,这种方案在ios下可以完美运行(淘宝就是这么做的),但是由于android下不支持initial-scale,所以这个方案不适用于android。
name="viewport" content="initial-scale=0.5,user-scalable=no"/&
background-image
跟border-image的方法一样,你要先准备一张符合你要求的图片:
此例是准备将border设置在底部
样式设置:
.background-image-1px {
background: url(../img/line.png) repeat-x left bottom;
-webkit-background-size: 100% 1px;
background-size: 100% 1px;
box-shadow
.box-shadow-1px {
box-shadow: inset 0px -1px 1px -1px #c8c7cc;
使用box-shadow都会让线有阴影,甚至颜色变浅。但是使用box-shadow与使用border类似,代码量少,使用方便,而且可以设置圆角矩形,在精细度要求不高的情况下可以尝试使用这种方案。
与background-image方案类似,只是将图片替换为css3渐变。
样式设置:
.background-gradient-1px{
background: -webkit-gradient(linear, left top, left bottom, color-stop(.5, transparent), color-stop(.5, #c8c7cc), to(#c8c7cc)) left bottom repeat-x;
background-size: 100% 1px;
该方案不能满足1px圆角矩形。
边框由一个元素来承载,将这个元素的高度(或宽度)设置为1px,然后再将该元素缩放1倍。
样式设置:
.scale-1px{
position: relative;
.scale-1px:after{
content:"";
position: absolute;
bottom:0px;
right:0px;
border-bottom:1px solid #c8c7cc;
-webkit-transform:scaleY(.5);
-webkit-transform-origin:0 0;
听说Firefox和Safari8已经支持0.5px的单位了,代码可以像下面这样写:
border:1px solid black;
@media (-webkit-min-device-pixel-ratio: 2){
border-width:0.5px;
不过0.5px这个单位有点过于颠覆前端开发的认识了twitter上有位哥们已经被震惊的不知所云
基于border-image和transform使用Sass的线下解决方案:
Mixin:sass中使用声明混合,可以传递参数,参数名以$符号开始,多个参数以逗号分开,也可以给参数设置默认值。声明的通过来调用。
基于border-image:
_onepx.scss:
[[@mixin](/user/mixin)](/user/mixin) onepx($selector, $position: bottom, $color: #666, $onepxImgDirname: './img/linenew.png') {
#{$selector} {
border-#{$position}: 1px solid $color;
@media only screen and (-webkit-min-device-pixel-ratio:2) {
#{$selector} {
border-#{$position}:
@if $position == 'bottom' {
border-width: 0 0 1px 0;
-webkit-border-image: url($onepxImgDirname) 0 0 2 0
border-image: url($onepxImgDirname) 0 0 2 0
} @else if $position == 'top' {
border-width: 1px 0 0 0;
-webkit-border-image: url($onepxImgDirname) 2 0 0 0
border-image: url($onepxImgDirname) 2 0 0 0
} @else if $position == 'right' {
border-width: 0 1px 0 0;
-webkit-border-image: url($onepxImgDirname) 0 2 0 0
border-image: url($onepxImgDirname) 0 2 0 0
} @else if $position == 'left' {
border-width: 0 0 0 1
-webkit-border-image: url($onepxImgDirname) 0 0 0 2
border-image: url($onepxImgDirname) 0 0 0 2
test.scss:
@import "onepx";
.container {
[@include](/user/include) onepx('.myonepx', 'top', '#666', './img/linenew.png');
[@include](/user/include) onepx('.border-top', 'top');
[@include](/user/include) onepx('.border-bottom');
执行bat文件:
sass --scss --style expanded test.scss test.css
生成css代码:
.container .myonepx {
border-top: 1px solid "#666";
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
.container .myonepx {
border-top: none;
border-width: 1px 0 0 0;
-webkit-border-image: url("./img/linenew.png") 2 0 0 0 stretch;
border-image: url("./img/linenew.png") 2 0 0 0 stretch;
.border-top {
border-top: 1px solid #666666;
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
.border-top {
border-top: none;
border-width: 1px 0 0 0;
-webkit-border-image: url("./img/linenew.png") 2 0 0 0 stretch;
border-image: url("./img/linenew.png") 2 0 0 0 stretch;
.border-bottom {
border-bottom: 1px solid #666666;
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
.border-bottom {
border-bottom: none;
border-width: 0 0 1px 0;
-webkit-border-image: url("./img/linenew.png") 0 0 2 0 stretch;
border-image: url("./img/linenew.png") 0 0 2 0 stretch;
基于transform的缩放:
_onpx.scss
[[@mixin](/user/mixin)](/user/mixin) _prefixDpr($selector, $position: 'top', $pseudo: 'before', $dpr: '2') {
@media only screen and (-webkit-min-device-pixel-ratio:$dpr) {
@if $dpr == '1.5' {
-webkit-transform: scaleY(.7);
transform: scaleY(.7);
@if $position == 'top' {
-webkit-transform-origin:
} @else if $position == 'bottom' {
-webkit-transform-origin:
} @else if $dpr == '2' {
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
@if $position == 'top' {
-webkit-transform-origin:
} @else if $position == 'bottom' {
-webkit-transform-origin:
} @else if $dpr == '3' {
-webkit-transform: scaleY(.3);
transform: scaleY(.3);
@if $position == 'top' {
-webkit-transform-origin:
} @else if $position == 'bottom' {
-webkit-transform-origin:
[[@mixin](/user/mixin)](/user/mixin) onepx($selector, $position: 'top',$pseudo: 'before', $color:
content: ' ';
border-top: 1px solid $color;
} @else if
bottom: 0;
[@include](/user/include) _prefixDpr($selector, $position, $pseudo, '1.5');
[@include](/user/include) _prefixDpr($selector, $position, $pseudo, '2');
[@include](/user/include) _prefixDpr($selector, $position, $pseudo, '3');
@import "onepx";
.container {
[@include](/user/include) onepx('.myonepx');
[@include](/user/include) onepx('.hello', 'bottom', 'after', '#777');
执行bat文件
sass --scss --style expanded test.scss test.css
生成css代码:
.container .myonepx:before {
content: ' ';
display: block;
border-top: 1px solid #666666;
position: absolute;
.container .myonepx {
position: relative;
.container .myonepx:before {
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) {
.container .myonepx:before {
-webkit-transform: scaleY(0.7);
transform: scaleY(0.7);
-webkit-transform-origin: left top;
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
.container .myonepx:before {
-webkit-transform: scaleY(0.5);
transform: scaleY(0.5);
-webkit-transform-origin: left top;
@media only screen and (-webkit-min-device-pixel-ratio: 3) {
.container .myonepx:before {
-webkit-transform: scaleY(0.3);
transform: scaleY(0.3);
-webkit-transform-origin: left top;
.hello:after {
content: ' ';
display: block;
border-top: 1px solid "#777";
position: absolute;
position: relative;
.hello:after {
@media only screen and (-webkit-min-device-pixel-ratio: 1.5) {
.hello:after {
-webkit-transform: scaleY(0.7);
transform: scaleY(0.7);
-webkit-transform-origin: left bottom;
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
.hello:after {
-webkit-transform: scaleY(0.5);
transform: scaleY(0.5);
-webkit-transform-origin: left bottom;
@media only screen and (-webkit-min-device-pixel-ratio: 3) {
.hello:after {
-webkit-transform: scaleY(0.3);
transform: scaleY(0.3);
-webkit-transform-origin: left bottom;
好处:可以使用习惯的sass写1px的实现方案,并且支持传参,更加灵活。
谢谢导师donaldyang的指导。原文链接:
在上看到一个专门收集这些问题的,对于移动方面由于自己做得不多,而且由于测试环境所限,无法重现具体bug,下面来一起看看这些坑以及是怎么解决,学习多一些移动前端的知识,以后做的时候就要所注意。
第一篇是外观表现:
环境与频率
border-radius百分比失效
设置一个较大值如border-radius:9999px
placeholder属性设置的文字向上偏移的厉害
4.x部分机型
line-height:normal
iOS5及以后版本都支持. iOS4及以下版本不支持,会当做static处理.
及以下版本不支持.
Android 2.2 滚动过程中不保持fixed的位置,滚动完成后回到fixed的位置.
Android 2.3 支持fixed, 但是要求页面禁止缩放.
Android 3+ 支持fixed.
如果一个应用了&transform的元素里面包含fixed定位的元素,在webkit核心的浏览器下,该fixed定位的元素会失效,其实际定位效果类似绝对定位,会跟着滚动条的滚动而滚动!
避免在应用了css3 transform的元素内部嵌套fixed定位的元素。
webkit上的input,button,及select的默认样式可以通过以下禁用,然后自定义。
-webkit-appearance:
video标签的父元素(祖辈元素)设置transform样式后,标签会脱离文档流
部分android机型
避免使用transform,如果需要设置位移,可使用绝对定位加top/left代替
body设置100%高度后,在移动浏览器里面可能会被底部的导航栏挡住:
各移动浏览器经常出现
document.documentElement.style.height = window.innerHeight + 'px'
字体设置建议:
font-family: &Helvetica Neue&, Helvetica, STHeiTi, sans-
iOS 4.0+ 使用英文字体 Helvetica Neue,之前的iOS版本降级使用 Helvetica。
中文字体设置为华文黑体STHeiTi。
需补充说明,华文黑体并不存在iOS的字体库中(
但系统会自动将华文黑体STHeiTi兼容命中系统默认中文字体黑体-简或黑体-繁:
Heiti SC Light 黑体-简 细体
Heiti SC Medium 黑体-简 中黑
Heiti TC Light 黑体-繁 细体
Heiti TC Medium 黑体-繁 中黑
原生Android下中文字体与英文字体都选择默认的无衬线字体。
4.0之前版本英文字体原生Android使用的是Droid Sans,中文字体原生Android会命中Droid Sans Fallback。
4.0+ 中英文字体都会使用原生Android新的Roboto字体。
其他第三方Android系统也一致选择默认的无衬线字体。
使用border-image实现类似iOS7的1px底边
iOS7已经发布有一段时间,扁平化设计风格有很多值得称赞的地方,其中有很多设计细节都是值得研究的。
首先,来看下面iOS设置的截图中的border:
从上面的截图可以看到iOS7的设计是非常精细的,border是一根非常细的线。这篇文章将说明如何使用border-image实现iOS7的border效果。
在看下面的内容之前,需要先了解devicePixelRatio和border-image,不熟悉的同学请自行脑补:
border属性实现效果
我们在实现border时通常都是使用border属性,如下:
//code from /mobile-web-bug.html
.border-1px {
border-width: 1px 0;
border-style:
border-color: #333;
显示效果对比:
上面这张图片可以看到,在手机上border无法达到我们想要的效果。这是因为devicePixelRatio特性导致,的devicePixelRatio==2,而border-width:
1px描述的是设备独立像素,所以,border被放大到物理像素2px显示,在iPhone上就显得较粗。
使用border-image属性实现物理1px
通常手机端的页面设计稿都是放大一倍的,如:为适应iphone retina,设计稿会设计成640*960的分辨率,图片按照2倍大小切出来,在手机端看着就不会虚化,非常清晰。
同样,在使用border-image时,将border设计为物理1px,如下:
样式设置:
.border-image-1px {
border-width: 1px 0
-webkit-border-image: url(&border.png&) 2 0
border-image: url(&border.png&) 2 0
显示效果对比:
这里在手机上的效果和iOS7已经非常接近了。
实际示例(devicePixelRatio:&1)
border-1px
border-image-1px
Note: border.png也可以直接使用的base64替代哦
.border-image-1px {
border-width: 1px 0
-webkit-border-image: url(&data:image/base64,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&) 2 0
详情请参考:http://tgideas.github.io/mtips/#home/list1
原文链接:&版权所有,转载时请注明出处,违者必究。
注明出处格式:前端开发博客 ()
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:202408次
积分:3225
积分:3225
排名:第7877名
原创:17篇
转载:724篇
(10)(19)(15)(41)(24)(23)(17)(8)(4)(10)(6)(54)(12)(7)(3)(16)(12)(20)(10)(14)(15)(4)(10)(19)(2)(1)(4)(31)(4)(4)(27)(24)(16)(23)(1)(8)(3)(15)(12)(8)(3)(3)(4)(35)(1)(3)(8)(30)(31)(24)(5)(12)(7)(5)(3)(1)(1)(3)(13)私活儿神器
MASHUPCLOUD 聚云网
最具价值web全栈课程
只做前端开发培训的好学校,专注于多方向全栈工程师培养。前端名师邵山欢亲自授课,课程涵盖HTML5、CSS3、Node.js、Angular、React诸多课程,免费视频广受学生好评。
跟牛人学前端
跟牛人学前端
妙味大前端自学宝典
妙味课堂2016年JavaScript课程大纲震撼升级、全栈来袭!
前端最新干货
前端最新干货
Nodejs在线课程
智能社就是全栈开发培训,国内正规的JavaScript、HTML5、NodeJS培训机构,专注于让学员获得快乐的学习体验并找到高薪工作的培训
您的位置: » 分类:
» 文章: border-radius在Android下的几个BUG
您可能感兴趣的文章
近期最热文章
- 11,744 - 10,599 - 5,535 - 4,894 - 4,284 - 3,809}

我要回帖

更多关于 border image width 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信