如何用css3实现半像素边框
2017-06-12 20:41
253 查看
今天小编遇到一个头疼的问题,如何实现一个半(0.5)像素的边框
像一个像素的边框,我们很容易解决,直接一个border:1px solid red;就很容易实现了
那么我们直接一个border:0.5px solid red;不就解决实现0.5像素的边框问题了吗?
答案是不行的,因为border的with只能是自然数
所以我们要运用到CSS3中伪类元素来解决这一问题
思路:
1.设置目标元素作为定位参照
2.给目标元素添加一个伪类元素before或者after,并设置为绝对定位
3.为伪类元素添加1px的边框
4.设置伪类元素的宽高为目标元素的2倍
5.将伪类元素缩小0.5倍(变回目标元素的大小)
.connet:after{
transform-origin:0 0;
transform: scale(0.5,0.5);
}
6.把border包进来(意思就是先放大再缩回来,border-box是关键,否则边框不会一起缩放)
其具体代码为
其运行效果图如下
明显的看到实现了0.5像素边框
像一个像素的边框,我们很容易解决,直接一个border:1px solid red;就很容易实现了
那么我们直接一个border:0.5px solid red;不就解决实现0.5像素的边框问题了吗?
答案是不行的,因为border的with只能是自然数
所以我们要运用到CSS3中伪类元素来解决这一问题
思路:
1.设置目标元素作为定位参照
.connet{ position: relative; width: 100px;height: 100px; }
2.给目标元素添加一个伪类元素before或者after,并设置为绝对定位
.connet:after{ content: ''; position: absolute; }
3.为伪类元素添加1px的边框
.connet:after{ border: 1px solid red; }
4.设置伪类元素的宽高为目标元素的2倍
.connet:after{ width: 200%;height: 200%; }
5.将伪类元素缩小0.5倍(变回目标元素的大小)
.connet:after{
transform-origin:0 0;
transform: scale(0.5,0.5);
}
6.把border包进来(意思就是先放大再缩回来,border-box是关键,否则边框不会一起缩放)
.connet:after{ box-sizing:border-box; }
其具体代码为
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <style type="text/css"> #box{ /*此元素作为参照比较*/ width: 150px;height: 150px; border: 1px solid red; padding: 10px; } .connet{ position: relative 98b1 ; /*设置目标元素作为定位参照*/ width: 100px;height: 100px; } .connet:after{ /*给目标元素添加一个伪类元素before或者after*/ content: ''; position: absolute; /*设置绝对定位*/ border: 1px solid red;/*为伪类元素添加1px的边框*/ width: 200%;height: 200%;/*设置伪类元素的宽高为目标元素的2倍*/ transform-origin:0 0; /*伪类元素缩小0.5倍(变回目标元素的大小)*/ transform: scale(0.5,0.5); box-sizing:border-box; /*把border包进来*/ } </style> <body> <div id="box"> <div class="connet"> </div> </div> </body> </html>
其运行效果图如下
明显的看到实现了0.5像素边框
相关文章推荐
- css3 实现版像素边框
- CSS3实现半像素边框
- css3 如何实现圆边框的渐变
- 使用css3来实现边框圆角效果
- 如何用css3实现风车效果
- 表格边框探秘table及如何快速实现细线表格
- swing中JPanel如何实现分组框的效果以及设置边框颜色
- 如何实现表格左右两边的边框为0
- CSS3利用border-radius实现边框圆角
- 如何用css3实现风车效果
- CSS3实现边框锯齿效果
- 实现CSS3中的border-radius(边框圆角)示例代码
- Delphi如何实现无边框窗体的移动
- 详解CSS3特性@Media如何实现响应式设计
- c# 当窗体设置成无边框后,如何实现拖动效果,简洁实用
- C# 如何窗体去掉上面的最大化,最小化合关闭以及实现无边框窗体拖动
- 利用CSS3的新功能实现(椭)圆角边框和图片边框 (圆角)
- CSS3尝鲜(三):利用CSS3的新功能实现(椭)圆角边框和图片边框
- Css3 3d animation Step1---介绍如何实现css动画
- css技巧之如何实现ul li边框重合