css实现0.5像素的边框
2017-02-07 15:30
363 查看
公司的设计师在做设计图的时候都是以iphone6(宽为750物理像素)为基准进行设计的。iphone6的设备像素比(即css像素与物理像素的比例)是2,所以设计师在设计图画了边框为1px的box的时候,相对于css代码来说就是0.5像素。
对于这个问题,最直观的方法就是css直接设置边框为0.5px,经过测试,iPhone可以正常显示,android下几乎所有的浏览器都会把0.5识别为0,即无边框状态,所以这种方式行不通
CSS3有缩放的属性,我们可以利用这个属性,缩小50%的1px的边框,来实现这个功能,具体实现代码如下
css:
实现思路:
1、设定目标元素的参考位置
2、给目标元素添加一个伪元素before或者after,并设置绝对定位
3、给伪元素添加1px的边框
4、用box-sizing: border-box 属性把边框都包进宽和高里面
5、宽和高设置为 200%
6、整个盒子模型缩小为0.5
7、调整盒子模型的位置,以左上角为基准 transform-origin: 0 0;
实现结果在iphone显示如下:
对于这个问题,最直观的方法就是css直接设置边框为0.5px,经过测试,iPhone可以正常显示,android下几乎所有的浏览器都会把0.5识别为0,即无边框状态,所以这种方式行不通
CSS3有缩放的属性,我们可以利用这个属性,缩小50%的1px的边框,来实现这个功能,具体实现代码如下
<div class="border3"> <div class="content">伪类设置的边框</div> </div>
css:
.border3{ position: relative; } .border3:before{ content: ''; position: absolute; width: 200%; height: 200%; border: 1px solid red; -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; }
实现思路:
1、设定目标元素的参考位置
2、给目标元素添加一个伪元素before或者after,并设置绝对定位
3、给伪元素添加1px的边框
4、用box-sizing: border-box 属性把边框都包进宽和高里面
5、宽和高设置为 200%
6、整个盒子模型缩小为0.5
7、调整盒子模型的位置,以左上角为基准 transform-origin: 0 0;
实现结果在iphone显示如下:
相关文章推荐
- CSS制作0.5像素线
- border-image属性实现css边框特殊需求
- css如何让表格table的边框为1像素呢
- div+css实现圆角边框:
- 不同像素密度屏幕下实现1px边框或分割线
- CSS实现列表li边框重合问题
- 纯css实现的下拉菜单只有边框底纹用到图片
- CSS实现鼠标放图片上显示白色边框+文字描述
- 用CSS定义单像素表格边框的简单方法
- css 实现 0.5 px 的 border
- CSS实现鼠标聚焦时边框不变,框内图片放大
- css用边框实现圆角矩形
- 有趣的CSS题目(2): 从条纹边框的实现谈盒子模型
- CSS实现的红色边框下拉导航菜单代码
- HTML+CSS制作一像素边框
- 使用CSS实现圆角边框
- 纯CSS实现的漂亮的立体图片边框效果,阴影代码
- 不用css,实现带细线灰色边框的表格
- CSS 美化表格边框为凹陷立体效果的实现方法
- CSS实现边框布局(百度前端笔试)