Встановіть ширину або висоту елемента в режимі "Стандарт"


123

Чи можна встановити ширину або висоту HTML-елемента (наприклад <div>) в JavaScript в режимі "Стандарт"?

Зверніть увагу на наступний код:

<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>

Коли користувач натискає кнопку ширини зміни, ширина<div> ширини повинна змінюватися.

Це добре працює, коли декларація doctype визначає режим Quirks. У режимі стандартів я не в змозі змінити розмір елемента таким чином

Чи можна маніпулювати розміром елемента в режимі "Стандарт"? Як обійти цю дисфункціональність?

Відповіді:


191

Спробуйте оголосити одиницю ширини:

e1.style.width = "400px"; // width in PIXELS

1
Ахаха .. я маю на увазі "мяу" (с). Я витрачав близько години, намагаючись з’ясувати, чому стиль не застосовується. Дякую!
Віталій Василенко

1
Варто згадати, що ширина не включає поля, а коли box-sizing: border-box;ширина буде включати межі, інакше ширина не включає межі.
Qian Chen

39

styleВластивість дозволяє задати значення для властивостей CSS.

widthВластивість CSS приймає довжину як його значення.

Довжини вимагають одиниць. У режимі диваків браузери, як правило, припускають пікселі, якщо вони мають ціле число замість довжини. Вкажіть одиниці.

e1.style.width = "400px";
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.