当前位置: 首页 > 科技观察

CSS实现1px以内的移动

时间:2023-03-16 21:04:48 科技观察

上一篇讲了内联元素的垂直对齐。有兴趣的可以看看我之前的文章。上一篇我们提到了1px以内移动的问题。本文给出了一个像素内问题的解决方案。您可能已经看到Retina屏幕上的单像素边框问题。请注意,这是边框宽度而不是移动元素。什么?边框小于1px?是的,因为有人给出了相关的解决方案,而且解决方案有很多种。在此,实现原理不再赘述。我会给你两个链接。有兴趣的可以自己跳。Retina屏幕的移动设备如何实现真正的1px线?看完移动端网页5像素的秘密,深有启迪,佩服不已。有很多想法。回到这篇文章,重点介绍实现移动位置(top,right,bottom,left),margin,padding,vertical-align的方法。以上只是部分可以按特定单位(px、em、rem等)移动的方法,本着实践的原则,以上方案均不可行。在最新的chrome中,当小于0.5px时,为0,当大于等于0.5px时,则变为1px。因为案例太简单,不想做demo。如果你有兴趣,你可以自己练习。我相信你们大多数人都尝试过。那么具体单位还有什么可搬的呢?解决方案也许你已经知道transform有一个translate属性。没错,它可以在1px以内移动!基本语法:transform:translate(12px,50%);transform:translateX(2em);transform:translateY(3in);给出本文的demo代码,

截图如下这里为了便于观察,我们将布局改为inline-block,发现元素之间有空隙回头看代码再次发现没有问题。这个距离是怎么造成的呢?是空格吗?这是正确的!空格处)。修改如下/div>得到最终结果,如下图,小块的颜色经过特殊区分,浏览器视图放大到***倍。如果你还是看不清楚,我建议你自己尝试一下。我在这里总结了我的方法。欢迎在***讨论,解决方法不止一种,橙子目前只找到了这个,也可以根据js判断画面然后给个0.5像素的偏移也是可行的,个人觉得这个方法是更简单。欢迎关注orange的个人博客http://orangexc.xyz/