【发布时间】:2014-07-05 05:32:45
【问题描述】:
所以我有两个相邻的流体 div,它们可以在设备大小改变、用户改变浏览器的字体大小或使用 Ctrl + 缩放浏览器时改变它们的宽度。
我希望有一条穿过两个 div 的对角线,如下所示:
_____
|blah|
|blah|
|blah|
| /| <--- First div or section
|__/_|
| / | <--- Second div or section
|/ |
|blah|
|blah|
|blah|
|____|
<----> fluid width
我正在尝试使用 CSS 来避免下载图像和发出额外的 http 请求。所以我使用线性渐变。问题是当其容器的宽度增加或减小时,对角线的角度必须改变,否则对角线会断裂。
在这里查看小提琴:http://dabblet.com/gist/50db5e6220b5ba557b9e
记录一下,上面fiddle的代码是:
/*
* Diagonal that crosses both divs without breaking
*/
div, p{margin:0;}
div{padding:0 1em;}
.one{
background: #f06;
background: linear-gradient(170deg, #f06 80%, yellow 80%, yellow);
font-size: 200%
}
.two{
background: yellow;
background: linear-gradient(170deg, #f06 20%, yellow 20%, yellow);
font-size: 200%
}
还有html:
<div class="one"><!-- foo --></div>
<div class="two"><!-- bar --></div>
我尝试更改背景大小、背景位置、背景原点、单位从 em 到 px、从 px 到 %、颜色停止等。我没有想法了。
我的问题是...有没有办法使渐变中的角度取决于容器的宽度(以某种间接方式),以便如果调整大小,对角线会改变其角度?我想要一个纯 CSS 解决方案(没有 JavaScript)。
如果这是一个没有解决方案的问题,没关系=)
【问题讨论】:
标签: css fluid-layout gradient angle