@@ -16,35 +16,108 @@ import Details from "@theme/Details";
1616
1717## 1. ブロックレベル要素とインライン要素
1818
19- 1 . 以下の点について、ブロックレベル要素とインライン要素の挙動の違いを確認してみましょう。見た目だけでなく、開発者ツールを用いて値がどうなっているか調べてみましょう。
19+ ### 問題 1
2020
21- - ` width ` , ` height ` の設定が反映されるかどうか。
22- - ` margin ` の設定が反映されるかどうか。
23- - ` padding ` を設定するとどのように表示されるか。
24- - ` font-size ` を設定し、` width ` , ` height ` を設定しないとき、要素の大きさはどうなるか。
21+ 以下の点について、ブロックレベル要素とインライン要素の挙動の違いを確認してみましょう。見た目だけでなく、開発者ツールを用いて値がどうなっているか調べてみましょう。
2522
26- 2 . 以下のように、` div ` 要素の中に ` div ` 要素を配置するとどのように表示されるでしょうか。` span ` 要素の中に ` span ` 要素を配置した場合はどうでしょうか。また、上に挙げた CSS プロパティを外側の要素にのみ設定した場合や、内側の要素にも値を設定した場合にどうなるか調べてみましょう。
23+ - ` width ` , ` height ` の設定が反映されるかどうか。
24+ - ` margin ` の設定が反映されるかどうか。
25+ - ` padding ` を設定するとどのように表示されるか。
26+ - ` font-size ` を設定し、` width ` , ` height ` を設定しないとき、要素の大きさはどうなるか。
2727
28- ``` html title="index.html"
29- <body >
30- <div class =" box1" >
31- A
32- <div class =" box2" >B</div >
33- C
34- </div >
35- </body >
36- ```
28+ #### 解説
3729
38- ### 解説
30+ < Answer >
3931
40- < Details summary = {<summary >解説</ summary >}>
32+ 以下に示したコードの CSS プロパティの値を変えてみて、挙動を調べてみましょう。
4133
4234- ブロックレベル要素は ` width ` , ` height ` の値を設定できますが、インライン要素はできません。
4335- ブロックレベル要素は ` margin ` を上下左右に設定できますが、インライン要素は左右しか設定できません。
4436- ブロックレベル要素に上下の ` padding ` を設定すると、余白が他の要素に被らないように縦の位置が調整されます。一方、インライン要素に上下の ` padding ` を設定した場合、要素の縦の位置が調整されず他の要素に被って表示されます。
4537- ブロックレベル要素の ` height ` やインライン要素の ` width ` , ` height ` の初期値は、中身の要素の大きさによって決まるので、` font-size ` を変更することで大きさが変化します。また、開発者ツールで値を調べてみると、インライン要素の大きさは文字の大きさと同じになるのに対し、ブロックレベル要素の ` height ` は ` font-size ` の 1.5 倍になることがわかります。
4638
47- </Details >
39+ ``` html title="index.html"
40+ <!DOCTYPE html>
41+ <html lang =" ja" >
42+ <head >
43+ <meta charset =" utf-8" />
44+ <title >Title</title >
45+ <link rel =" stylesheet" href =" style.css" />
46+ </head >
47+ <body >
48+ <div class =" block" >block</div >
49+ <span class =" inline" >inline</span >
50+ </body >
51+ </html >
52+ ```
53+
54+ ``` css title="style.css"
55+ .block {
56+ background-color : lightcoral ;
57+ width : 100px ;
58+ height : 50px ;
59+ margin : 10px ;
60+ padding : 30px ;
61+ font-size : 30px ;
62+ }
63+
64+ .inline {
65+ background-color : lightblue ;
66+ width : 100px ;
67+ height : 50px ;
68+ margin : 10px ;
69+ padding : 30px ;
70+ font-size : 30px ;
71+ }
72+ ```
73+
74+ <ViewSource url ={import.meta.url} path =" _samples/block-inline1 " />
75+
76+ </Answer >
77+
78+ ### 問題 2
79+
80+ 以下のように、` div ` 要素の中に ` div ` 要素を配置するとどのように表示されるでしょうか。` span ` 要素の中に ` span ` 要素を配置した場合はどうでしょうか。また、上に挙げた CSS プロパティを外側の要素にのみ設定するとどうなるか調べてみましょう。
81+
82+ ``` html title="index.html"
83+ <body >
84+ <div class =" box1" >
85+ A
86+ <div class =" box2" >B</div >
87+ C
88+ </div >
89+ </body >
90+ ```
91+
92+ #### 解説
93+
94+ <Answer >
95+
96+ - 画像のように、` div ` 要素の場合は縦方向に、` span ` 要素の場合は横方向に挟まるように表示されます。
97+
98+ ![ div要素の場合] ( divElement.png )
99+ ![ span要素の場合] ( spanElement.png )
100+
101+ - CSS プロパティの一部は、親要素のものが継承されます。例えば ` font-size ` は、外側の要素に設定した値が自動的に内側の要素にも反映されます(もちろん、手動で別の値を設定することも可能です)。一方、` margin ` や ` padding ` などは反映されません。以下のような CSS ファイルを作成して、挙動を調べてみましょう。
102+
103+ ``` css title="style.css"
104+ .box1 {
105+ background-color : lightcoral ;
106+ width : 100px ;
107+ height : 100px ;
108+ margin : 10px ;
109+ padding : 30px ;
110+ font-size : 30px ;
111+ }
112+
113+ .box2 {
114+ background-color : lightblue ;
115+ }
116+ ```
117+
118+ <ViewSource url ={import.meta.url} path =" _samples/block-inline2 " />
119+
120+ </Answer >
48121
49122---
50123
0 commit comments