Home >Web Front-end >HTML Tutorial >web前端绘制0.5像素的几种方法_html/css_WEB-ITnose

web前端绘制0.5像素的几种方法_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:35:351195browse

  最近完成了公司安排的移动web触屏开发,期间涉及到在移动设备上显示线条,最开始采用PC常用的css board属性来显示1个像素的线条,但是发现在移动设备上并不美观,参考淘宝、京东的触屏发现它们均是采用浅细的线条来显示在移动设备上。

  以下纪录了比较方便的4种绘制0.5像素线条方式

一、采用meta viewport的方式,这个也是淘宝触屏采用的方式

常用的移动html viewport的设置如下

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

具体意思就不多提,它就是让页面的高宽度即为设备的高宽像素,而为了方便绘制0.5像素的viewport的设置如下

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

这样html的宽高就是设备的2倍,此时依然使用css board为1像素的话,肉眼看到页面线条就相当于transform:scale(0.5)的效果,即为0.5像素

但是这种方式涉及到页面整体布局规划以及图片大小的制作,所以若采用这个方式还是事先确定为好

 

二、采用 border-image的方式

这个其实就比较简单了,直接制作一个0.5像素的线条和其搭配使用的背景色的图片即可

        <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />    boardTest        

点击1

点击2

 

三、采用background-image的方式

我这里采用的是渐变色linear-gradient的方式,代码如下

        <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />    boardTest        

点击1

点击2

linear-gradient(bottom,red 50%,transparent 50%);的意思是从底部绘制一个渐变色,颜色为红色,占比为50%,而总宽度已经设置为100%而总高度为一个像素background-size:  100% 1px;

这样显示出来就是0.5像素的线条

 

四、采用transform: scale()的方式

就是将绘制出来的线条的高度进行半倍的缩放,代码如下

        <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />    boardTest        

点击1

点击2

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn