博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS3实现0.5像素边框
阅读量:5216 次
发布时间:2019-06-14

本文共 1112 字,大约阅读时间需要 3 分钟。

实现方法

1.设置目标元素作为定位参照

1
2
3
.border {
    
position
:
relative
;
}

2.给目标元素添加一个伪元素before或者after,并设置绝对定位

1
2
3
4
.
border
:before {
    
content
:
""
;
    
position
:
absolute
;
}

3.给伪元素添上1px的边框

1
border
:
1px
solid
red
;

4.设置伪元素的宽高为目标元素的2倍

1
2
width
:
200%
;
height
:
200%
;

5.缩小0.5倍(变回目标元素的大小)

1
2
transform-origin:
0
0
;
transform: scale(
0.5
,
0.5
);

6.再把border包进来

1
box-sizing: border-box;

简言之就是先放大再缩回来,border-box是关键,否则边框不会一起缩放

完整代码

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
.border {
    
position
:
relative
;
}
 
.
border
:before {
    
content
:
""
;
/* 注意这里为双引号 */
    
position
:
absolute
;
    
width
:
200%
;
    
height
:
200%
;
    
border
:
1px
solid
#ff0000
;
    
border-radius:
5px
;
/* 也可以设置圆角 */
    
-webkit-transform-origin:
0
0
;
    
-moz-transform-origin:
0
0
;
    
-ms-transform-origin:
0
0
;
    
-o-transform-origin:
0
0
;
    
transform-origin:
0
0
;
    
-webkit-transform: scale(
0.5
,
0.5
);
    
-ms-transform: scale(
0.5
,
0.5
);
    
-o-transform: scale(
0.5
,
0.5
);
    
transform: scale(
0.5
,
0.5
);
    
-webkit-box-sizing: border-box;
    
-moz-box-sizing: border-box;
    
box-sizing: border-box;
}

转载于:https://www.cnblogs.com/shaozhu520/p/11314877.html

你可能感兴趣的文章
Android多线程分析之四:MessageQueue的实现
查看>>
codeforces GYM 100114 J. Computer Network tarjan 树的直径 缩点
查看>>
Codeforces Round #292 (Div. 1) B. Drazil and Tiles 拓扑排序
查看>>
linux set
查看>>
vim lua对齐indent无效
查看>>
Python中的MySQL接口:PyMySQL & MySQLdb
查看>>
输入格式CombineFileInput
查看>>
笔记:mysql 下载与安装
查看>>
CSS3学习笔记
查看>>
本地推送UILocalNotification
查看>>
在Android中调用C#写的WebService(附源代码)
查看>>
108. Convert Sorted Array to Binary Search Tree
查看>>
数据结构与算法
查看>>
红黑树
查看>>
DIV滚动条
查看>>
YOLOV3 训练WIDER_FACE
查看>>
GIS ftp
查看>>
精品课程-工程测量-第一章-绪论
查看>>
好久没写代码,今天刚刚给客户写了点
查看>>
C++之 类型定义语句--typedef
查看>>