CSS - 如何以响应方式对齐对角边?

问题描述

我正在尝试创建一个响应式对角线布局(见附图)。当然,这在不同屏幕尺寸下是一个挑战,因为边缘不对齐(例如:查看图像的最后两行)。

如何将每个倾斜形状的顶部边缘与其上方的底部边缘垂直对齐?

到目前为止,我发现实现这一目标的唯一方法是更改​​倾斜形状上 ::before 伪元素的左侧位置。但我想随着行的大小增加和屏幕调整大小来响应地实现这一点。

Aligned Edges Example

.slant::before {
  background-color: lightblue;
}

.lr .right-content,.rr .left-content {
  background-color: green;
}

.lr .slant,.rr .slant {
  position: relative;
}

.lr .slant::before,.rr .slant::before {
  content: '';
  transform-origin: 100% 0%;
  position: absolute;
  top: 0;
  bottom: 0;
}

.lr .slant::before {
  transform: skewX(-10deg);
  left: -100vw;
  right: 0;
}

.rr .slant::before {
  transform: skewx(10deg);
  left: 0;
  right: -100vw;
}
<div class="container">
  <div class="row lr one">
    <div class="col-xs-5 left-content slant">
      <h1>Title</h1>
    </div>
    <div class="col-xs-7 right-content">
    </div>
  </div>

  <div class="row rr card two">
    <div class="col-xs-5 left-content">
    </div>
    <div class="col-xs-7 right-content slant">
      <p>Lorem Ipsum is simply dummy...</p>
      <p>Lorem Ipsum is simply dummy...</p>
      <p>Lorem Ipsum is simply dummy...</p>
    </div>
  </div>
  ...
</div>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)