【问题标题】:CSS: Is it possible to break out of a container while keeping the layoutCSS:是否可以在保持布局的同时打破容器
【发布时间】:2019-02-07 00:32:02
【问题描述】:

我正在编写一个应该在移动设备上全屏显示的页面。它将显示在左右两侧有边距的 shopify 商店中。我想在不接触我的 html 容器的情况下删除这些。这可能吗?

我试图将位置更改为绝对位置,但这会折叠我的页脚。

这是容器的宽度:

    width: calc(100% - 40px);

【问题讨论】:

  • 你的代码在哪里?没有它很难帮助你...
  • @Helenesh 感谢您的反馈!我编辑了问题。
  • 不碰容器是什么意思?
  • @Helenesh 我不想更改容器的宽度,因为这也会更改所有其他页面上的容器。我宁愿让容器的内容超过容器的宽度。
  • 您使用的是哪个 Shopify 主题?也许那个主题使用了一个像 Bootstrap 一样具有“流体容器”选项的网格。

标签: html css debugging margin


【解决方案1】:

CSS 支持负边距,如果我正确阅读了您的问题,那么您有一个带边距的父容器和一个您希望在父容器之外访问的子容器。像这样的东西应该可以工作:

.parent {
   margin-left: 1em;
   margin-right: 1em;
}
.child {
   margin-left: -1em;
   margin-right: -1em;
}

然后更改您的负边距以匹配父级边距,您应该能够在不更改父级容器的情况下脱离父级。

【讨论】:

  • 对不起,我在发布后检查了我的主题代码,容器的大小不是由边距设置的,它是通过宽度计算设置的:width: calc(100% - 40px );有可能逃脱吗?
  • 那里仍然有一个边距,即使它不是由边距设置的。您应该能够使用 margin-left: -20px; 获得所需的结果和margin-right:-20px;
【解决方案2】:

在研究了 OutOfTheSandbox 的 Turbo Theme 并检查了他们的 demo 的代码后,我发现添加类 container full-width--true 应该可以工作:

    <div class="container full-width--true"> 
        // My full-width container 
    </div>

这会将容器宽度设置为 100%,从而占据视口的整个宽度。

【讨论】:

  • 非常感谢!我的内容现在几乎全屏了。右侧有一个小缝隙。我的代码中没有任何边距,这让我想知道这是从哪里来的。
  • 然后检查...这是全宽容器的正确答案,我自己测试过。此代码不添加任何边距或填充,并将宽度设置为 100%。也许它是添加额外边距的父元素?
猜你喜欢
  • 2013-07-23
  • 2013-11-22
  • 2016-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-27
  • 1970-01-01
  • 2019-10-30
相关资源
最近更新 更多