我正在尝试按百分比定位一个元素,但它对我来说没有用,只有当我使用像素时它才有效。
这是我的代码:
var x=document.getElementById("fir")
x.style.position = "absolute";
x.style.left = 10%
x.style.top = 10%
如果我分配给x.style.left
任何数字,后面没有任何数据,那么它可以正常工作,但是如果我在数字之后加上百分比,就像它在上面的代码中显示的那样,它就不起作用了。关于如何使用百分比来定位此元素的任何想法?
答案 0 :(得分:9)
这些值应该是字符串:
x.style.left = '10%';
x.style.top = '10%';
否则,%
符号将被解释为remainder operator,从而导致意外结果或语法错误(取决于您使用分号)。
答案 1 :(得分:2)
您必须将其指定为字符串。你的语法是无效的,因为10%
在JavaScript中意味着什么,所以它实际上解析了x.style.left = 10%x.style.top = 10%
,因为JS忽略了空格。
像bfavaretto所说,你需要将值分配为字符串:
x.style.left = '10%';
x.style.top = '10%';
并确保添加分号。 :)
答案 2 :(得分:1)
%
是CSS语法,而不是javascript语法,你需要将它包装在引号中:
var x=document.getElementById("fir")
x.style.position = "absolute";
x.style.left = "10%";
x.style.top = "10%";