歡迎參加我們的ATOZ CSS系列!在本系列中,我將探索不同的CSS值(和屬性),每個CSS值(和屬性)以不同的字母開始。我們知道有時屏幕截圖還不夠,因此在本文中,我們添加了有關翻譯和位置之間差異的快速提示。
>x用於翻譯和位置
在這篇文章中,我們將查看這些方法的這些方法之間的許多差異,但首先,讓我澄清這些各種屬性的作用。
如果我們設置了位置:相對元素,我們可以使用它為>絕對
>內部定位元素創建邊界。這可能是對相對定位的更常見的用法,但不是我們在這裡討論的用途。如果我們將位置結合在一起:相對與偏移屬性之一的頂部,底部,左或右相對,則元素將從其原始位置移動在佈局中,同時保留曾經佔用的文檔中的空間。該元素將被移至新層,其“圖層順序”或其堆疊順序可以通過Z-Index屬性進行控制。
<span><span>.thing</span> { </span> <span>position: relative; </span> <span>top: 100px; </span> <span>left: 50px; </span><span>}</span>>在上面的示例中,元素將從頂部移動100px,距其原始位置的左側50px。
使用轉換時:轉換(x,y),我們得到的視覺結果與使用相對位置非常相似。通過以下片段可以實現與上述相同的結果:
在這種情況下,我們將沿X軸和100px沿Y軸翻譯該元素的坐標。最終結果在視覺上與以前的位置示例相同。
<span><span>.thing</span> { </span> <span>transform: translate(50px, 100px); </span><span>}</span>>那麼,為什麼我們有兩種做同樣的事情的方法?好吧,這些方法之間存在一些差異……
>
>瀏覽器支持位置是CSS2屬性,而轉換是CSS3屬性。結果,瀏覽器支持存在差異,儘管實際上唯一不支持2D變換的瀏覽器是IE8及以下。 如果您需要支持IE的舊版本,則不是您的轉換。
gpu加速度如果您想將元素作為過渡或密鑰幀動畫的一部分移動,請使用翻譯而不是位置(這既適用於絕對和相對定位)。有關此的深度,包括解釋和性能分析,請查看Paul Irish的這段視頻。
基於百分比的值的行為不同這兩種放置元素方法之間的一個主要區別是它們如何響應基於百分比的值。
這兩個元素都從其左邊緣的50%偏移。
紅色框的左邊緣將距其父容器的邊緣50%。>
>請參閱codepen上的sitepoint(@sitepoint)的筆vyyxgj。的最後一點是,由於位置和轉換是兩個不同的屬性,因此我們可以將它們結合在一起。這使我們能夠將絕對定位組合在一起,以將元素放置在頁面上非常特定的位置,然後通過變換修改該位置。
>一個例子可能是使定位的元素上下動畫。或者我們可以將定位與翻譯結合在一起以實現靈活的垂直中心。
因此,儘管可以使用這兩種放置元素的方法來獲得相似的結果,但存在一些顯著差異,並且結合了每種方法的優勢使它們成為了非常強大的工具集。經常詢問有關CSS翻譯與位置的問題(常見問題解答)
我可以同時使用CSS翻譯和位於同一元素上嗎?您可以在同一元素上同時使用CSS翻譯和位置。但是,重要的是要了解它們如何共同努力。位置屬性將首先影響元素在文檔流中的位置,然後翻譯函數將從該位置移動元素。
>
CSS是否可以通過所有類型的位置值轉換工作? CSS轉換具有所有類型的位置值 - 靜態,相對,絕對,固定和粘性。不管位置值如何,翻譯功能將從其位置移動。以上是ATOZ CSS:翻譯與位置相對之間的差異的詳細內容。更多資訊請關注PHP中文網其他相關文章!