####BootstrapとカスタムCSS
前章では多くのHTML要素にCSSクラスを関連付けました。
CSSベースでレイアウトを構成する際に高い柔軟性を与える。
ラスの多くは、Twitterが作成したフレームワークであるBootstrap特有のもの
Bootstrapを使うと、洗練されたWebデザインとユーザーインターフェイス要素を簡単に導入できるCSSフレームワークを
HTML5アプリケーションに追加できます。
この節では、サンプルアプリケーションにスタイルを追加するために、カスタムCSSルールとBootstrapを組み合わせて使う。
注目すべき点は、Bootstrapを使うことでアプリケーションをレスポンシブデザイン
(Responsive Design) にできる
bootstrap-sass gemを使ってRailsアプリケーションに導入する。
####Gemfileにbootstrap-sassを追加
source 'https://rubygems.org'
gem 'rails', '6.0.3'
gem 'bootstrap-sass', '3.4.1'
gem 'puma', '4.3.6'
.
.
.
bundle install
を実行して、Bootstrapをインストール
$ bundle install
本チュートリアルでは(簡潔のために)すべてのCSSを1つにまとめる方針を採っています
$ touch app/assets/stylesheets/custom.scss
@importを使って、Bootstrap(とそれに関連するSprockets)を読み込みます。
####Bootstrap CSSを追加する
@import "bootstrap-sprockets";
@import "bootstrap";
2行で、Bootstrap CSSのフレームワークを導入しています。
導入後、Webサーバーを再起動させると、アプリケーションに反映させている。
プレビューで確認 成功
Webサイト全体にわたってレイアウトと個別のページにスタイルを与えるためのCSSを追加
####すべてのページに適用される共通のスタイルをCSSに追加する
@import "bootstrap-sprockets";
@import "bootstrap";
/* universal */
body {
padding-top: 60px;
}
section {
overflow: auto;
}
textarea {
resize: vertical;
}
.center {
text-align: center;
}
.center h1 {
margin-bottom: 10px;
}
body {
padding-top: 60px;
}
ページ上部に60ピクセルの余白を追加します
.center {
text-align: center;
}
centerクラスにtext-align: centerプロパティを関連付けています
.center冒頭のドット.は、このルールがクラスに対してスタイルを適用
冒頭がポンド記号#で始まる場合は、そのルールがCSSのidに対してスタイルを適用することを示します。
centerクラスに属している(divなどの)タグの内側にある要素が、すべて中央揃えになることを意味しています
洗練されたタイポグラフィーを利用するためのCSSを追加する
####洗練されたタイポグラフィーを利用するためのCSSを追加する
@import "bootstrap-sprockets";
@import "bootstrap";
.
.
.
/* typography */
h1, h2, h3, h4, h5, h6 {
line-height: 1;
}
h1 {
font-size: 3em;
letter-spacing: -2px;
margin-bottom: 30px;
text-align: center;
}
h2 {
font-size: 1.2em;
letter-spacing: -1px;
margin-bottom: 30px;
text-align: center;
font-weight: normal;
color: #777;
}
p {
font-size: 1.1em;
line-height: 1.7em;
}
プレビューで確認 成功したか分からない。
いくつかのルールをサイトロゴに追加します
####サイトロゴにCSSを追加する
@import "bootstrap-sprockets";
@import "bootstrap";
.
.
.
/* header */
#logo {
float: left;
margin-right: 10px;
font-size: 1.7em;
color: #fff;
text-transform: uppercase;
letter-spacing: -1px;
padding-top: 9px;
font-weight: bold;
}
#logo:hover {
color: #fff;
text-decoration: none;
}
color: #fffは、ロゴの色を白に変更
####演習
1.ネコ画像をコメントアウト,ブラウザのHTMLインスペクタ機能を使って、コメントアウトするとHTMLのソースからも消えていることを確認
確認 成功
2.コードをcustom.scssに追加し、すべての画像を非表示にしてみてください
home.htmlにペースト
img {
display: none;
}
プレビューで確認 成功