10 ページデザインの変更

[戻る]

CSSでは同種の設定が重複している場合、原則、後から設定したものが有効になります。

この仕様を利用すると、すでにできあがっているデザインを修正するのに便利です。また、モバイルなど画面の小さな端末での表示を考慮したデザインも同時に行うことができます。

以下の指示に従って rensyu10.html のデザインを修正しましょう。

準備

下のリンクからサンプルファイルをダウンロードし、rensyu フォルダ内に保存してください。「右クリック」→「対象をファイルに保存」などでダウンロードできます。

rensyu10.zip ←ここからダウンロード

圧縮フォルダの中身を取り出すと、rensyu10.htmlrensyu10.css の2ファイルが含まれています

作成手順

  1. rensyu10.htmlrensyu10.css を開き、ページの内容を確認します。

    簡単なリンク集のページになっており、CSSによってすでにデザインがされています。以下のようなデザインになっているはずです。


    rensyu10.html の最初の状態

    このデザインの修正を行います。

  2. 新しいCSSファイル rensyu10plus.css を rensyu フォルダ内に用意します。

    下のリンクからファイルをダウンロードすることもできます。「右クリック」→「対象をファイルに保存」でダウンロードできます。

    rensyu10plus.css ←ここからダウンロード

    関連ファイルは以下のような配置になるはずです。(よく似たファイル名に注意!)

  3. ダウンロードした rensyu10plus.css が、rensyu10.html に読み込まれるようにします。

    rensyu10.html を開き <link>を探します。すでに rensyu10.css を読み込むための設定が記載されていると思いますが、その下の行に新たに rensyu10plus.css を読み込むための行を追記してください。

      : 省略
    <link rel="stylesheet" href="./rensyu10.css" >
    <link rel="stylesheet" href="./rensyu10plus.css" >
      : 省略

    必ず既存の<link>より下の行に追記してください。rensyu10plus.cssrensyu10.css より後から読み込むことで、CSS設定を上書きするためです。

    CSSでは後から書かれたルールが、前のルールを上書きします。
    同種の設定が重複している場合も同様に、後者の効果で上書きされます。
  4. 今後は、rensyu10plus.css を編集し、デザインの修正を行います。

    ここでは暗めの色合いにして、目に優しい感じのデザインを目指します。なお例として使用する色合いをそのまま使っても完成できますが、各自の判断で好きな色に変えても構いません。

  5. まず、背景色を変更します。

    rensyu10plus.css を開き、<body> に対して background-color を設定し、色を変更します。

    その際、単色で色を塗るのではなく linear-gradient( ) を使用すると、グラデーションをかけます。詳しくは下の例を参考にしてください。

    また、合わせて fixed の値を追加することで、ページをスクロールしても背景が移動しないように設定します。

    /* 背景色の変更 */
    body {
    background-color: #4B4B4B;
    background: linear-gradient(to bottom, #4B4B4B, #282828) fixed;
    }


    実行例

    上の例では、グラデーションを下に向かって(to bottom)、グレー(#4B4B4B)から濃いグレー(#282828)になるよう設定しています。また、ページをスクロールしても移動しないように固定(fixed)しています。

  6. 飾り枠の白い部分がまぶしく見えるので、暗めの色合いに変更します。

    飾り枠は block というクラス名であらかじめデザインされているので、block クラスの設定を追記します。

    /* 飾り枠のデザイン修正 */
    .block {
    background-color: #5F5F5F;
    }


    実行例

  7. 飾り枠の角を丸くします。

    block クラスに、border-radius プロパティを追加して、角の丸みを表現します。

    /* 飾り枠のデザイン修正 */
    .block {
    background-color: #5F5F5F;
    border-radius: 5px;
    }
  8. リンクの文字が暗く沈んで見にくいので、色合いを変更します。ここでは白色に変更します。

    /* リンク色の変更 */
    a:link { color: #FFFFFF; }
    a:visited { color: #FFFFFF; }
    a:hover { color: #323232; background-color: #B0B0B0; }
    a:active { color: #FFFF00; }


    実行例

  9. 見出しの部分がまぶしく見えるので、色合いを colorbackground-color を使って変更します。さらに border-radius プロパティを追加して、角の丸みを表現します。

    見出しの部分は pop というクラス名であらかじめデザインされているので、pop クラスに border-radius の設定を追加します。

    /* 見出しのデザイン修正 */
    .pop {
    color:#5F5F5F; /* ダークグレー */
    background-color:#FFB429; /* オレンジイエロー */
    border-radius: 5px;
    }


    実行例

    参考:別の色を塗る場合

    別色のパターンも掲載しておきます。もし余裕があれば、他の色を試してみるのも良いでしょう。

    パターンその2

    /* 見出しのデザイン修正 */
    .pop {
    color:#226633; /* ダークグリーン */
    background-color:#24C339; /* グリーン */
    border-radius: 5px;
    }

    パターンその3

    /* 見出しのデザイン修正 */
    .pop {
    color:#6F5F4F; /* ダークブラウン */
    background-color:#FF4B45; /* レッド*/
    border-radius: 5px;
    }
  10. スマートフォンなど、小型の端末でこのページを見ると、文字が小さくて操作しにくいと感じました。また、小さな画面では、ページの右端がはみ出してしまうことに気づきました。確認したい場合は、ブラウザのウインドウの横幅を狭くすると、はみ出す様子が確認できます。(実際にウインドウの横幅を縮めてみましょう)

    そこで、画面が小さい端末で表示した場合は、操作しやすいよう、文字を少し大きくし、画面からはみ出さないように調整します(詳しくは下記「解説」コーナーにある「スマートフォンなどへの対応」を参考にしてください)。
    以下の設定を追加しましょう。

    /* 640px以下の解像度を持つ端末用の設定 */ @media screen and (max-width: 640px) { body { margin:0px; padding:0px; font-size: 1em; } .block { margin:4px; padding:4px; width:auto; } }

    画面幅が640px以下の場合は、文章全体のマージンとパディングをゼロにし、文字のサイズを少し大きめ 1em にしています。
    また、枠 blockクラス については、マージンとパディングを狭め 4px にし、枠幅を自動 width:auto; にすることで、画面からはみ出さないようにしています。

    ブラウザウインドウの横幅を、再び狭くすると、文字が少し大きくなり、画面からはみ出さなくなった様子が確認できます。

    以上でデザインの修正は完了です。後から設定を追加して、最初と全く異なるデザインとなりました。

解説

設定の追加

CSSでは、同種の設定が重複している場合、後から設定したものが有効になるという仕様があります。
この仕様を利用すると、すでにできあがっているデザインの修正も簡単に行なえます。

たとえ複雑なデザインがすでに設定されている場合も、後から効果を上書きすれば、簡単に修正できるというわけです。

また、別のCSSファイルに切り替えるなどすれば、簡単にデザインを異なるものに変更することもできます。

スマートフォンなどへの対応

CSS3 で追加された「メディアクエリ」と呼ばれる機能により、スタイルシートを適用する条件を指定することができるようになりました。

具体的には上記の 10. の項目で「@media」から始まる部分のCSS記述がメディアクエリです。

メディアクエリを使えば、例えばスマートフォンの画面とパソコンの画面で、適用するスタイルシートを変更するといったことができます。

上の例では、「@media screen and (max-width: 640px) { ~ } 」 の部分で、画面の横幅が640ピクセルを下回った場合に { ~ } 内のスタイルシートが適用される仕組みになっています。

@media screen and (max-width: 640px) {
画面の幅が640ピクセル以下の場合に、ここに書いたスタイルシート設定が有効になります。
}

この課題の場合は、画面の横幅に応じて、ページ全体 ( <body> ) や block クラスなどに対して、文字の大きさ ( font-size ) や、余白 ( margin ) や、内部余白 ( padding ) の調整、横幅をフレキシブルに変更( width:auto; )といった追加設定を行っています。

@media に関して詳しくはこちらなどを参考にしてください。