1

我正在尝试按百分比定位元素,但它对我不起作用,它仅在我使用像素时才起作用。

这是我的代码:

var x=document.getElementById("fir")
x.style.position = "absolute";
x.style.left = 10%
x.style.top = 10%

如果我分配给x.style.left任何数字,然后什么都没有,它可以正常工作,但如果我在数字后面加上百分比,就像上面代码中显示的那样,它就不起作用。关于如何使用百分比来定位此元素的任何想法?

4

3 回答 3

9

这些值应该是字符串:

x.style.left = '10%';
x.style.top = '10%';

否则,该%符号将被解释为余数运算符,从而导致意外结果或语法错误(取决于您对分号的使用)。

于 2013-09-13T21:12:48.327 回答
2

您必须将其分配为字符串。你的语法是无效的,因为10%在 JavaScript 中意味着某些东西,所以它实际上是在解析x.style.left = 10%x.style.top = 10%,因为 JS 忽略了空格。

就像 bfavaretto 所说,您需要将值分配为字符串:

x.style.left = '10%';
x.style.top = '10%';

并确保添加分号。:)

于 2013-09-13T21:15:09.413 回答
1

是 CSS 语法,而%不是 javascript 语法,您需要将其括在引号中:

var x=document.getElementById("fir")
x.style.position = "absolute";
x.style.left = "10%";
x.style.top = "10%";
于 2013-09-13T21:14:01.470 回答