Творческое использование границ для достижения этого эффекта, никакие изображения не пострадали в следующем примере, и вы даже можете установить положение стрелки на самом элементе - становится более простым, если вы можете жестко запрограммировать его для своего дизайна.
HTML
<div class="top">
<span class="arrow" style="left:40%"></span>
</div>
CSS
.top {
background:url(http://blog.positscience.com/wp-content/uploads/2013/08/ice-cream3.jpg);
background-size:cover;
width:300px;
height:300px;
border:1px solid #888;
position:relative;
overflow:hidden;
}
.arrow {
border:30px solid #aaa;
border-bottom:none;
border-color:transparent #aaa transparent #aaa;
position:absolute;
left:0;
bottom:0;
}
.arrow:before, .arrow:after {
content:'';
position:absolute;
width:5000px;
bottom:0;
height:30px;
background:#aaa;
}
.arrow:before {
right:30px;
}
.arrow:after {
left:30px;
}
Working JSfiddle sample.
Or the full integrated sample here.
Возможно, но не очень красиво ... Я пойду что-нибудь взломаю. –
Я голосую за повторный поиск по этому вопросу - если этот вопрос не разрешен, мы не можем иметь ** каких-либо ** «как мне получить сложный эффект X в CSS» вообще, хотя они часто являются интересными чтобы найти трюки, как показано ниже. Если вы не знаете, что 'border' работает подобным образом в углах, вы никогда не будете думать об этом сами. –
Вы также можете проверить этот вопрос: http://stackoverflow.com/questions/23758922/transparent-css-arrow-triangle-over-an-image –