【发布时间】:2018-05-17 11:45:26
【问题描述】:
我正在尝试一个在右侧有对角线边框的 HTML 页面。好吧,实际上它在实心边框旁边有一个半透明边框(以呼应其他页面上的一些设计元素)。我创建这条线的方法是使用两个稍微旋转的矩形,一个在 :before 中,一个在 :after 伪元素中。
#header_block_unlimited:before {
content: '';
position: absolute;
width: 50%;
height: 130%;
right: -38.5%;
top: -10%;
bottom: -10%;
background-color: rgb(255, 255, 255); /* fallback */
background-color: rgba(255, 255, 255, 0.4);
-webkit-transition: all 1s;
-moz-transition: all 1s;
transition: all 1s;
-webkit-transform: rotate(5deg);
-moz-transform: rotate(5deg);
transform: rotate(5deg);
}
#header_block_unlimited:after {
content: '';
position: absolute;
width: 50%;
height: 130%;
right: -40%;
top: -10%;
bottom: -10%;
background-color: #F95E62;
-webkit-transform: rotate(5deg);
-moz-transform: rotate(5deg);
transform: rotate(5deg);
}
我想我可以使用 SVG 形状,但我认为这需要很长时间才能进行微调,特别是因为页面长度需要是动态的(应该能够在 400 像素和大约 1500 像素之间的范围内) .
我曾尝试使用overflow-y:hidden,但这会在x 轴上产生一个滚动条,部分原因是设计还需要使用全浏览器宽度的条(参见https://css-tricks.com/full-browser-width-bars/)
救援剪辑路径!好吧,不幸的是,不完全是。 Clip-path 裁剪掉我不需要的矩形底部的位,但不幸的是仍然将这些位计入页面长度,这意味着我的页脚下方有一个间隙。
这是分配给父容器的剪辑路径代码...
clip-path: inset( -100vw -100vw 0 -100vw);
对此的任何帮助将不胜感激。一个理想的解决方案是裁剪多余的旋转矩形,使其不会增加页面长度。或者,实现对角 RHS 边界的其他方式。
【问题讨论】:
标签: html css css-transforms clip-path