2013-02-25 2 views
0

У меня есть DIV, который не имеет предустановленную ширину в css, я пытаюсь центрирование в на экране с JQuery, он работает в Chrome, Firefox и IE8 +, но не работает в IE7. Зачем?JQuery ширина() не возвращает правильное значение

CSS:

.productBoxWrapper{ 
    height:210px; 
    clear:both; 
    background-color:blue; 
} 

JQuery:

$('#mydiv').css("position", "absolute"); 
this.css("left", ($(window).width() - $("#mydiv").width())/2 + "px"); 

JSFiddle:http://jsfiddle.net/tygcz/3/

+1

IE7 старый, не поддерживает его. –

+1

У вас есть содержащие divs с отступом/маржи? вам может потребоваться использовать [.outerWidth()] (http://api.jquery.com/outerWidth/), чтобы учесть дополнения и границы. – Wez

+0

Согласен с @ s.lenders. Добро пожаловать в 2013 году: -/ – pzin

ответ

1

Try центрировать это следующим образом:

Css:

#myDiv{ 
    position: absolute; top: 50%; left: 50%; 
} 

Сценарий:

$('#myDiv').css('marginLeft', - (parseInt($('#myDiv').width())/2) + 'px'); 
$('#myDiv').css('marginTop', - (parseInt($('#myDiv').height())/2) + 'px'); 

Я не уверен, что погода ParseInt действительно необходимо.

Смежные вопросы