1
A
回答
6
這是很容易與linear-gradient
背景圖像創建和我們不」 t需要多個div
元素才能使用漸變創建此元素。我們需要的只是一對梯度圖像。
下面是的形狀是如何實現的一個解釋:
,其是85%,在X軸上的容器和75%的容器的Y大小的大小- 一個線性梯度圖像軸用於創建大的白色部分,它位於容器的左側。
- 另一個線性漸變圖像是X軸容器大小的15%和Y軸容器大小的15%,用於在最後創建三個條紋。條紋是通過將漸變分成彩色和透明部分而創建的。彩色部分的大小相同,以產生條紋效果。
注:有問題的圖像中的第三條似乎比別人低一點,我假定這是圖像中的錯誤。如果不是,它仍然可以通過以下方法實現。
body {
background: yellow;
}
.shape {
height: 100px;
width: 400px;
transform: skew(-30deg);
transform-origin: left bottom;
background-image: linear-gradient(to left, rgba(255,255,255,0.5) 25%, transparent 25%, transparent 33%, rgba(255,255,255,0.75) 33%, rgba(255,255,255,0.5) 60%, transparent 60%, transparent 66%, rgba(255,255,255,1) 66%, rgba(255,255,255,0.75) 93%, transparent 93%), linear-gradient(white, white);
background-size: 15% 100%, 85% 75%;
background-position: 100% 100%, 0% 0%;
background-repeat: no-repeat;
}
<div class='shape'></div>
你也可以使用SVG path
元素來創建這個形狀。
.shape {
position: relative;
height: 100px;
width: 300px;
}
.shape svg {
position: absolute;
height: 100%;
width: 100%;
top: 0px;
left: 0px;
}
.shape svg path#white-bar {
fill: rgba(255, 255, 255, 1);
}
.shape svg path#translucent-bar-1 {
fill: rgba(255, 255, 255, 0.75);
}
.shape svg path#translucent-bar-2 {
fill: rgba(255, 255, 255, 0.5);
}
body {
background: yellow;
}
<div class='shape'>
<svg viewBox='0 0 300 100'>
<path d='M0,75 25,0 240,0, 221.5,75z M245,0 220,100 235,100 260,0' id='white-bar' />
<path d='M265,0 240,100 255,100 280,0' id='translucent-bar-1' />
<path d='M285,0 260,100 275,100 300,0' id='translucent-bar-2' />
</svg>
</div>
注:這可能是這可能使用單個path
元素和傾斜的漸變填充,但我不能與SVG好創建。
+1
好主意,非常感謝 –
2
1
扭捏@ Siddarth的代碼,這可能是更適合於上面給出的圖像:
div{
display:inline-block;
vertical-align: text-top;
-webkit-transform: skew(-20deg);
-moz-transform: skew(-20deg);
-o-transform: skew(-20deg);
background: white;
}
.one{
width: 450px;
height: 100px;
}
div:not(.one){
margin-left:0px;
width: 20px;
height: 200px;
}
.two{
opacity:.8;
}
.three{
opacity:.6;
}
.four{
opacity:.4;
}
body {
background-color: rgb(255, 210, 2);
}
<body>
<div class="one">
</div>
<div class="two">
</div>
<div class="three">
</div>
<div class="four">
</div>
</body>
相關問題
- 1. 使用DrawingBrush創建兩條垂直線
- 2. 畫一條垂直線
- 3. 延長chart.js水平條形圖以包括一條垂直線
- 4. 使用僞元素:在UL之前創建一條垂直線
- 5. 條形圖上的垂直線
- 6. 向ggplot添加一個垂直線條
- 7. 使用條紋::卡創建一個新的條紋::電荷
- 8. 使用div創建垂直條
- 9. 創建一個彎曲的線條形狀繪製
- 10. 積極創建一條垂直線來顯示平均值
- 11. 在列表項旁邊創建一條垂直線
- 12. d3垂直條形圖
- 13. jQuery Zoomable垂直條形圖
- 14. Java垂直條形圖
- 15. D3條形圖垂直軸
- 16. 創建一個垂直柱狀圖
- 17. 使用垂直條件創建一個新的列data.table
- 18. 帶CSS的垂直線條
- 19. 垂直中心多條線
- 20. 用三角形條創建平面
- 21. XML中的垂直條紋背景?
- 22. CSS梯度 - 鉻 - 噁心垂直條紋
- 23. 在vb.net中創建垂直進度條
- 24. 如何構建一個沒有垂直軸線的jquery/flot條形圖?
- 25. 在wpf RichTextBox上畫一條垂直線
- 26. Chart.js刪除第一條垂直線
- 27. 在Core Plot中畫一條垂直線?
- 28. 不創建令牌的條紋形式
- 29. 用導航條繪製一條小垂直線
- 30. 對於其餘的垂直空間垂直居中一條線
您是否嘗試過創建這種形狀? – ketan
我推薦使用SVG方式,在純CSS中可以變得太複雜,因此不切實際 –