我有一組縮略圖圖像顯示在div
中。 div的寬度可以根據屏幕大小而變化。圖像全部爲固定大小150px * 150px
,填充爲5px
。我希望這些縮略圖圖像以網格佈局排列,並且我希望這些圖像相對於外部div中心對齊。我可以嘗試text-align: center
在外部股利。在網格佈局中排列圖像
但是這樣最後一行中的圖像會出現在中心,我希望它們從左邊排列。所以我想到了在放置圖像後計算可用空間,並將padding-left (=freespace/2)
應用於外部div,以使內容看起來居中對齊。
這是我用過的代碼。
CSS
#outer {
border: 1px solid;
resize: horizontal;
overflow: auto;
width: 700px;
padding: 0;
}
.inner {
width: 150px;
height: 150px;
background: #ccc;
padding: 5px;
display: inline-block;
}
jQuery的
$(document).ready(function() {
$("#position").click(function() {
var maxCount = Math.floor($("#outer").outerWidth()/$(".inner").outerWidth());
console.log("maxcount::" + maxCount);
var freeSpace = $("#outer").outerWidth() - ($(".inner").outerWidth() * maxCount);
console.log("freeSpace::" + freeSpace);
$("#outer").css("padding-left", freeSpace/2);
});
$("#text").toggle(function() {
$("#outer").css("text-align","center");
},function(){
$("#outer").css("text-align","left");
});
});
HTML
<button id="position">
Adjust position
</button>
<button id="text">
Toggle text align
</button>
<div id="outer">
<div class="inner"></div>
<div class="inner"></div>
<div class="inner"></div>
<div class="inner"></div>
<div class="inner"></div>
<div class="inner"></div>
<div class="inner"></div>
</div>
一個here演示 - http://jsfiddle.net/userdude/fzjrm/1/
但是,這不工作,因爲我的預期,因爲內容不完全中心對齊。可能是邏輯需要一些調整,我無法弄清楚。
這三個的jsfiddle的左上角,右上角,和左下角的正方形是爲了讓你的網頁的不同部分;例如,右上角是一個'
'元素包裝,左上角是頭部CSS,右下角是頭部Javascript。 –是的。我知道這一點。但我覺得粘貼整個代碼可以讓人們更容易複製代碼並在本地測試它:) :) – user700284
不要這樣做;沒有人會這樣做,你或多或少會「打破」jsFiddle的工作方式(因爲你在文檔中有完整的文檔)。更不用提你用無關標記混淆你的問題。換句話說,你有一個包含jQuery的腳本,並且jsFiddle插入了MooTools。以正確的方式使用它。 ';)' –