你好 SO 社区!
我知道这个问题有很多变体,但是似乎没有人像我一样尝试做一些非常重要的事情。我的场景不能轻易使用width: 100%
. 所以让我们开始这个派对吧!
在准备好 Chris Coyier 关于从对象边界破解 CSS 三角形的文章后,我部分地得到了这个想法。
重要让我首先声明,我知道在大多数情况下,您会使用
width:100%
,但是,我正在使用边框,您不能使用带边框的百分比 :(我也真的真的很想避免在这个解决方案中使用 javascript。请不要使用 javascript 解决方案来回答,因为我已经知道如何使用 javascript 来解决这个问题。我也不喜欢将 body max-width 设置为 100% 的想法。我不想限制这个项目的任何溢出约束。非常感谢你。:)
HTML
<section class="section-blue">[Text Goes Here]</section>
<div class="divider-blue-red"></div>
<section class="section-red">[Text Goes Here]</section>
<div class="divider-red-green"></div>
<section class="section-green">[Text Goes Here]</section>
CSS
[class*='section-']
{
min-height: 100vh;
padding: 20px;
}
.section-blue {background-color: blue;}
.section-red {background-color: red;}
.section-green {background-color: green;}
[class*='divider-']
{
display: block;
width: 0;
height: 0;
border-top: 25vh solid transparent;
border-bottom: 0vh solid transparent;
border-left: 0vw solid transparent;
border-right: 100vw solid transparent;
}
.divider-blue-red
{
border-top-color: blue;
border-right-color: red;
}
.divider-red-green
{
border-top-color: red;
border-right-color: green;
}
现场演示
单击此处查看实时演示(我无法使用 codepen,因为我使用的是 vw 和 vh)
目标
- 将&&元素
.divider-blue-red
扩展.divider-red-green
到视图窗口的 100%,不包括滚动条 - 不使用 javascript(纯 CSS 解决方案)
- 未将正文设置为“最大宽度:100%”
- 有一个很酷的流体设计,随着设备的宽度和高度滚动!:)