style.marginRight не работает так же, как style.marginLeft делает

-3

Первая функция подталкивает содержимое влево, а вторая не подталкивает его вправо

function openNavLeft() {
document.getElementById("mySidenavLeft").style.width = "100vw";
document.getElementById("main").style.marginLeft = "100vw";
}

function openNavRight() {
document.getElementById("mySidenavRight").style.width = "100vw";
document.getElementById("main").style.marginRight = "100vw";
}

Поэтому мой вопрос - что мне делать иначе или почему это нарушено?

спросил(а) 2017-09-15T18:26:00+03:00 2 года, 5 месяцев назад
0
84

Вы добавляете маркер слева от элемента (слева говорят, что div должен быть безопасным).

Если нет поля, div будет как можно ближе к левому, поскольку он был сделан на языке слева направо.

Если вы добавите маржу влево, она будет толкать "div" вправо, потому что пробел влево, если он заполнен.

Если вы поместите запас справа, вы просто заполняете пространство после "div", поэтому ему не нужно двигаться нигде.

Если у вас есть что-то занимающее пространство перед "div", правая граница не будет перемещать его.

Я добавил небольшую диаграмму, чтобы, надеюсь, помочь с моим объяснением.

----------------------
| WEBPAGE |
| |
|[div] |
| |
|[ Left Margin ]|[div]
| |
|[div][ Right Margin | ]
| |
|[img][div][ Right | Margin ]
| |
----------------------

🙂

ответил(а) 2017-09-15T18:50:00+03:00 2 года, 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема