我會說問題的根源是內聯元素的垂直對齊,這是缺省情況下的基準。雖然它是內聯和(內聯)塊元素的組合,並且最終觸發問題的餘量的使用。我想這個問題的實際來源是什麼是有爭議的。無論如何,我無法確定發生了什麼事,但對我來說,它看起來像佔位符(沒有內聯內容)會改變基線的位置(不確定爲什麼),所以位置默認情況下內聯元素的圖像也會發生變化。
有幾種方法來解決這個問題:
使圖像塊元素:
.sortableList-item img {
display: block;
}
更新(2015年1月13日):最近瀏覽器display
伎倆似乎具有與下面提到的vertical-align
相同的問題,即元素水平移動。
http://jsfiddle.net/jxFBj/2/
使用浮動元素代替直列塊:
.ui-state-highlight {
float: left;
height: 100px;
width: 100px;
margin-right: 10px;
margin-bottom: 10px;
}
.sortableList-item {
float: left;
margin-right: 10px;
margin-bottom: 10px;
width: 100px;
height: 100px;
}
http://jsfiddle.net/jxFBj/3/
改變垂直取向到top
工作過,但會引起水平移動時的列表元素跨越多行,所以這可能不是一個n選項:
.ui-state-highlight {
height: 100px;
width: 100px;
display: inline-block;
margin-right: 10px;
margin-bottom: 10px;
vertical-align: top;
}
.sortableList-item {
display: inline-block;
margin-right: 10px;
margin-bottom: 10px;
width: 100px;
height: 100px;
vertical-align: top;
}
http://jsfiddle.net/jxFBj/4/
來源
2013-01-14 11:50:04
ndm
乾杯隊友! :)解釋爲什麼圖像標籤打亂了我的計劃? – Tanax
現在我想到了,我想說問題的實際來源是內聯元素的默認垂直對齊方式。我會更新我的答案...... – ndm
或者只是爲連接元素添加「vertical-align:middle!important」(在您的情況下爲「ui-state-highlight」)和「ui-sortable-placeholder」 – Andrej