制作コラム

【JS初心者向け】画像の縦横比でスタイルシートを変える方法

ホームページは今やCMSが当たり前の時代。また、スマホに対応するためにレスポンシブデザインやリキッドレイアウトを採用される場合も多いかと思います。CMSを導入することは、画像の編集などができないクライアントの場合でも、ただ画像をアップロードするだけできっちり表示されないといけないというのが基本だと思います。

記事の部分での画像の配置は、スマホなどにも考慮してimgにwidth:100%とheight:autoなどを使うのが一番簡単なのですが、これだと、最近のサイドバーがないレイアウトや大きいサイズのPCモニターなどでは特に縦長の画像がえらく大きく見えたりする場合がありますね、ブラウザの縦幅いっぱいになったりと。製作者がきちんと考えてくれればまあいいのですが、それをどうやったらいいのかわかんねーって方に簡単な方法をご紹介します。

だいたいコピペで結構です。

Javascriptサンプル

<script>
	$(window).load(function (){
    // ↓ここに幅を変更したいクラスなど入れる
    $('.クラス名など img').each(function(){
        var img_height = $(this).height();
        var img_width  = $(this).width();
        var img = new Image();
        img.src = $(this).attr('src');
        var _width = img.width;
        var device_width = $(window).width();
 //横÷縦の値が1以上、つまり横長の場合
        if((img_width / img_height) >= 1){
//.css(ここに挿入以下サンプル)
            if(_width <= device_width){
                $(this).css("width", "auto");
            }else{
                $(this).css("width", "100%");
            }
            $(this).css("max-width", "100%");
        }else{
            // そのほかの場合(縦長の場合)こんな感じ
            $(this).css({"max-height": "400px","margin":"0 auto","width":"auto","display":"block"});
            if($(this).width() >= device_width){
                $(this).css("width", "100%");
            }else{
                $(this).css("width", "auto");
            }
        }
    });
});
</script>

必要なサイズとかは適宜変更してください。

もしこの処理をPCのみにしたい場合(スマホでは反映させたくない)は、

if(!navigator.userAgent.match(/(iPhone|iPad|iPod|Android)/)){

}

{と}の中に上のjsを挿入してください(いくらなんでもわかりますか)

ちなみに!を外すとスマホの場合になります。(いくらry)

Tags:

一覧に戻る

ホームページ
制作業務

コーポレートサイト制作

コーポレートサイトは企業の看板となるウェブサイトです。顧客とのファーストコンタクトになる場合が多いので、ブランディング視点で企業を魅力的に伝えるホームページを構築いたします。

More

ブランドサイト・集客サイト制作

ブランドサイトや集客サイトはお問い合わせなど、コンバージョンの獲得を強く意識したホームページになります。クライアントの事業内容によって、コーポレートサイトをそのまま集客の核とする場合と、別途ブランドサイトや集客サイトを作ってブランディングを行う場合があります。

More

採用サイト制作

採用サイトは、コーポレートサイトと同様、求職者の心に響くためのブランディング視点が必要になります。求職者の琴線に触れる非金銭的ポイントと貴社の強みや特徴をきちんと整理し、伝わるサイトを制作いたします。

More

ECサイト制作

ECサイトは、事業の形態や規模によって求められる内容や機能が異なります。
アルラボではお客様の事業内容や求められる結果に応じてさまざまな形態のECサイトをご提案しています。

More

サービス一覧

Webマーケティング
集客対策業務

リスティング広告運用

検索ユーザーに貴社のビジネスの接点を作るリスティング広告。
限られた予算の中で費用対効果を重視した最適なリスティング広告運用を行います。

More

SNS・YouTube広告運用

検索ユーザーだけでなく、潜在ユーザーにも適切にアプローチできるFacebookやInstagramなどのSNS広告を運用します。
エリアや年齢性別など、細かくターゲットをセグメントし、適切なユーザーへアプローチします。

More

SEO対策

サイトの検索表示順位を上昇させるSEO対策。
内部施策を標準化し、サイトの構造を正しくクローラーに伝え、適切な検索キーワードからユーザーが求める情報とは何なのかを追求します。

More

コンテンツマーケティング

ユーザーにとって価値のあるコンテンツを継続的に発信し、幅広いワードでアプローチするユーザーをキャッチします。

More

MEO対策

近年重要視されているMEO(Map Engine Optimization)
Googleマップでの検索結果において上位表示させる対策です。アルラボではGoogleマイビジネスの最適化のほか、サイテーション施策など、上位表示に必要なノウハウをご提供可能。

More

Webアクセス解析

ユーザーの属性や特徴、そして行動を分析し、コンバージョンに繋がる課題を解決します。ウェブサイトを着実に成長させる指標としてアクセス解析からの改善提案を行います。

More

お問い合わせ
Contact

私たちは、お客様のビジネスを成長させ、
より前に進ませるためにともに考え、創るWeb制作会社です。

ホームページの新規・リニューアル制作から
ブランディング・広告運用・SEO対策などWeb集客導線を作ります。

お問い合わせ・ご相談

ホームページ制作・広告運用・SEOなど
ご相談はお気軽にご相談ください。

お問い合わせ・ご相談

お電話でのお問い合わせ

お電話でのご相談も随時受け付けております。
お気軽にご連絡ください。

0952-20-1501(佐賀)

092-717-3446(福岡)

平日:9:00~17:00