- ニュースリリース
- background-size:cover;をimgタグでも実現する方法
background-size:cover;をimgタグでも実現する方法
13,320
みなさま、こんにちは!
ディレクション・デザイン・コーディングなどWEB制作業務を色々やってます竹下です!
あまり文章を書くことがないので、みなさまのお目汚しになるかもしれませんが、がんばって書いていきます!
さて、今日はコーディングのお話です。
IEのバージョンが11を対象にすることが案件でも多くなり、
CSS3を使用する機会も多くなってきました。
その中でもレスポンシブコーディングでも重宝する【background-size:cover】は皆様もよく使用されているのではないでしょうか?
指定した要素いっぱいに背景画像が広がり、可変しても自動的に描画してくれる便利なcssです。
目次
げっ!【background-size:cover】 使いたいけど…
しかし、デザインによっては、画像を設置する箇所の中身にタイトルや文章などの要素がないけど、どうしても【background-size:cover】を使いたい時ってありませんか?
はい、時々やっている方をお見かけします。
でたっ 必殺!空のdiv!!
1 |
<div id="bgImg"></div> |
ダメなのは分かってはいるけど、しかたなく使ってしまうことはありますよね…
そんな時、実は便利なCSS3があったのです!?
僕らの救世主【object-fit: cover】
そんな時は、【object-fit: cover】という便利なcssがあるのです!
使い方
【object-fit: cover】はHTMLにimgタグで画像を設置し、cssはimgタグに指定をして使用します。
【object-fit: cover】を使う時は、画像に横幅と高さをつけましょう。
【background-size:cover】と同じような表現したい時は、width100%とheight100%の指定をします。
指定も簡単なので、素敵です!
1 |
<div id=""natureImg><img src="img/nature.jpg" alt="objectfit"></div> |
【CSS】
1 2 3 4 5 6 7 8 9 10 |
#natureImg { width: 500px; height: 200px; } #natureImg img { width: 100%; height: 100%; object-fit: cover; } |
だが、いつものアレが立ちふさがるのです…!!
とても便利な【object-fit: cover】ですが、ひとつ問題があります。
そう、あのIEさんが非対応なのです…
しかし、こちらは先駆者のお力を借りて解決できます!
jQueryプラグイン「object-fit-images」
こちらのページからファイルをダウンロードします。
「Clone or download」の緑のボタンからzipをダウンロードして
distのディレクトリ内にあるofi.min.jsのみ使用します。
Jqueryとofi.min.js読み込み、設定の記述を追記します。
また、cssにて【font-family: ‘object-fit: cover;’;】を追加します。
設定はこれだけです!
1 2 3 4 5 6 7 |
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script src="js/ofi.min.js"></script> <script> $(function (){ objectFitImages() }); </script> |
【HTML】
1 2 3 |
<div id="natureImg"> <img src="img/nature.jpg" alt="objectfit" class="ojf"> </div> |
【CSS】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#natureImg { width: 100%; height: 500px; } #natureImg img { width: 100%; height: 100%; object-fit: cover; } .ojf { font-family: 'object-fit: cover;'; } |
それでは、デモを見てみましょう。
IEでも綺麗に表示されているかと思います。
いかがでしたでしょうか?
「object-fit-images」はIE9・IE10・IE11にて、使用できますので、
シーンによっては、とても便利なJS・CSSなので、積極的に使用していきたいです!
ご覧いただき、ありがとうございました。
Contact
-
お電話でのお問い合わせ
092-409-8282
9:00~18:00(日祝休)
- メールでのお問い合わせ