我想知道是否有任何方法可以用纯 CSS 创建这个形状。为了进一步扩展这个问题,这个形状需要在里面裁剪图像(把它想象成一个蒙版——但是灰色的边框必须是可见的)。
还是我最好在画布/svg 中创建它?
原文由 user2307706 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想知道是否有任何方法可以用纯 CSS 创建这个形状。为了进一步扩展这个问题,这个形状需要在里面裁剪图像(把它想象成一个蒙版——但是灰色的边框必须是可见的)。
还是我最好在画布/svg 中创建它?
原文由 user2307706 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用伪以及 border-width
和 border-color
来完成此操作,请参阅下面的代码以了解如何完成。
HTML
<div class="cut"></div>
CSS
.cut {
position:relative;
width:500px;
height: 200px;
padding:20px;
color:#000;
background:#ccc;
}
.cut:before {
content:"";
position:absolute;
top:0;
left:0;
border-width:30px 30px 0px 0px;
border-style:solid;
border-color:#fff transparent transparent #fff ;
}
另一个解决方案使用这个 jQuery 脚本来支持跨浏览器。 –> http://jquery.malsup.com/corner/
HTML
<div class="cut"></div>
CSS
.cut {
position:relative;
width:500px;
height: 200px;
padding:20px;
color:#000;
background:#ccc;
}
JS
$(".cut").corner("bevel tl 50px");
原文由 Vikas Ghodke 发布,翻译遵循 CC BY-SA 3.0 许可协议
3 回答5.1k 阅读✓ 已解决
5 回答2k 阅读
2 回答1.9k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.4k 阅读
4 回答2.2k 阅读
2 回答974 阅读✓ 已解决
保持边界有点困难,但我设法使用带有父容器的 :before 和 :after 元素实现了关闭效果(:before 和 :after 不适用于 img 标签)
为容器添加边框
添加一个 before 以遮挡一个角并偏移 -1 以覆盖边框
添加一个与之前略有偏移的之后,以在切断内创建线条
如您所见,45 度线的粗细有点问题:
JSFiddle