CSSでジグザグな背景を作るのに参考になりそうなコード ZigZag edges

PR
ZigZag edges
By JAM
http://codepen.io/jmyrland/pen/KBGEh
上下のジグザグなところは、CSSの背景を使って表現されています
グラデーションを表現するinear-gradientに角度を付けることが出来、それを利用してジグザグにしています
ジグザグにしているCSSを抜粋
.zigzag-edges:before,
.zigzag-edges:after {
content: ' ';
display: block;
height: 14px;
position: absolute;
left: 0;
right: 0;
}
.zigzag-edges:before{
top: -14px;
background:
linear-gradient(45deg, #FCFCFB 25%, transparent 25%),
linear-gradient(315deg, #FCFCFB 25%, transparent 25%),
linear-gradient(225deg, #8CCEE8 25%, transparent 25%) -7px 0,
linear-gradient(135deg, #8CCEE8 25%, transparent 25%) -7px 0;
background-size: 14px 14px;
background-color: #DCDCDB;
}
.zigzag-edges:after{
bottom: -14px;
background:
linear-gradient(135deg, #FCFCFB 25%, transparent 25%),
linear-gradient(225deg, #FCFCFB 25%, transparent 25%),
linear-gradient(315deg, #8CCEE8 25%, transparent 25%) -7px 0,
linear-gradient(45deg, #8CCEE8 25%, transparent 25%) -7px 0;
background-size: 14px 14px;
background-color: #DCDCDB;
}
コード自体は短くできているのですが
やっていることは結構複雑です、言葉で説明するのがちょっと難しいのですが
背景を14×14px正方形のブロックにして、そのブロックの25%分に色を付ける
右に45度傾けたものと左に45度傾けた向けたものを合成することで三角形を作り出しています
あとはもうひとつは逆向きに同じ要領で、開始位置を変えてやることで2重のギザギザを表現しています
白色のジグザグと外側に水色のジグザグがあり、灰色のジグザグに見えるところは背景で水色が入り込むことでジグザグに見えています
PR


COMMENT