2015-12-05 51 views
0

我試圖在文字的上方和下方顯示一個垂直的高分辨率圖像,內部有一個小的fancyBox在一個花式框內豎直放置圖像+文字

我無法預先知道fancyBox會有多大:fancyBox會自動調整大小以適應客戶端視口。

最終結果應該是圖像按比例重新調整大小以適應可用區域,爲文本留出足夠的空間。換句話說:我需要整個事情「首屏」(文字+圖片):

http://i.imgur.com/SkiBEeM.png

的問題是:我堅持和寬度是確定的,高度不等我有一個垂直滾動條:

http://i.imgur.com/D133vNm.png

我的例子是在這裏http://jsfiddle.net/sexyzane/wv05f8ez/4/但代碼的相關部分是CSS:

#viewbox > img { 
    width: auto; 
    height: auto; 
    max-height: 100%; 
    max-width: 100%; 
} 

我想我的基本知識幾乎是正確的(如果我刪除max-width規則,我也會得到一個水平滾動條,但是,仍然,max-height似乎被忽略了(在我的jsfiddle中設置爲5 %,但將其設置爲50%或500%似乎無關緊要)。

無Javascript解決方案的額外榮譽。

謝謝!

回答

0

您需要添加CSS爲你父母圖像

div#viewbox { 
    display: block; 
    height: 96%; 
    position: relative; 
    width: 100%; 
} 

然後添加對象的配合:蓋;這裏屬性的圖像,使圖像分辨率始終將保持

#viewbox > img { 
    width: auto; 
    height: auto; 
    max-height:35%; 
    max-width: 100%; 
object-fit: cover; 
} 

的是,我已經在http://jsfiddle.net/wv05f8ez/5/工作,我希望這是你在找什麼的鏈接。

+0

感謝Ganesh,你照顧了被忽略的最大高度,但仍然是,固定的35%迫使解決方案在特定的視口工作:如果嘗試使用更大的視口,則圖像太小(http:///i.imgur.com/L8GztpS.png,http://jsfiddle.net/sexyzane/wv05f8ez/6/)。正如我所說,*事先不知道fancyBox將有多大:fancyBox將自動調整大小以適應客戶端視口。* –

+0

確定根據視口要修復的高度和寬度問題,然後您需要編寫媒體查詢否則你需要通過計算視口高度和寬度來通過Javascript或jquery應用寬度和高度 –