すいませんちょっとhtmlもいじりました!
質問者様のhtmlの構造だと、liの下のaの後に要素が入ったりしたらcss自体が壊れそうなので、
htmlの形に依存しないような感じにしてます!
具体的にはどのタグにクラスをつけても動くみたいな!感じです!
html
1 <li><a href="#" class="arrow arrow--blue">次へ</a></li>
css
1.arrow{
2 position: relative;
3 color:#fff;
4 display: inline-block;
5 width: 70px;
6 height: 40px;
7 line-height: 40px;
8 text-align: center;
9 }
10 .arrow:after{
11 position: absolute;
12 top: 0;
13 right: -40px;
14 content: '';
15 display: inline-block;
16 border: solid 20px transparent;
17 }
18
19 .arrow--blue{background-color: #003d96;}
20 .arrow--blue::after{border-left-color: #003d96;}
cssが長くて難しいかもしれませんが、arrowとarrow::afterで形を作成してます(この時点では透明)
そして、arrow--blue, arrow--blue::afterに背景色とボーダーの色の指定をつけてみました!
こうすることで「あー違う色の矢印が欲しい」と思った時に
css
1.arrow--yellow{background-color: yellow;}
2.arrow--yellow::after{border-left-color: yellow;}
みたいに、2行追加するだけで種類を増やせます!
(本当は1行だけで実装したかったんですが。。。( ;∀;))
ちなみに、afterとか指定する場合はcontent: '';をつけないと動かないですよ!
僕も前にこれではまったので(笑)
頑張ってくださーい!
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/04 07:03