一、HTML給圖片絕對定位
在HTML中,我們可以給一張圖片添加絕對定位來使其脫離文檔流,從而可以在頁面上自由移動。下面我們來看一個簡單的示例:
<div class="wrapper"> <h2>這是一個標題</h2> <img src="img1.jpg" class="positioned" alt=""> <p>這是一個段落</p> </div>
我們在一個div元素內部插入了一個圖片和一個段落,同時設定wrapper類的position屬性值為relative。圖片的class屬性為positioned,接下來給圖片添加以下CSS樣式:
.positioned {
position: absolute;
top: 50px;
left: 50px;
}
這將讓圖片從其父元素的坐標系中脫離,相對於文檔的左上角定位,從該點偏移50像素的左上角繼續顯示。
當然,還有其他屬性可以控制絕對定位元素,例如right和bottom。right:50px;則是將元素向右移動50像素
二、CSS圖片絕對定位
在CSS中,我們可以使用絕對定位來控制圖片的位置和大小。下面我們來看一個示例:
<div class="wrapper"> <h2>這是一個標題</h2> <img src="img1.jpg" class="positioned" alt=""> <p>這是一個段落</p> </div>
同樣的,我們用CSS來設置圖片的樣式,如下所示:
.positioned {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 200px;
}
這將讓圖片絕對定位,並使其垂直和水平中心在父元素的中心。接下來,我們使用 translate() 函數將它們返回到它們的正確位置。它的 width 更改為 200 像素是因為它太大了,我們需要它更小些
三、CSS圖片絕對定位的特殊效果
使用絕對的定位還可以實現複雜的效果,例如拼圖遊戲中的有序變換。下面我們來看一個簡單的示例:
<div class="wrapper"> <h2>這是一個標題</h2> <img src="img1.jpg" class="positioned" alt=""> <p>這是一個段落</p> </div>
接下來我們來添加CSS樣式,初始狀態左上角是0,0:如下
.positioned {
position: absolute;
top: 0;
left: 0;
width: 40%;
transition: all 1s ease;
}
這樣在後續的操作中就會使用到 transition 這個屬性了。然後,我們可以通過類似以下的方式操作來將圖片移到它的新位置:
.changed {
transform: translateX(50%) rotate(-45deg);
left: 50%;
top: 100px;
}
然後就可以玩出豐富的效果了。實現過程就是把圖片在前後兩個位置中間加一個中間狀態:
.initial {
position: absolute;
top: 0;
left: 0;
width: 40%;
}
.middle {
transform: translateX(50%) rotate(-45deg);
left: 50%;
top: 100px;
transition: all 1s ease;
}
.final {
transform: translateY(200%) rotate(180deg);
left: 80%;
top: 0;
transition: all 1s ease;
}
我們假設需要拼成的圖形為直角三角形向右傾斜,然後我們可以在中間的效果中進行旋轉、偏移和變形。它將在1秒的時間內不間斷地從初始狀態到中間狀態,然後是最終狀態。同時謹記,transition屬性可以使變化更平緩,過度的效果更自然
總的來說,絕對定位的圖片在網頁的設計中有著非常重要的地位。它可以實現對於圖片在頁面布局中的自由設計,同時也可以做到一些比較炫酷的特效。所以,前端程序員在設計頁面的時候,絕對定位的圖片是避免不了的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/276068.html
微信掃一掃
支付寶掃一掃