簡體   English   中英

如何防止流體容器中顯示的圖像被裁剪

[英]How to prevent image in fluid container displayed cropped

請看下面的代碼和結果。

的HTML:

<div id="social_media">
    <ul class="social">
        <li><a href="#"><img src="facebook.png"></a></li>
        <li><a href="#"><img src="twitter.png"></a></li>
        <li><a href="#"><img src="gplus.png"></a></li>
        <li><a href="#"><img src="linkedin.png"></a></li>
    </ul>
</div>

CSS:

#social_media {
    width:70%;
    float: left;
    text-align:center;
}

ul.social{
    margin: 0; padding: 0;
    list-style-type: none;
}
ul.social li{
    width: 14%;
    margin: 0 5.5%;
    display: inline-block;
    float: left;
    text-align: center;
}

結果:

在此處輸入圖片說明

是否可以保持這種流暢的布局,但防止這樣的圖像顯示。 您會注意到,圖像的底部邊緣顯示為裁剪后的樣子。 第二張和第三張圖像也會在右側裁剪。

更新:請看一個實時示例http://jsfiddle.net/ktsixit/bcceC/embedded/result/該列表放置在一個可變容器廣告中,我認為這是解決此問題/解決方案的關鍵。

解決方案:這變成了Firefox問題。 任何有關如何修復的建議都受到歡迎...

ul.social{
    margin: 0; padding: 0;
    list-style-type: none;
}
ul.social li{
    width: 14%;
    margin: 0 5.5%;
    display: inline-block;
    float: left;
    text-align: center;
}

ul.social li img {
    width: 100%;
    height: auto;
}

我相信您需要告訴您的圖片適合其父級的寬度。 目前,圖片對於其父容器而言顯得太大,因此無法完全顯示。 這應該可以解決您的問題,並確保在下到較小的屏幕等時,圖像適合容器。

有時,這僅僅是瀏覽器按比例縮小圖像的方式。 您是否確定圖像文件沒有損壞?

無論如何,有一個稱為image-rendering的實驗性規范,該規范僅在IE以外的最新瀏覽器版本中有效。 我不建議您使用此選項,但希望為您保持打開狀態。

img[src$=".gif"], img[src$=".png"] {
   image-rendering: -moz-crisp-edges;         /* Firefox */
   image-rendering:   -o-crisp-edges;         /* Opera */
   image-rendering: -webkit-optimize-contrast;/* Webkit (non-standard naming) */
   image-rendering: crisp-edges;
   -ms-interpolation-mode: nearest-neighbor;  /* IE (non-standard property) */
}

在此處閱讀更詳細的內容: 在MDN上進行圖像渲染

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM