CSS3实现0.5像素边框
实现方法
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;} |

浙公网安备 33010602011771号
