的50%I具有的div X量,都設置到一個特定的高度和寬度。在這些內部是一個圖像,大小各不相同。我想找到的圖像的高度,除以2,並設置爲距頂部值,以便所有圖像都在市中心,如果這是有道理的?香港專業教育學院試圖使提琴只有即時通訊不知道該如何去做?保證金頂=元件的jQuery
2
A
回答
6
你可以做這樣的事情
$(document).ready(function() {
$('.box img').each(function() {
var $this = $(this);
var parentHeight = $this.parent().height();
var thisHeight = $this.height();
var topmargin = (parentHeight - thisHeight)/2;
$this.css("margin-top", topmargin);
});
})
2
$(document).ready(function(){
var boxheight = $('.box').height();
$('.box img').each(function(i){
var topmargin = (boxheight - $(this).height())/2
$(this).css("margin-top", topmargin);
});
})
直播演示
1
這是我會怎麼做
$(document).ready(function(){
$('.box img').each(function() {
$(this).css("margin-top", $(this).parent().height()/2-$(this).height()/2);
});
});
0
有些圖像需要一段時間來加載,因此沒有寬度或高度呢。要解決這個問題,你可以使用setTimeout。
$(document).ready(function(){
$.each($('.box'), function(){
centerImage($(this));
});
});
function centerImage(box){
var imgWidth = $(box).find('img').width();
var imgHeight = $(box).find('img').height();
if(imgWidth > 0 && imgHeight > 0){
$(box).find('img').css('margin-top', ($(box).height() - imgHeight)/2);
} else {
setTimeout(function(){ centerImage(box); }, 100);
}
}
1
如果你有興趣在純CSS解決方案:http://jsfiddle.net/R8QUL/11/
只需添加
.box
line-height: 225px;
}
.box img {
display: inline-block;
vertical-align: middle;
}
+0
現在寫我也工作這個解決方案:) – sandeep 2012-03-12 11:53:38
相關問題
- 1. jQuery的動畫保證金頂
- 2. 頂部有保證金的圖層
- 3. LinearLayout在頂部的意外保證金
- 4. 位置div保證金頂部30px,但保留保證金在中心使用保證金自動?
- 5. 保證金頂部的未處理元素上工作
- 6. IE增加了額外的頂級保證金每鋰元素
- 7. 用JavaScript獲取保證金頂部
- 8. 彈出:保證金問題頂部
- 9. 保證金頂部不起作用
- 10. 保證金頂部不與<label>
- 11. 保證金底部添加到頂部
- 12. 保證金頂不做任何事
- 13. CSS響應式保證金頂部
- 14. 保證金頂似乎要去haywire
- 15. 保證金頂頁腳響應
- 16. jquery等高插件增加保證金
- 17. 保證金頂部不適用於跨度元素?
- 18. CSS保證金頂部由同級元素沒有父
- 19. div在另一個div的頂部有保證金頂部,只有1個保證金
- 20. CSS - 保證金對保證金
- 21. 爲什麼保證金權利不起作用,但是保證金餘額,保證金頂部和底部保證金底部都可以使用?
- 22. 滾動時保持div頂部,但保留保證金
- 23. 保證金頂部/填充頂部沒有效果?
- 24. li元素的未知保證金
- 25. 保證金inline-block的元素
- 26. 添加保證金會導致姐妹元素具有相同的保證金
- 27. 事件在保證金
- 28. 保證金變化事件
- 29. JQuery的動畫使用保證金
- 30. 刪除保證金 - 正確的jquery
這可能是值得指出的是'.innerHeight()'可能工作太,因爲這包括'padding',並且這是盒子元素內部的可視部分。根據利亞姆似乎正在嘗試做的事情,我想這也許是需要考慮的事情。 – 2012-03-12 11:37:43