我正在展示在網格中展示照片的響應式設計。照片本身可以是所有長寬比和大小。此外,放置它們的網格單元也不是固定寬度,它們會在您調整瀏覽器大小時擴展。此外,每個網格單元儘管在寬度和高度上都是動態的,但是具有相同的大小,而不管其內部的圖像如何。是否存在與背景大小相當的img(javascript):cover?
爲了在這種高度動態的情況下正確顯示照片,我找到了一個工作配方:每張照片基本上都是一個div,圖像被設置爲背景圖像。爲了在動態大小的網格內正確縮放圖像的未知寬度/高度,我使用了CSS3的背景大小:封面功能。
最終的結果是神話般的,它正是我想要的用戶界面和顯示。儘管如此,我並不滿意這種解決方案的可訪問性:它不適合搜索引擎優化,也不適合插件友好(想想社交插件)。因此,我試圖重現我的工作情況,但這次使用的是好的舊img標籤而不是CSS背景。
我知道有IE8和下面的polyfills背景大小:封面,但我不是在尋找,我正在尋找一個基於img標籤的解決方案。我還發現了使用絕對定位技術以及CSS剪輯屬性的文章,但請記住我的設計絕對沒有關係。
我想我正在尋找的是一個JavaScript例程,它具有背景大小的邏輯:在動態調整大小的情況下,源(圖像尺寸)和目標(顯示框)都是動態的尺寸。
是否有這樣的JavaScript等效於背景大小:封面適用於img標籤?
您應該可以使用寬度:100%或高度:100%來獲得大部分背景大小的效果:封面。但是,如果您有不同的縱橫比混合,它可能無法正常工作。 –
@LieRyan謝謝,我爲我的答案增加了一個額外的要求:每個網格單元具有相同的大小,基於窗口寬度的動態大小。將一個維度設置爲100%將部分完成這項工作,但它並不像「封面」那樣將圖像居中。 – Ferdy
簡單地設置「img {max-width:100%;}」可能不會做你正在尋找的東西嗎? –