前端页面细节处理好了才会显得精致。边框在网页中是常见的一种样式了。虽然不把它处理为0.5px看上去没毛病,但是想让你做的东西征服更多的人,这些细节处理是必须的。

今天主要说一下如何让边框显示0.5px的方法:

方法一:利用渐变

关于渐变可以看下面两篇文章做深入了解:

CSS3 渐变(Gradients)

深入理解CSS3 gradient斜向线性渐变

实现原理:

把元素的伪类高度设为1px,背景渐变,一半有颜色,一半透明。
 
线上案例:百度糯米(没有改版的话)
 
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>边框0.5px实现方法</title>
<style type="text/css">
.container{
width: 500px;
margin: 0px auto;
}
.border-gradient{
position:relative;
padding: 10px;
} .border-gradient:after {
content: " ";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 1px;
background-image: linear-gradient(0deg, #f00 50%, transparent 50%);
}
</style>
</head>
<body>
<div class="container">
<h3>方案一:渐变</h3>
<div class="border-gradient">
原理:高度1px,背景渐变,一半有颜色,一半透明。
</div>
</div>
</body>
</html>
方法二:利用缩放
原理:transform:scale()来达到压缩一半的目的。
 
线上案例:京东
 
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>边框0.5px实现方法</title>
<style type="text/css">
.container{
width: 500px;
margin: 0px auto;
}
.border-scale{
position:relative;
padding: 10px;
} .border-scale:after{
content: " ";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 1px;
background-color: #f00;
/* 如果不用 background-color, 使用 border-top:1px solid #f00; 效果是一样的*/
-webkit-transform: scaleY(.5);
transform:scaleY(.5);
} </style>
</head>
<body>
<div class="container">
<h3>方案二:使用缩放</h3>
<div class="border-scale">
原理: 在Y轴方向上,压缩一半。
</div>
</div>
</body>
</html>
拓展:4条边框都需要
原理:也是利用transform:scale(),只不过这次缩放的是整个内容。
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>边框0.5px实现方法</title>
<style type="text/css">
.container{
width: 500px;
margin: 0px auto;
}
    .border-all{
position:relative;
padding: 10px;
} .border-all:after{
content: " ";
position: absolute;
left: 0;
top: 0;
z-index:-1;
width: 200%;
height:200%;
border:1px solid #f00;
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
-webkit-transform: scale(.5, .5);
transform: scale(.5, .5);
border-radius: 10px;
}
</style>
</head>
<body>
<div class="container"> <h3>拓展:四周全是0.5px的线条的话</h3>
<div class="border-all">
这是实现一个盒子四周0.5px的做法, 如果加入border-radius圆角效果,会发现,有些手机会有圆角发虚的情况,不过影响不是很大。如果有两个盒子,上面一个盒子没有边框效果,下面盒子有边框效果,两个盒子一样宽,上下在一起的布局方式,你会发现,在手机上有时候会对不齐… 错开了0.5px,原因已经很明了了…还有那个z-index ,可以根据不同需求来调整使用,如果可以的话,不使用也是可以的。
</div>
</div>
</body>
</html>

其它文章推荐:

移动端1px细线解决方案总结

webapp中的CSS3实现 0.5px的细线

CSS3实现0.5px的边框的更多相关文章

  1. css3写出0.5px的边框

    一说到0.5px的边框,我们一般认为是不行的,因为在ps中0.5px的线也是做不出来的,这个计算机的像素有关系. 废话不多说了,0.5px 其实用的是css3新特性,box-shadow:阴影设置 代 ...

  2. CSS3实现0.5px边框

    用CSS设置边框宽度为0.5px,可以使边框看起来更加细腻,特别是在移动端,设计师会有这样的要求. 但遗憾的是,大多数Android手机并不能识别0.5px.因此我们可以使用CSS3来变通的实现0.5 ...

  3. CSS 0.5px 细线边框的原理和实现方式

    细线边框的具体实现方法有:伪元素缩放或渐变,box-shadow模拟,svg画线,border-image裁剪等.要实现小于1px的线条,有个先决条件:屏幕的分辨率要足够高,设备像素比要大于1,即cs ...

  4. 0.5px的边框

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. css给div添加0.5px的边框

    具体代码实现如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  6. css3 使用SVG做0.5px 的边框细线

    .HalfPixelLine{ background: repeat-x top left url("data:image/svg+xml;utf8,<svg xmlns='http: ...

  7. div背景透明内容不透明与0.5PX边框兼容设置

    1.问题:设置 border-width:0.5px;  并兼容安卓和苹果移动端.  兼容:苹果IOS的 safari 支持浮点数边框,安卓浏览器不支持,会四舍五入到1px.不同浏览器效果额不同  解 ...

  8. 移动端 Retina屏border实现0.5px

    首先来看一下造成Retina边框变粗的原因 其实这个原因很简单,因为css中的1px并不等于移动设备的1px,这些由于不同的手机有不同的像素密度.在window对象中有一个devicePixelRat ...

  9. CSS画0.5px的线

    今天遇到一个需求,画0.5px的线,查了以下资料,主要以scale方法为主.代码如下: /*0.5px上边框*/ .half_top_border_before:before{ content: &q ...

随机推荐

  1. C#基础视频教程7.5 如何编写简单游戏

    有一些BUG需要处理,比如小鸟太高或者太低都应该报错(不然直接掉到窗口下面去了),这个方法跟前面的HitTest应该独立开来,而不是掺和在一起   测试确实可以检测是否超过边界(如果要非常精确,那么就 ...

  2. TP框架中field查询字段

    TP框架中field查询字段 不是fields 也不是files !!!! 不是fields 也不是files !!!! 不是fields 也不是files !!!! 不是fields 也不是file ...

  3. 〖Fedora〗设置Fedora静态ip地址

    root@Fedora:~# cat /etc/sysconfig/network-scripts/ifcfg-eth0 # Intel Corporation 82540EM Gigabit Eth ...

  4. php 缓冲区总结

    我们先来看一段代码. <?php for ($i=10; $i>0; $i--) { echo $i; flush(); sleep(1); } ?> 按照php手册里的说法 该函数 ...

  5. 优化技术之Android高效开发

    基于Android平台的设备一定是嵌入式设备. 两个原则判断一个系统是否合理:不要做不必要做的事情:尽可能地节省内存的使用. 1. 尽量避免创建对象Object 2. 使用自身方法 3. 使用虚拟优于 ...

  6. phpcms 留言板

    相信很多用phpcms v9的站长都不是程序员,而我也是一个网页设计师,所以对制作模板还是可以对付的.但是一设计到自己写程序,就一个头两个大啦.之前公司的网站是用找别人 用dede cms做的,后来我 ...

  7. Linux 间网线直连

    核心提示:两台linux 系统用交叉线直连的方法: 1.交叉网线制作 A头:白橙,橙,白绿,蓝,白蓝,绿,白褐,褐 B头:白绿,绿,白橙,蓝,白蓝,橙,白褐,褐 即 B头的1.3脚相对A头互换:2脚与 ...

  8. python --中文相关问题

    往文件中写入中文,再从文件中读出,范例1: #coding:utf- with open('data.log','w') as f: a=u'中文' b = a.encode('gbk') f.wri ...

  9. C#:Application操作(待补充)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  10. 非super user管理会话

    在gp中取消或者中断某个用户的超长时间或者SQL存在问题的会话.假设无法拥有超级用户将无法运行该类操作.   首先我们创建两个用户t1.t2,而且使用t1登录到数据库. [gpadmin@wx60 ~ ...