2017-09-15 9 views
-1

最初の関数は二つ目は、だから私の質問は、私がすべきかである右style.marginRightがstyle.marginLeftが

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"; 
} 

にそれをプッシュしていない、まだ左にコンテンツをプッシュしないと同じように動作しません。違うやり方や壊れた理由

+3

これは、HTMLとどのように親のCSSが設定されているに依存します。言い換えれば、コードを見ずに決定的な答えを得ることはできません。 –

+0

[link](https://wompdoo.github.io/webstate/)ここでは、仕事など探しているところにあるプロジェクトの下部にあります。 –

答えて

0

要素の左側に余白を追加しています(左側は安全と言う)。

余白がない場合、divは左から右の言語で作成されたため、できるだけ左に移動します。

左側に余白を追加すると、左側にスペースが入るので、「div」が右側に移動します。

右側に余白を置くと、 'div'の後のスペースを埋めるだけなので、どこにでも移動する必要はありません。

「div」の前にスペースを空けているものがあれば、右マージンはそれを外に出さないでしょう。

私の説明に役立つように少しの図が追加されました。

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

+0

ですが、divがbodyタグの場合、これはそれを意味しますそれでもコンテンツをプッシュする必要がありますか? [link](https://wompdoo.github.io/webstate)こちらをご覧ください –

関連する問題