2015-09-24 68 views
1

這裏有一個與CSS相關的問題。我想創建一個水平箭頭,就像這個在屏幕截圖上(實際上它是在油漆中添加的)。CSS:任何方式來創建頂部到底部的箭頭?

作爲一個可能的解決方案,我想到使用transform: skew屬性,但我不認爲有可能傾斜左側&右側的一個元素。

有什麼建議嗎? :)

enter image description here

+1

爲什麼不使用的圖形? – Joshua

+0

好主意,雖然任務是通過純CSS創建相同的。你甚至可以爲三角形使用圖形,不是嗎? :) –

+1

@Joshua我想在2015年,問題是'爲什麼要使用圖形?' CSS是完全有能力的,並且是放置它的正確地方。 –

回答

4

它使用「一單格」通過採取:before:after選擇的好處是可能的。

.arrow { 
 
    margin: 50px; 
 
    width: 500px; 
 
    height: 40px; 
 
} 
 
.arrow:before { 
 
    content: ''; 
 
    position: relative; 
 
    left: 0; 
 
    top: 0; 
 
    display: inline-block; 
 
    width: calc(50% - 2px); 
 
    height: 100%; 
 
    border: 1px solid red; 
 
    border-right-width: 0; 
 
    transform: skewY(10deg); 
 
} 
 
.arrow:after { 
 
    content: ''; 
 
    right: 0; 
 
    top: 0; 
 
    position: relative; 
 
    display: inline-block; 
 
    width: calc(50% - 2px); 
 
    height: 100%; 
 
    border: 1px solid red; 
 
    border-left-width: 0; 
 
    transform: skewY(-10deg); 
 
}
<div class="arrow"></div>

+1

很好地完成。我得到了「歪斜」(而不是「旋轉」),然後平穩下來。很好的答案。 –

+0

如果箭頭具有超出裝飾的任何功能,那麼爲了可訪問性原因需要更多標記 –