彩盒似乎是很適合「開箱即用」的響應式設計。我與百分比覆蓋默認尺寸設置,然後設置最大值這樣的事情不會失控在大屏幕:調整大小彩盒上窗口調整
$.colorbox.settings.width = "92%";
$.colorbox.settings.height = "90%";
$.colorbox.settings.maxHeight = 850;
$.colorbox.settings.maxWidth = 1200;
工程。我還將cboxTitle元素的大小設置爲與其上面img的寬度完全一致,以便我的有時冗長的標題始終排列得很好。
$(document).bind('cbox_complete', function(){
var photoWidth = $(".cboxPhoto").innerWidth();
var photoContainer = $("#cboxContent").outerWidth();
var leftPix = (photoContainer - photoWidth)/2;
$("#cboxTitle").css({'left' : leftPix, 'width' : photoWidth});
});
這似乎也工作。這留下了可怕的部分:處理窗口大小調整事件。我想下面的
$(window).on("resize", function(){
$.fn.colorbox.resize({
height: "90%",
width: "92%"
});
});
(我實際使用自定義debouncedresize事件而不是標準的jQuery調整大小,以油門的Webkit調整大小事件流,但我要離開的那部分因爲它是不相關的。另外,我在調整大小的選項,因爲否則不會進行調整時重複相同的寬度和高度的百分比值。:()
最後這部分是不工作的。我會試圖打破的問題:當用戶以標準尺寸destop加載一個顏色框
1),然後縮放視窗ñ arrower,cboxPhoto
元素的高度不能正確縮放。寬度正在收縮,但高度保持不變,形成「擠壓」。所以我嘗試添加height:auto
到CSS的cboxPhoto
。這恢復了寬高比,但現在cboxPhoto
元素太大了,被裁剪。我之前沒有收到模態內的滾動條。如果我關閉了colorbox並以新的瀏覽器視口寬度重新打開它,照片的尺寸就不是這樣了。
2)cboxTitle
CSS中不被重新計算。 colorbox調整大小功能似乎不會觸發cbox_complete
事件。不應該嗎?
我很想解決這些問題,但我也感覺到,考慮到當前插件的狀態,解決此用例的最簡單方法是在窗口大小調整時關閉並重新加載整個colorbox,但回到用戶在調整大小事件之前查看的畫廊中完全相同的內容。但是我很不清楚如何編碼。預先感謝任何幫助!
P.S.每個人,請讓我說,只有設計師調整窗口大小。對不起,我只是不買。人們擴展當一個驚人的照片在屏幕上,和平板電腦尤其是得到旋轉所有的時間...
這是我見過的最深思熟慮的問題之一;謝謝你。 Re#2,我的想法是,這是插件作者的選擇。調整大小=重新顯示;理性思維可以不同。您的解決方法聽起來很方便。 –
這裏有什麼消息嗎?我很感興趣! – headkit