【问题标题】:bootstrap container - containing divs with over 100% width because of absolute positioning引导容器 - 由于绝对定位,包含宽度超过 100% 的 div
【发布时间】:2019-02-08 22:28:10
【问题描述】:

我将 100% 的 div 放入引导容器中。一些 div 具有额外的元素,这些元素使用绝对定位定位到容器之外:

.inst-link {
    color:#414447db;
    background-color: transparent;
    font-size: 3rem;
    margin-bottom: 1rem;
    border: 1px solid #ECEFEF;
    box-shadow: 0 1px 3px #d1d1d1;
    transition: box-shadow 100ms ease-in-out;
    width: 100%;
    padding: 15px 20px;
    outline: none;
    display: flex;
    align-items: center;
    vertical-align: middle;
    justify-content: flex-end;
    position: relative;
}
.inst-link::before {
    font-family:"Font Awesome 5 Free";
      content: '\f359';
      color: #2ecc71;
      position: absolute;
      right: 0;
      margin-right: -50px;
}

相关的html:

<div class"container">
    <div class="inst-link"></div>
</div>

如您所见,div inst-link 的相邻元素具有容器 div 无法考虑的绝对定位。

结果是,在大多数屏幕宽度上它看起来都不错,但在每个断点之前,绝对定位的元素都会超出屏幕。换句话说,就在断点之前,当 div 变小时,绝对定位的元素会出现在屏幕之外。我猜一个选项是改变断点?

什么是解决问题的好方法?

谢谢

【问题讨论】:

    标签: css twitter-bootstrap css-position


    【解决方案1】:

    容器代表内容的最大宽度。如果您在低宽度设备(平板电脑或移动设备)上的包装之外有内容。内容溢出视口。 您可以使用媒体查询将其隐藏

    @media (min-width: 960px) {
        .inst-link::before {
            font-family:"Font Awesome 5 Free";
            content: '\f359';
            color: #2ecc71;
            position: absolute;
            right: 0;
            margin-right: -50px;
        }
    }
    

    【讨论】:

    • 谢谢,但问题不在于隐藏它。在每个断点之后它看起来都很好,但是在断点之前一点(这使得 div 更小),元素会离开容器。我将编辑问题以强调它
    • 如果你能设置一个codesandbox 会有很大帮助吗?
    • 谢谢 Laurent 我想我应该删除这个问题并用 jsfiddle 链接发布一个新问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    • 2015-10-23
    • 1970-01-01
    • 2011-12-20
    • 1970-01-01
    • 2015-07-22
    相关资源
    最近更新 更多