目標:
實現一個寬度自適應,高度為寬度一半的容器。
一、思考如何實現
這個問題類似於:我們在行動端頁面,上面有一張寬度100% 的圖片,如果我們沒設定高度,則圖片會根據原有尺寸,等比縮放。
我們可以藉助這個想法,根據元素高度,來為元素設定一個對應比例的高度即可。
(推薦教學:CSS入門教學)
二、實作方法1 - 透過vw 視窗單位實現
所謂視口單位(viewport units)是相對於視口(viewport)的尺寸而言, 100vw 等於視口寬度的100% ,即1vw 等於視口寬度的1%。
我們就可以利用這個特性,實現行動端的寬高等比自適應容器。
HTML程式碼:
<div class="box"> <img src="/static/imghwm/default1.png" data-src="http://images.pingan8787.com/2019_07_12guild_page.png" class="lazy" / alt="css如何實作一個自適應容器" > </div>
css程式碼:
*{ margin:0; padding:0 } .box{ width:100%; height:51.5vw } .box img{ width:100%; }
為什麼 .box 高度為 51.5vw 呢?
原因是圖片原來的尺寸是 884 * 455 的寬高比例,即 455 / 884 = 51.5% 。
這個方法相比原來圖片的等比縮放,有個優點:無論圖片是否載入成功,容器高度總是計算完成,不會造成頁面抖動,也不會造成頁面重繪,從而提升性能。
下面看看這種情況下,圖片載入成功與失敗的對比:
#三、實作方法2 - 透過子元素padding 實作
透過設定子元素的padding 屬性來實現,是比較常用,也是效果比較好的一種,這裡需要理解的是: 子元素的padding 屬性百分比的值是先對父容器的寬度而言。
這裡看下面程式碼與效果圖理解下:
HTML程式碼:
<div class="box"> <div class="text">我是王平安,pingan8787</div> </div>
css程式碼:
.box{ width: 200px; } .text{ padding: 10%; }
分析:
這裡我們將父容器.box 寬度設定為200px ,子元素.text 的padding:10% ,因此.box 的padding 計算結果為20px ;
#接下來結合主題,我們利用這個原理,來實現等比例的問題:
HTML程式碼:
<div class="box"> <div class="text"> <img src="/static/imghwm/default1.png" data-src="http://images.pingan8787.com/2019_07_12guild_page.png" class="lazy" / alt="css如何實作一個自適應容器" > </div> </div>
css程式碼:
.box{ width: 100%; } .text{ overflow: hidden; height: 0; padding-bottom: 51.5%; } .box .text img{ width: 100%; }
這裡.text 的padding-bottom: 51.5%; 也是按照第一個方法,用圖片原始尺寸的寬高比計算出來的,需要注意,這裡將.text 設定height: 0; 會出現高度比實際高的問題,因此為了避免這個情況,就需要設定height: 0; 。
相關影片教學推薦:css影片教學
#以上是css如何實作一個自適應容器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

在這篇文章中,布萊克·莫里(Blackle Mori)向您展示了一些駭客,同時試圖推動同位HTML支持的極限。如果您敢於使用這些,以免您也被標記為CSS罪犯。

具有CSS的自定義光標很棒,但是我們可以將JavaScript提升到一個新的水平。使用JavaScript,我們可以在光標狀態之間過渡,將動態文本放置在光標中,應用複雜的動畫並應用過濾器。

互動CSS動畫和元素相互啟動的元素在2025年似乎更合理。雖然不需要在CSS中實施乒乓球,但CSS的靈活性和力量的增加,可以懷疑Lee&Aver Lee有一天會成為一種

有關利用CSS背景濾波器屬性來樣式用戶界面的提示和技巧。您將學習如何在多個元素之間進行背景過濾器,並將它們與其他CSS圖形效果集成在一起以創建精心設計的設計。

好吧,事實證明,SVG的內置動畫功能從未按計劃進行棄用。當然,CSS和JavaScript具有承載負載的能力,但是很高興知道Smil並沒有像以前那樣死在水中

是的,讓#039;跳上文字包裝:Safari Technology Preview In Pretty Landing!但是請注意,它與在鉻瀏覽器中的工作方式不同。

此CSS-tricks更新了,重點介紹了年鑑,最近的播客出現,新的CSS計數器指南以及增加了幾位新作者,這些新作者貢獻了有價值的內容。

在大多數情況下,人們展示了@Apply的@Apply功能,其中包括Tailwind的單個property實用程序之一(會改變單個CSS聲明)。當以這種方式展示時,@Apply聽起來似乎很有希望。如此明顯


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

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

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

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

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能