jquery - 有两个奇怪大小的元素是中心和边缘响应想象容器

标签 jquery html css

要点很简单,只有 50% 的宽度,就像 codepen 中显示的上述版本一样,响应式地按预期工作,内容在灰色框顶部显示的假想容器内。当使用不均匀的百分比时会出现问题,因此固定的最大宽度仅适用于固定的窗口宽度。

是否有某种计算公式可以让它发挥作用?等等

https://codepen.io/rKaiser/pen/NmNrXp

.uneven {
  .right,
  .left {
    width:65.3%;
    .content {
      max-width:420px;
      margin-left:auto;
    }
  }
  .right {
    width:34.7%;
      .content {
       max-width:180px;
       margin-left:0;
       margin-right:auto;
    }
  }
}

最佳答案

您的容器的大小等于 W(在您的示例中为 600px)然后我们的完整容器是全屏的所以 100vw 所以边距两边都等于 (100vw - W)/2 因此您可以简单地将边距与内部元素一起使用。

小缺点是 100vw 还包括滚动条的宽度,所以当有滚动条时计算会稍微偏离:

body {
  background: #666;
  margin: 0;
}

.container {
  height: 100px;
  background: #888;
  max-width: 600px;
  margin: 0 auto;
}

.full {
  display: flex;
  background: orange;
  height: 45px;
  margin-bottom: 4px;
}

.left {
  width: 50%;
  background: #16CC4A;
}

.left .content {
  margin-left: calc((100vw - 600px)/2);
  border: 1px solid red;
}

.right .content {
  margin-right: calc((100vw - 600px)/2);
  border: 1px solid red;
  text-align: right;
}

.right {
  background: #D98813;
  width: 50%;
}

.uneven .left {
  width: 65.3%;
}

.uneven .right {
  width: 34.7%;
}

@media all and (max-width:600px) {
  .left .content,
  .right .content {
    margin: 0;
  }
}
<body>
  <div class="container"></div>
  <div class="full even">
    <div class="left">
      <div class="content">
        Edge
      </div>
    </div>
    <div class="right">
      <div class="content">
        Edge
      </div>
    </div>
  </div>
  <div class="full uneven">
    <div class="left">
      <div class="content">
        Edge
      </div>
    </div>
    <div class="right">
      <div class="content">
        Edge
      </div>
    </div>
  </div>
</body>

关于jquery - 有两个奇怪大小的元素是中心和边缘响应想象容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55525680/

相关文章:

javascript - django View 可以显示在灯箱中吗?

jquery - 获取使用 jquery 选择的元素中使用的选择器

javascript - 将 Hoverintent 应用于 Jquery 悬停

html - Google Chrome 与 Firefox 中的字体显示完全不匹配

html - 最好使用 Bootstrap 的 HTML/Row 类将一堆 div 包装在一个全 Angular 容器中?

css - 是否有一种简单的方法或解决方法来根据 React 中的变量值显示不同外观的图像?

CSS3 动画在 safari 中不起作用

jquery - Twitter 分享按钮在全窗口中打开

javascript - jQuery Color 插件没有由可选元素触发

jquery - jQuery 是否内置了对 JSON2 的完全支持?