如何剪切框角使用具有透明背景的CSS?

Ami*_*man 8 css sass rounded-corners css3 box

我想用这样的CSS剪切一个盒子的左上角.

在此输入图像描述

请记住,背景是透明的.

Vad*_*kov 10

OriDrori的答案几乎相同,但更灵活(如果你需要固定宽度的切角).

无论.card width和,这个渐变看起来都是一样的height.

body {
  background: purple;
}

.card {
  width: 200px;
  height: 200px;
  background: linear-gradient(135deg, transparent 20px, white 20px);
}
Run Code Online (Sandbox Code Playgroud)
<div class="card"></div>
Run Code Online (Sandbox Code Playgroud)

  • @LGSon就像一个侧面冷却,右下角和135deg只有在容器的纵横比为1:1时才是等效的.但是,如果OP没有表明他打算对非方形元素采取行为,那么很难说哪一个更好 (2认同)

Ori*_*ori 6

您可以使用简单的线性渐变:

body {
  background: purple;
}

.card {
  width: 200px;
  height: 200px;
  background: linear-gradient(to bottom right, transparent 5%, white 5%);
}
Run Code Online (Sandbox Code Playgroud)
<div class="card"></div>
Run Code Online (Sandbox Code Playgroud)


Nic*_*ick 5

您可以使用剪辑路径 https://developer.mozilla.org/en/docs/Web/CSS/clip-path

并使用这样的东西:

div#test{
	background:red;
	width:200px;
	height: 200px;
	-webkit-clip-path: polygon(22% 0, 100% 0, 100% 100%, 0 100%, 0 20%);
clip-path: polygon(22% 0, 100% 0, 100% 100%, 0 100%, 0 20%);
}
Run Code Online (Sandbox Code Playgroud)
<div id="test"></div>
Run Code Online (Sandbox Code Playgroud)

  • @AmirUrRehman但请注意,这个解决方案的浏览器支持很差(我建议,尼克,你总是在发布答案时添加至少不能跨所有最新浏览器工作的信息) (4认同)