成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

CSS實現1px以內的移動

開發 前端
之前的文章說過關于行內元素垂直方向對齊的方案。感興趣的可以看我的往期文章。在上一篇文章里我們提到了 1px 內的移動問題。本文就一像素內的問題給出解決方案。

之前的文章說過關于行內元素垂直方向對齊的方案。感興趣的可以看我的往期文章。在上一篇文章里我們提到了 1px 內的移動問題。本文就一像素內的問題給出解決方案。

可能大家看過關于 Retina 屏幕的一像素邊框問題,注意這里是邊框寬度而不是移動元素。

什么?border 小于 1px ?

對,因為前面有人給出相關方案而且好多種方案,這里不重復描述實現原理,給大家兩個鏈接,感興趣的自己跳轉。

看完大徹大悟,佩服佩服,思路很多,回到本文重點

想一下能實現移動的方法 position(top,right,bottom,left), margin, padding, vertical-align。

上面給的只是一部分可以通過具體單位(px, em, rem 等)進行移動的方法

本著實踐的原則,上述方案都不可行,在***的 chrome 中,當小于 0.5px 時是 0,當大于等于 0.5px 時就變成 1px。

因為案例過于簡單,不做 demo ,感興趣的自己實踐,相信大家多數人試驗過了。

那么還有什么以具體單位移動的屬性呢?

解決方案

也許你早就知道有 transform 的 translate 屬性了。沒錯它就能實現 1px 內的移動!

基本語法:

  1. transform: translate(12px, 50%); 
  2.  
  3. transform: translateX(2em); 
  4.  
  5. transform: translateY(3in);  

給出本文的 demo 代碼,

  1. <div class="parent"
  2.   <div class="child-first"></div> 
  3.   <div class="child-second"></div> 
  4.   <div class="child-third"></div> 
  5. </div> 
  6.  
  7. <style> 
  8.   .parent { 
  9.     width: 310px; 
  10.     height: 150px; 
  11.     background-color: #666; 
  12.   } 
  13.  
  14.   .parent div { 
  15.     display: inline-block; 
  16.   } 
  17.  
  18.   .child-first { 
  19.     width: 100px; 
  20.     height: 100px; 
  21.  
  22.     margin-top: .5px; 
  23.  
  24.     transform: translateY(.3px); 
  25.  
  26.     background-color: #f66; 
  27.   } 
  28.  
  29.   .child-second { 
  30.     width: 100px; 
  31.     height: 100px; 
  32.  
  33.     transform: translateY(.5px); 
  34.  
  35.     background-color: #ff0; 
  36.   } 
  37.  
  38.   .child-third { 
  39.     width: 100px; 
  40.     height: 100px; 
  41.  
  42.     transform: translateY(1px); 
  43.  
  44.     background-color: #06c; 
  45.   } 
  46. </style>  

截圖如下

這里為了更容易觀察,我們把布局換成 inline-block ,我們發現元素與元素之間存在空隙回去再看一遍代碼發現沒什么問題,那這段距離是怎么引起的呢?

是空格? 沒錯! 在使用 inline-block 的時候一定注意代碼縮進或換行帶來的不必要的麻煩(無意中添加了空格)。

修改如下

  1. <div class="parent"
  2.  
  3. <div class="child-first"></div><div class="child-second"></div><div class="child-third"></div> 
  4.  
  5. </div>  

得到最終結果,如下圖

這里特地將小塊顏色做區分,瀏覽器視圖放大到***倍數,如果還是看不清的話,推薦大家親手試一試,

總結

到這里我的方法講完了,在***歡迎大家討論,方案不止一個, orange 目前只發現這一個方案,你也可以根據 js 判斷屏幕然后給出 .5 像素的偏移也是可行的,我個人認為此方法簡單一些。

歡迎關注 orange 的 個人博客 http://orangexc.xyz/

責任編輯:龐桂玉 來源: segmentfault
相關推薦

2024-07-26 10:22:22

2022-06-27 16:12:48

CSS像素前端

2010-08-19 15:04:26

IE6DIV

2016-09-23 20:50:09

手機開發Web 圖片兼容

2012-04-16 09:43:36

內容優先移動產品

2010-09-13 13:01:34

CSSpxem

2010-09-09 14:16:24

pxemCSS

2011-06-13 10:07:33

HTML 5CSS3移動應用

2021-07-08 06:47:21

Python

2024-06-21 08:44:37

打車軟件邊緣性

2014-09-04 15:42:00

移動平臺

2011-05-12 17:26:40

移動網站CSS

2018-07-20 09:16:08

微軟瀏覽器Windows

2024-09-18 09:18:11

2022-05-31 15:27:11

CSS動畫

2017-04-27 14:05:59

CSS動畫前端

2022-06-29 08:02:24

移動優先CSS

2010-07-23 11:21:39

iPhoneCSS3Media Queri

2010-10-29 14:20:54

Oracle移動控制文

2010-07-28 08:41:17

HTML5Web移動應
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费视频二区 | 亚洲国产精品99久久久久久久久 | 久久久久久久久久性 | 天堂一区在线 | 国产精产国品一二三产区视频 | 91在线视频国产 | 在线成人 | 国产高清一区二区三区 | 一级毛片视频免费观看 | 久久久久久免费免费 | 韩国毛片视频 | 中文字幕 在线观看 | 久久精品国产99国产精品亚洲 | 精品一区二区三区在线视频 | 精品免费在线 | 精品二区视频 | 国产欧美日韩视频 | 日韩欧美一区二区三区 | 中文字幕欧美日韩一区 | 99精品国自产在线观看 | 99久久国产免费 | 久久综合久久久 | 在线观看中文字幕dvd播放 | 在线观看成人小视频 | 欧美在线一区二区三区四区 | 欧美国产精品一区二区 | 亚洲人人| 国产a区 | 久久99精品国产99久久6男男 | 国产精品日韩一区二区 | 国产精品福利网站 | 91中文在线观看 | 亚洲精品欧美一区二区三区 | 99爱在线视频 | 黄片毛片在线观看 | 91视频网址 | 丁香综合| 日本午夜精品 | 中文字幕第二十页 | 精品福利在线 | 久久av在线播放 |