我想只为制作一个三角形的圆角,但我无法制作它。
这是我的code:
.arrow-left {
width: 0;
height: 0;
border-top: 80px solid transparent;
border-bottom: 80px solid transparent;
border-right: 80px solid blue;
}

<div class="arrow-left"></div>
&#13;
如左图所示,我需要将其指向圆角,如下图所示:
答案 0 :(得分:10)
我知道这有点像hacky,但我认为单一课程没有一种简单的方法可以做到这一点。
我所做的就是用border-radius:10px
将一个方框旋转45度,然后将其包含在另一个div中,宽度设置为所需的箭头宽度overflow:hidden
,以便溢出的所有内容都是不可见的。
.arrow-left {
position:absolute;
width:100px;
height:100px;
left:50px;
background:black;
-webkit-transform:rotate(45deg);
transform:rotate(45deg);
border-radius:10px;
}
.cover {
position:absolute;
height:100px;
width:40px;
overflow:hidden;
}
答案 1 :(得分:9)
你可以制作一个响应三角形,带有一个圆角,至少有两种方法:
使用一个div
和一个伪元素:
overflow:hidden;
.arrow-left {
position: relative;
width: 15%;
padding-bottom:15%;
border-radius: 10px;
overflow: hidden;
transform-origin:100% 0;
transform: rotate(-45deg);
}
.arrow-left:after {
content: "";
position: absolute;
top: 0; right:8px;
width:100%; height:141%;
transform-origin:inherit;
transform: rotate(45deg);
background:#000;
}
<div class="arrow-left"></div>
请注意,您需要将供应商前缀添加到transform和transform-origin属性(有关canIuse的更多信息)
此示例使用一个path元素作为圆角的bezier curve command三角形(Q0 5 0.8 4.2
属性中的d
):
svg{
display:block;
width:10%;
}
<svg viewbox="0 0 5 10">
<path d="M5 0 V10 L0.8 5.8 Q0 5 0.8 4.2z" />
</svg>
答案 2 :(得分:1)
您可以尝试并根据您的需要进行修改。
http://jsfiddle.net/K44mE/947/
<div id="player">
<div id="outer"><div id="inner"> </div></div>
</div>
#player {
margin: 32px;
position: relative;
width: 400px;
height: 250px;
background-color: #222;
}
#inner{
transform: rotate(45deg);
-ms-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
-o-transform: rotate(45deg);
-moz-transform: rotate(45deg);
background-color:silver;
width:100px;
height:100px;
top: 20px;
left: -60px;
position:relative;
-moz-border-radius: 20px;
border-radius: 20px;
}
#outer {
position: absolute;
top: 50px;
left: 165px;
width: 70px;
height: 140px;
overflow: hidden;
}
答案 3 :(得分:0)
添加此
代码border-radius:10px
答案 4 :(得分:0)
使用overflow: hidden;
.corner {
position: absolute;
border-radius: 4px;
overflow: hidden;
top: 0em;
right: 0em;
margin: 0em;
padding: 0em;
text-align: center;
border-color: #E8E8E8;
width: 4em;
height: 4em;
z-index: 1;
-webkit-transition: border-color 0.1s ease;
transition: border-color 0.1s ease;
}
.corner:after {
position: absolute;
content: "";
right: 0em;
top: 0em;
z-index: -1;
width: 0em;
height: 0em;
background-color: transparent !important;
border-top: 0em solid transparent;
border-right: 4em solid transparent;
border-bottom: 4em solid transparent;
border-left: 0em solid transparent;
border-right-color: inherit;
-webkit-transition: border-color 0.1s ease;
transition: border-color 0.1s ease;
}