2016-02-19 5 views
0

Я пытаюсь создать стрелку вправо с серой рамкой с css. но я думаю, что стрелка уже притирает левый прямоугольник. требуется некоторый штрих здесь:CSS Right Arrow

.arrow_box { 
 
    position: relative; 
 
    background: #fff; 
 
    border: 2px solid #aaa; 
 
    width: 300px; 
 
    padding: 8px 20px 8px 40px; 
 
} 
 
.arrow_box:after, 
 
.arrow_box:before { 
 
    left: 100%; 
 
    top: 50%; 
 
    border: solid transparent; 
 
    content: " "; 
 
    height: 0; 
 
    width: 0; 
 
    position: absolute; 
 
    pointer-events: none; 
 
} 
 
.arrow_box:after { 
 
    border-color: rgba(255, 255, 255, 0); 
 
    border-left-color: #fff; 
 
    border-width: 17px; 
 
    margin-top: -17px; 
 
} 
 
.arrow_box:before { 
 
    border-color: rgba(170, 170, 170, 0); 
 
    border-left-color: #aaa; 
 
    border-width: 19px; 
 
    margin-top: -19px; 
 
}
<div class="arrow_box"><a href="#">Consumer Customer</a> 
 
</div>

+0

Снимите правую границу прямоугольника (' border-right: 0px; '). Это то, что вам нужно? Также посмотрите на эту тему - http://stackoverflow.com/questions/27636373/how-to-make-this-arrow-in-css-only/28196665?s=22|0.0000#28196665. Это может помочь вам (на основе формы, которую вы пытаетесь создать). – Harry

+0

сохранить радиус границы 2px до 1px .arrow_box {border: 1px solid #aaa; } –

ответ

1

Вы можете добавить границ конкретных сторон, за исключением прав:

.arrow_box { 
position: relative; 
background: #fff; 
border-left: 2px solid #aaa; 
border-top: 2px solid #aaa; 
border-bottom: 2px solid #aaa; 
width: 300px; 
padding: 8px 20px 8px 40px; 
box-sizing: border-box; 
} 

https://jsfiddle.net/2ca4aucm/1/

+0

Спасибо, что работает! – mzwebstudio