3

如何使用纯 CSS 创建以下箭头?在此处输入图像描述

到目前为止,我有这个:

<style>

.halfCircleLeft{
    float:left;
    height:50px;
    width:40px;
    border-radius: 0 90px 90px 0;
    -moz-border-radius: 0 90px 90px 0;
    -webkit-border-radius:  0 90px 90px 0;
    background:green;
}

</style>
<div class="bottom_boxes_section">
    <div class="halfCircleLeft">Left</div>
</div>
4

2 回答 2

5

这是一个工作小提琴

或者更大的一个

<div class="HalfCircleLeft"></div>

.HalfCircleLeft
{
    margin: 100px;
    height: 100px;
    width: 50px;
    border-radius: 0 50px 50px 0;
    background-color: #cfa040;
    position: relative;
}

    .HalfCircleLeft:before
    {
        content: "";
        position: absolute;
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-right: 10px solid black;
        top: 40px;
        left: 10px;
    }
        .HalfCircleLeft:after
    {
        content: "";
        position: absolute;
        border-top: 10px solid transparent;
        border-bottom: 10px solid transparent;
        border-right: 10px solid #cfa040;
        top: 40px;
        left: 13px;
    }
于 2013-10-08T18:45:58.867 回答
3

这是基于您的代码和来自cssarrowplease.com的 css 的第一个粗略模型。基本上,它使用两个 CSS 三角形,一个比另一个小一点来创建箭头形状。

<style>
.halfCircleLeft{
    float:left;
    height:50px;
    width:40px;
    border-radius: 0 90px 90px 0;
    -moz-border-radius: 0 90px 90px 0;
    -webkit-border-radius:  0 90px 90px 0;
    background:#00FF00;
}

.arrow_box {
    position: relative;
    top: 50%;
}
.arrow_box:after, .arrow_box:before {
    right: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.arrow_box:after {
    border-color: rgba(0, 255, 0, 0);
    border-right-color: #00ff00;
    border-width: 10px;
    top: 50%;
    margin-top: -10px;
}
.arrow_box:before {
    border-color: rgba(0, 0, 0, 0);
    border-right-color: #000000;
    border-width: 16px;
    top: 50%;
    margin-top: -16px;
}
</style>
<div class="bottom_boxes_section">
    <div class="halfCircleLeft"><div class="arrow_box"></div></div>
</div>
于 2013-10-08T18:33:54.497 回答