第4章 5節 l-contents-type-0001を作ろう

この節について

この節では、コンテンツ領域の枠であるl-contents-type-0001を作成します。
今回もModifierクラスは無く、Elementクラスがあるだけです。

今回も基本に忠実に、BlockクラスとElementクラスで、コンテンツ領域内のレイアウトを作成していきましょう。

Block名を決める

今回のBlock名は l-contents-type-0001 にします。

scssファイルの作成

ファイル名の命名規則は _Block名.scss です。

先ほど決めたBlock名の先頭にアンダースコア(_)を足したものがファイル名になりますので src/scss/layouts/_l-contents-type-0001.scss を作成します。

src/scss/blog-service-top.scssの編集

src/scss/blog-service-top.scssに @import "./layouts/l-contents-type-0001.scss"; を追記します。

追記するとsrc/scss/blog-service-top.scssの全容は以下のようになります。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// base
@import "./base/global-variables/media-queries/media-queries.scss";
@import "./base/default.scss";

// layouts
@import "./layouts/l-body-inner-0001.scss";
@import "./layouts/l-contents-type-0001.scss";

// modules
@import "./modules/mod-button-0001.scss";
@import "./modules/mod-container-0001.scss";
@import "./modules/mod-footer-0001.scss";
@import "./modules/mod-header-0001.scss";
@import "./modules/mod-heading-0001.scss";
@import "./modules/mod-media-0001.scss";
@import "./modules/mod-media-0002.scss";

blog-service-top.htmlの編集

blog-service-top.htmlの <div class="l-body-inner-0001__contents-wrapper"> の中に以下のように記述します。
前後のコードは略して、追記するコードだけを記載しています。

1
2
3
4
5
6
7
8
9
10
〜略〜
<div class="l-contents-type-0001">
<div class="l-contents-type-0001__heading-wrapper">
ここにheadingモジュールが入ります。
</div>
<div class="l-contents-type-0001__body">
ここにcontainerモジュールが入ります。
</div>
</div>
〜略〜

_l-contents-type-0001.scssの編集

src/scss/layouts/_l-contents-type-0001.scss に以下のように記述します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
.l-contents-type-0001 {
padding: 1px 8px;
// .l-contents-type-0001のpadding-topを補完する初期値
> :first-child {
margin-top: 39px;
}
// .l-contents-type-0001のpadding-bottomを補完する初期値
> :last-child {
margin-bottom: 79px;
}
.l-contents-type-0001__heading-wrapper {
width: 1200px;
margin-right: auto;
margin-left: auto;
padding: 0 8px;
box-sizing: border-box;
@media #{$g__is-lg} {
width: 100%;
}
}
.l-contents-type-0001__body {
width: 1200px;
margin-top: 32px;
margin-right: auto;
margin-left: auto;
padding: 0 8px;
box-sizing: border-box;
@media #{$g__is-lg} {
width: 100%;
}
}
}

h1見出しを設置する

h1見出しを設置していきます。

module-list.htmlに予め作成しておいた <h1 class="mod-heading-0001 mod-heading-0001--lv-1">見出し lv1</h1> をコピーして、blog-service-top.htmlの ここにheadingモジュールが入ります。 と書いてある箇所にペーストした後、文言を ブログサービストップ にします。

この段階でのblog-service-top.htmlの全容

blog-service-top.htmlは以下のようになりました。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>中野ピク氏流CSS設計</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../stylesheets/html5reset-1.6.1.css">
<link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.10.0/css/all.css" integrity="sha384-AYmEC3Yw5cVb3ZcuHtOA93w35dYTsvhLPVnYs9eStHfGJvOvKxVfELGroGkvsg+p" crossorigin="anonymous" />
<link rel="stylesheet" href="../stylesheets/blog-service-top.css">
</head>
<body>
<div class="l-body-inner-0001">
<div class="l-body-inner-0001__header-wrapper">
<header class="mod-header-0001">
<div class="mod-header-0001__inner">
<div class="mod-header-0001__logo-area">
<a href="#" class="mod-header-0001__logo">
ロゴ
</a>
</div>
<ul class="mod-header-0001__button-group">
<li class="mod-header-0001__login-button-wrapper">
<a href="#" class="mod-button-0001 mod-button-0001--size-sm">ログイン</a>
</li>
<li class="mod-header-0001__sign-up-button-wrapper">
<a href="#" class="mod-button-0001 mod-button-0001--size-sm mod-button-0001--secondary">新規登録</a>
</li>
</ul>
</div>
</header>
</div>
<div class="l-body-inner-0001__contents-wrapper">
<div class="l-contents-type-0001">
<div class="l-contents-type-0001__heading-wrapper">
<h1 class="mod-heading-0001 mod-heading-0001--lv-1">ブログサービストップ</h1>
</div>
<div class="l-contents-type-0001__body">
ここにcontainerモジュールが入ります。
</div>
</div>
</div>
<div class="l-body-inner-0001__footer-wrapper">
<footer class="mod-footer-0001">
<div class="mod-footer-0001__copy-area">
<a href="#" class="mod-footer-0001__copy">
&copy;中野ピク氏
</a>
</div>
</footer>
</div>
</div>
</body>
</html>

表示確認

public/html/blog-service-top.html をブラウザで開いて確認してみてください。

この節のおわりに

この節では、l-contents-type-0001クラスとHTML文書構造を作成して、その中にh1見出しを設置することで、h1セクションができました。

次の節ではこのコードを読み返しながら、l-contents-type-0001の役割や特徴などについて解説していきます。

続きはこちら

とてもやさしいCSS設計チュートリアルの目次へ戻る