teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

flexを使用する方法を追記しました。

2020/03/18 22:38

投稿

new1ro
new1ro

スコア4528

answer CHANGED
@@ -32,4 +32,60 @@
32
32
  > また、右ブロック「問い合わせ」部分の色・位置はpのidやclassなどでは無視されてしまうのですが、ほかにどのようなやり方がございますでしょうか。
33
33
 
34
34
  無視されてしまうのは全角スペースが紛れ込んでいたからだと思います。
35
- また、現在背景色と文字色が別の要素に指定されていますが、これらは1つの要素にまとめたほうがいいと考えます。(適当に、どこかのサイトを参考にしてみてください。だいたいは、背景色、文字色、paddingは1つのタグにまとまっていると思います。)
35
+ また、現在背景色と文字色が別の要素に指定されていますが、これらは1つの要素にまとめたほうがいいと考えます。(適当に、どこかのサイトを参考にしてみてください。だいたいは、背景色、文字色、paddingは1つのタグにまとまっていると思います。)
36
+
37
+ ---
38
+ display: flex; 記述例について追記しました。
39
+ ```HTML
40
+ <section class="bg-gray">
41
+ <div class="flex">
42
+ <div>
43
+ <p>
44
+ <span>TEL 00-0000-0000</span><br>
45
+ <span class="text-sm">(受付時間 平日 9:00~17:00)</span>
46
+ </p>
47
+ </div>
48
+ <div>
49
+ <a class="btn" href="">問い合わせボタン</a>
50
+ </div>
51
+ </div>
52
+ </section>
53
+ ```
54
+ ```CSS
55
+ .bg-gray {
56
+ padding: 20px 0;
57
+ background: #ddd;
58
+ }
59
+
60
+ /* [1] 左右に配置する方法。.flexの子要素を1つ追加すると横3つ分割になる。 */
61
+ .flex {
62
+ display: flex;
63
+
64
+ /* flex以外 */
65
+ margin: 0 auto;
66
+ width: 600px;
67
+ background: #aaa;
68
+ }
69
+ .flex > * {
70
+ /* display: flex;の子要素のうち、flex-grow: 1;が指定された要素は余った横幅を分け合う */
71
+ flex: 1 1 0%;
72
+
73
+ /* flex以外 */
74
+ padding: 20px;
75
+ }
76
+
77
+ /* [2] flexで子要素を上下左右の中央配置する方法。理解したら↑とまとめてください */
78
+ .flex > * {
79
+ display: flex;
80
+ align-items: center; /* 子要素を上下中央揃え */
81
+ justify-content: center; /* 子要素を左右中央揃え */
82
+ }
83
+
84
+ /* ボタンは以下のようにpadding、background、colorをまとめて記述 */
85
+ .btn {
86
+ padding: 10px 20px;
87
+ background: red;
88
+ color: white;
89
+ display: inline-block;
90
+ }
91
+ ```

1

説明を追加

2020/03/18 22:38

投稿

new1ro
new1ro

スコア4528

answer CHANGED
@@ -20,4 +20,16 @@
20
20
 
21
21
  インデントが整っていないと、閉じタグがないといった初歩的なバグは発見に何時間もかかってしまうことがあるので、整えていった方が楽できます。
22
22
 
23
- あと、`<p id="contact-box">お問い合わせ</p>`には全角スペースがあったため、ソースコード全体を全角スペースで検索して不適切に使われていないか探した方がいいと思います。
23
+ あと、`<p id="contact-box">お問い合わせ</p>`には全角スペースがあったため、ソースコード全体を全角スペースで検索して不適切に使われていないか探した方がいいと思います。
24
+
25
+ ---
26
+ コメント追記
27
+ > こちらのパターンですとflexではなく別のものを使うべきなのでしょうか。
28
+
29
+ display: flex;を使うのに適した箇所です!
30
+ 逆にpositionを使うようなシチュエーションではないと考えます。
31
+
32
+ > また、右ブロック「問い合わせ」部分の色・位置はpのidやclassなどでは無視されてしまうのですが、ほかにどのようなやり方がございますでしょうか。
33
+
34
+ 無視されてしまうのは全角スペースが紛れ込んでいたからだと思います。
35
+ また、現在背景色と文字色が別の要素に指定されていますが、これらは1つの要素にまとめたほうがいいと考えます。(適当に、どこかのサイトを参考にしてみてください。だいたいは、背景色、文字色、paddingは1つのタグにまとまっていると思います。)