「もっと見る」ボタンの「>」矢印アイコン画像をレスポンシブでも位置を綺麗に表示する方法
2016年11月10日
コーディング作業をしていて、必ずと言っていいほど出てくる「>」などの矢印アイコンですが、画像で入れる場合に、レスポンシブでコーディングすると、スマホ画面で幅が変わる時に位置がズレてしまったりするので調整が意外とめんどうだったりしますよね。
しかし、cssの書き方次第で矢印アイコンの位置がズレずに表示ができるのです!
では早速、サンプルのソースコードと解説をしていきたいと思います。
html
1 |
<p class="moreBtn"><a href="">もっと見る</a></p> |
css
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
.moreBtn a { position: relative; display: block; width: 440px; margin: 0 auto; padding: 16px 0; border-radius: 5px; background-color: #4c362a; color: #fff; font-size: 16px; text-align: center; text-decoration: none; } /* ↓ これが重要 */ .moreBtn a:after { display: inline-block; position: absolute; width: 40px; height: 23px; background: url(./img/icon_arrowCircle_right.png) no-repeat center center; background-size: 20px 20px; content: ""; } /*@media screen and (max-width:640px) { .moreBtn a { width: 80%; } }*/ |
解説
今回、aタグに指定しているcssはそんなに重要ではないので、擬似要素である:afterに指定してあるcssに注目して頂けたらと思います。
では、解説していきます。
display: inline-block;擬似要素の:afterでinline-blockをつけることで、「もっと見る」のテキストの後に改行せずにcontentを表示することができる
position:absolute; position:absolute;を入れることで、「もっと見る」のテキストの高さよりも高いアイコンでも切れずに表示できる、必要に応じて入れる。
width: ○px;
height: ○px;幅と高さを入れることで、背景画像の位置をbackground-positionで調整することができるようになる。
content: “”;擬似要素:before、:afterのみで使用するプロパティ。Contentがないと表示ができないので必ず入れるようにする。
上記の方法で位置を調整することで、PC、スマホの場合にもいい感じの位置にアイコンを表示できるかと思います。