update task
This commit is contained in:
parent
baec82c3f3
commit
6eacea0d4f
2 changed files with 11 additions and 13 deletions
|
@ -39,5 +39,5 @@ var bodyInnerWidth = bodyClientWidth - parseInt(style.paddingLeft) - parseInt(st
|
||||||
elem.style.width = bodyInnerWidth + 'px';
|
elem.style.width = bodyInnerWidth + 'px';
|
||||||
```
|
```
|
||||||
|
|
||||||
Такое решение будет работать всегда, вне зависимости от типа элемента.
|
Такое решение будет работать всегда, вне зависимости от типа элемента. Конечно, при изменении размеров окна браузера ширина не адаптируется к новому размеру автоматически, как с `width:auto`. Это недостаток. Его, конечно, тоже можно обойти при помощи событий (изучим далее), но как общий рецепт -- если CSS может решить задачу -- лучше использовать CSS.
|
||||||
|
|
||||||
|
|
|
@ -32,24 +32,22 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
var elem = document.getElementById("elem");
|
var elem = document.getElementById("elem");
|
||||||
|
|
||||||
// неверно!
|
// неверно!
|
||||||
//elem.style.width = '100%';
|
//elem.style.width = '100%';
|
||||||
|
|
||||||
// верно (решение с CSS)
|
// верно (так как обычный div по умолчанию растягивается во всю ширину)
|
||||||
//elem.style.width = 'auto';
|
//elem.style.width = 'auto';
|
||||||
|
|
||||||
// верно (решение с JS), т.к. padding указан px
|
// верно (решение с JS)
|
||||||
// если паддинг в процентах, например 10%, то в IE<9 currentStyle вернет 10%,
|
var bodyWidth = document.body.clientWidth;
|
||||||
// и нужно преобразовать % в px через runtimeStyle
|
|
||||||
var bodyWidth = document.body.clientWidth;
|
|
||||||
|
|
||||||
var style = window.getComputedStyle ? getComputedStyle(elem, '') : elem.currentStyle;
|
var style = getComputedStyle(elem);
|
||||||
|
|
||||||
var bodyInnerWidth = bodyWidth - parseInt(style.paddingLeft) - parseInt(style.paddingRight);
|
var bodyInnerWidth = bodyWidth - parseInt(style.paddingLeft) - parseInt(style.paddingRight);
|
||||||
|
|
||||||
elem.style.width = bodyInnerWidth + 'px';
|
elem.style.width = bodyInnerWidth + 'px';
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue