【问题标题】:style.marginRight doesn't work the same way style.marginLeft doesstyle.marginRight 的工作方式与 style.marginLeft 不同
【发布时间】:2017-09-15 23:50:42
【问题描述】:

第一个函数将内容推送到左侧,而第二个函数不将其推送到右侧

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

所以我的问题是我应该做些什么不同或者为什么会这样?

【问题讨论】:

  • 这取决于 HTML 以及父级的 CSS 是如何配置的。换句话说,如果不查看您的更多代码,我们无法真正给您一个明确的答案。
  • link这里是项目,底部有找工作之类的

标签: javascript jquery html css bootstrap-4


【解决方案1】:

您正在向元素的左侧添加边距(为了安全起见,左侧说是 div)。

如果没有边距,则 div 将尽可能靠近左侧,因为它是用从左到右的语言制作的。

如果你在左边添加一个边距,它会将“div”推到右边,因为如果填充了左边的空间。

如果你在右边添加一个边距,你只是在填充“div”之后的空间,所以它不必移动到任何地方。

如果您在 'div' 之前有占用空间的内容,则右边距不会将其移开。

我添加了一个小图表,希望对我的解释有所帮助。

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

?

【讨论】:

  • 好的,但是如果div是body标签,这是否意味着它仍然应该推送内容? link你可以在这里查看
猜你喜欢
  • 2020-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-30
相关资源
最近更新 更多