2017-06-06 46 views

回答

0

我不知道你的HTML,所以這個答案可能不是唯一的/最好的方式。

擁有overflow: hidden只是讓您的div隱藏任何內容「溢出」的框。但是,默認情況下,div會有width: auto,這使得div伸展以容納它擁有的任何子元素。

只需加入max-width: 100%,即可強制div停止增長超過其父項的寬度。這樣div就會試圖爲了孩子而拉伸,但還不夠遠,不足以抵擋其父母。

在你的情況下,圖像試圖拉伸div比它應該更多,所以overflow: hidden進場並隱藏圖像的部分超過div的寬度。

+1

用「爲了它的孩子,但不夠遠,以至於違背它的父母」的好措辭:) – drake035

0

您可以使用以下方法:

div { 
 
    width: 100%; 
 
    height: 100px; 
 
} 
 

 
div img { 
 
    width: inherit; 
 
    height: inherit; 
 
    background-size: cover; 
 
}
<div> 
 
    <img src="http://placehold.it/1600" /> 
 
</div>

+0

'背景圖像:封面;'混淆了我......那是爲什麼? –

+0

哎呀,錯字。我會解決它。封面告訴瀏覽器確保圖像始終覆蓋整個容器,即使它必須拉伸圖像或從其中一個邊緣稍微切掉一點。 – Gerard

1

在你的CSS文件

img { 
    height:auto; 
    max-width:100%; 
} 
相關問題