在标准模式下设置元素宽度或高度

raf*_*lry 111 javascript size standards element quirks-mode

是否可以<div>在标准模式下在JavaScript中设置HTML元素(例如)的宽度或高度?

请注意以下代码:

<html>
<script language="javascript" type="text/javascript">
    function changeWidth(){
        var e1 = document.getElementById("e1");
        e1.style.width = 400;
    } 
</script>
<body>
    <input type="button" value="change width" onclick="changeWidth()"/>
    <div id="e1" style="width:20px;height:20px; background-color:#096"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

当用户按下更改宽度按钮时,<div>宽度应该改变.

当doctype声明确定Quirks模式时,它工作正常.在标准模式下,我无法通过这种方式更改元素的大小

是否可以在标准模式下操纵元素的大小?如何绕过这种失调?

Ale*_*rez 172

尝试声明宽度单位:

e1.style.width = "400px"; // width in PIXELS
Run Code Online (Sandbox Code Playgroud)

  • 值得一提的是,宽度不包括边距,当“box-sizing: border-box;”时,宽度将包括边框,否则宽度不包括边框。 (2认同)

Que*_*tin 35

style属性允许您指定CSS属性的值.

CSS width属性将length作为其值.

长度需要单位.在怪癖模式下,如果提供整数而不是长度,浏览器倾向于假设像素.指定单位.

e1.style.width = "400px";
Run Code Online (Sandbox Code Playgroud)