我想获得当前用户浏览器的大小,并根据大小的一半来居中标题。 (使用Mootools)
CSS
#header{position:absolute; left:50%; }
的Javascript
var width = $(document.body).getStyle('width');
var margin = width/2;
$('header').setStyles({'width': width, 'margin-left': -(margin.toInt())});
谢谢!
答案 0 :(得分:2)
你的问题是setStyle
对于某些属性可能需要一个数字(并将单位添加到它),或者它只会使用你给它的字符串。由于你给它一个字符串,通过预先'-'+...
它将创建没有单位的CSS margin-left:-34
。您可以给它一个数字,也可以自己添加单位。此外,在除以2之前,您需要确保width是一个数字(因为getStyle将返回带有'px'的字符串)
var width = $(document.body).getStyle('width');
var margin = width.toInt()/2;
$('header').setStyle('margin-left', -(margin.toInt()));
// or
$('header').setStyle('margin-left', '-'+margin.toInt()+'px');
在你回答了我上面的问题之后,我会说如果#header
应该位于屏幕顶部,那么你可以完成这个w / o javascript或负边距(全宽)(和不在相对定位的元素内):
#header {position:absolute; top:0px; left:0px; width:100%;}