變換的魔力:翻譯(-50%,-50%)
處理大圖像或全螢幕元素時, CSS開發人員經常使用一個奇怪的程式碼片段:
.item { top: 50%; left: 50%; transform: translate(-50%, -50%); }
這段程式碼背後的目的是什麼,它是如何實現的有效嗎?
transform 屬性會移動元素相對於其原始參考點的位置。在這種特定情況下,translate(-50%, -50%) 將元素在 X 軸和 Y 軸上平移自身大小的 -50%。
要理解為什麼這是必要的,讓我們打破它向下進入其組件:
- translateX(-50%):將元素向左移動其寬度的50% ,將其中心點移動到它之前的左上角。
- translateY(-50%):將元素向上移動其高度的 50%,再次將中心點帶回原來的左上角。
透過將 top 和 left 設定為 50%,我們最初將元素的左上角移到其父容器的中心。然而,這使得元素的中心點偏離父元素的中心。
transform:translate(-50%, -50%) 透過將元素向左和向上移動一半來修正這個問題。它自己的大小。這可確保元素的中心點與其父元素的中心點對齊,從而實現完美的水平和垂直居中。
要視覺化效果,請將滑鼠懸停在以下程式碼片段上:
body { margin: 0; padding: 0; } .parent { background-color: #ccc; width: 100vw; height: 100vh; position: relative; } .child { background-color: rgba(0,0,255,0.5); width: 50px; height: 50px; position: absolute; top: 50%; left: 50%; } .child::before { background-color: rgba(255, 0, 0, 0.5); position: absolute; top: 0; left: 0; width: 50px; height: 50px; content: ''; transition: all .5s ease-in-out; } body:hover .child::before { transform: translate(-50%, -50%); }
請注意,當您將滑鼠懸停在父容器上時,居中元素的紅色“幽靈」如何平滑地移動到位。這示範如何使用transform:translate(-50%, -50%)在CSS中實現完美居中。
以上是CSS中`transform:translate(-50%,-50%)`如何實現完美居中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

CSS盒子陰影和輪廓屬性獲得了主題。讓我們查看一些在真實主題中起作用的示例,以及我們必須將這些樣式應用於WordPress塊和元素的選項。

Svelte Transition API提供了一種使組件輸入或離開文檔(包括自定義Svelte Transitions)時動畫組件的方法。

前幾天我只是和埃里克·邁耶(Eric Meyer)聊天,我想起了我成長時代的埃里克·邁耶(Eric Meyer)的故事。我寫了一篇有關CSS特異性的博客文章,以及


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

記事本++7.3.1
好用且免費的程式碼編輯器

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),