このページの本文へ

Bootstrapでシングルページをコーディング (2/5)

2014年09月30日 11時00分更新

文●イシジマミキ/ザ・マーズナレッジ代表

  • この記事をはてなブックマークに追加
本文印刷

新しく追加するスタイル

 Bootstrapで定義済みのスタイルで足りないときは、「theme.less」にオリジナルのスタイルを記述します。theme.lessにはデフォルトでいくつかのスタイルが設定されていますが、冒頭の@import以外は削除して、新規にスタイルを記述していきます。

theme.cssの読み込み

 新規スタイルをtheme.lessに記述する前に、index.htmlでtheme.lessをコンパイルしたtheme.cssを読み込むため、index.htmlの「<!-- Bootstrap -->」セクションにtheme.cssを加えておきます。

■変更前のソースコード(index.htmlの一部)


    <!-- Bootstrap -->
    <link href="css/bootstrap.css" rel="stylesheet">

■変更後のソースコード(index.htmlの一部、緑の部分が追加部分)


  <!-- Bootstrap -->
  <link href="css/bootstrap.css" rel="stylesheet">
  <link href="css/theme.css" rel="stylesheet">

.catchcopy

 「.lead」や「.text-center」などの既存のスタイルにmarginやcolorを設定すると、他で使うときにも適用されてしまいます。そこで、「.catchcopy」として、メインイメージの文章に対してのみ使うスタイルを定義しています。

■.catchcopyの定義(theme.lessの一部)


  .catchcopy {
    margin-top: 10px;
    font-size:  20px;
    color:      #B2B2B2;
  }

.quote

 今回のデザインでは、メインイメージの下に「各分野の専門家が、職業上持っている知識・スキルや経験を活かして社会貢献するボランティア活動全般。また、それに参加する専門家自身。」という引用文を表示して、最初の句点で改行しています。

 引用符の画像はblockquote背景の左上、右上に配置しています。CSS3では、複数の画像を背景に指定できます


background-image:  url(../images/quote-head.png),
                   url(../images/quote-foot.png);

このように「,(カンマ)」区切りで指定します(対応ブラウザーは限られます)。

■.quoteの定義(theme.lessの一部)


.quote {
 blockquote {
  text-align:          left;
  padding:             0 60px;
  background-image:    url(../images/quote-head.png),
                       url(../images/quote-foot.png);
  background-repeat:   no-repeat,
                       no-repeat;
  background-position: top left,
                       top right;
  @media screen and (min-width: @screen-lg-min) {
   .center-block();
   width:      87%;
   text-align: center;
  }
 }
}

 また、type.lessの「// Blockquotes」セクションで、引用符の先頭にグレーの長方形を表示するように設定されているので、コメントアウトしておきます。

■変更前のソースコード(type.lessの一部、緑色部分を変更)


// Blockquotes
blockquote {
  padding:     (@line-height-computed / 2) @line-height-computed;
  margin:      0 0 @line-height-computed;
  font-size:   @blockquote-font-size;
  border-left: 5px solid @blockquote-border-color;

■変更後のソースコード(type.lessの一部、緑色部分を変更)


// Blockquotes
blockquote {
  padding:     (@line-height-computed / 2) @line-height-computed;
  margin:      0 0 @line-height-computed;
  font-size:   @blockquote-font-size;
  //border-left: 5px solid @blockquote-border-color;

新規のスタイルはどこに書く?

 「.catchcopy」はあらかじめBootstrapでは用意されていないclass名です。新たにどこかのファイルに記載する必要がありますが、あなたならどこに書きますか?

 「文字のスタイルだからtype.less?」とわたしはよく迷いますし、書いたあとで忘れて探しまわってしまうので、新規に追加したオリジナルのスタイルや既存のBootstrapスタイルの拡張は、極力「theme.less」に記述するようにしています。

 theme.lessのオリジナルファイルを見ると分かりますが、見た目に対しての拡張、影やグラデーションの追加がほとんどなんですね。だから、わたしはBootstrapのスタイルを根本から変更しない限りは、theme.lessに記述していくようにしています。

この連載の記事

一覧へ

この記事の編集者は以下の記事をオススメしています