使用 CSS 在三角形左上角的边界半径
border radius top left on triangle using CSS
我有这个代码
div {
width: 0;
height: 0;
border-style: solid;
border-width: 85px 85px 0 0;
border-color: #c00000 transparent transparent transparent;
float: left;
position: absolute;
top: 8px;
}
<div></div>
如何将左上角的边框半径应用到 CSS 三角形上方?好像不可能here.
将其包裹在父级 div 中并给父级 border
<div class="parent"><div class="div"></div></div>
.parent{
border-radius:10px 0px 0px 0px;
overflow:hidden;
}
- 首先设置所有边都相等
border-width
- 然后将
border-color
添加到top
和left
并设置right
和bottom
transparent
div {
width: 0;
height: 0;
border-style: solid;
border-width: 55px;
border-color: #c00000 transparent transparent #c00000;
float: left;
position: absolute;
top: 8px;
border-radius: 10px 0px 0px 0px;
}
<div></div>
与 box-shadow
你可以使用伪元素来给出 box-shadow
div {
width: 0;
height: 0;
border-style: solid;
border-width: 55px;
border-color: #c00000 transparent transparent #c00000;
float: left;
position: absolute;
top: 8px;
border-radius: 10px 0px 0px 0px;
}
div:after {
content: '';
position: absolute;
width: 1px;
height: 155px;
top: -55px;
left: 54px;
transform: rotate(45deg);
transform-origin: left top;
box-shadow: 2px 1px 6px 1px red;
}
<div></div>
我有这个代码
div {
width: 0;
height: 0;
border-style: solid;
border-width: 85px 85px 0 0;
border-color: #c00000 transparent transparent transparent;
float: left;
position: absolute;
top: 8px;
}
<div></div>
如何将左上角的边框半径应用到 CSS 三角形上方?好像不可能here.
将其包裹在父级 div 中并给父级 border
<div class="parent"><div class="div"></div></div>
.parent{
border-radius:10px 0px 0px 0px;
overflow:hidden;
}
- 首先设置所有边都相等
border-width
- 然后将
border-color
添加到top
和left
并设置right
和bottom
transparent
div {
width: 0;
height: 0;
border-style: solid;
border-width: 55px;
border-color: #c00000 transparent transparent #c00000;
float: left;
position: absolute;
top: 8px;
border-radius: 10px 0px 0px 0px;
}
<div></div>
与 box-shadow
你可以使用伪元素来给出 box-shadow
div {
width: 0;
height: 0;
border-style: solid;
border-width: 55px;
border-color: #c00000 transparent transparent #c00000;
float: left;
position: absolute;
top: 8px;
border-radius: 10px 0px 0px 0px;
}
div:after {
content: '';
position: absolute;
width: 1px;
height: 155px;
top: -55px;
left: 54px;
transform: rotate(45deg);
transform-origin: left top;
box-shadow: 2px 1px 6px 1px red;
}
<div></div>