Box Model
緒論
Box Modelは久しぶりです.
後輩に質問された時、私はただ答えればいいのですが、私は持っていませんでした.
考えてみると、css、htmlをよく勉強したことがないようです.
もし面接の質問にこのような質問があったら、私はどのように答えますか?
このような後輩や他の人が質問したらどうしますか?
他のhtml部分とcssはどうですか?
この考えは徐々に私の脳を蚕食し、だんだん不安に陥った.
自分が知らないことを他人が知っていれば、人間は二つの反応をする.
不安になったり、意志が燃えたりします.後者になりたい.
Box Model?
ある程度、フロントを経験した人は必ず使ったことがあります.
Boxモデルはhtml要素の大きさを指定するやつを指す用語と考えている.
写真ソース:MDN Box Model
このテーマについて説明しすぎた写真があったので持ってきました.
まず中からゆっくり理解します.
Content
Contentはhtmlに必要な情報を直接示す場所だと思います.
htmlコードで直接見ましょう
<div style="font-size: 20px; width: 100px; height: 100px">
hello world hello world hello world hello world
</div>
次のビューが表示されます.△隣に空きがあるのは、写真を撮りやすいように、中心を上に置いたからです.
この要素を参照するには、ここの開発者モード(F 12)をクリックします.
以下のように見える.ここを見ると青い箱が100*100と表記されていて、
その部分は内容部分です.contentはwidthとheightによって決定される.
padding
paddingは、コンテンツと後で現れるborderとの間隔を調整するためのスペースと考えられています.
ここでpaddingはwidthとheightの影響を受けない.
widthとheightにpaddingを含める場合は、cssプロパティbox-size:border-boxを使用します.
cssはpadding:サイズ;のように使えばいいです.
実例でテストしてみます.
<div
style="
font-size: 20px;
width: 100px;
height: 100px;
padding: 20px
border: 1px solid black;
"
>
次の写真を見るとborder(黒い線、後述)とcontentが少しずれているのが見えますか?それはpadding:20 pxが完成した仕事です.
f 92をクリック
paddingの合計は20であることがわかります.
(borderを一時的に与えたので値を含む)
ここでbox-size:border-boxをあげたらどうなりますか?
<div
style="
font-size: 20px;
width: 100px;
height: 100px;
padding: 20px
border: 1px solid black;
box-sizing: border-box;
"
>
内容の長さはpaddingのように減少していると考えられ,文字の氾濫が見られる.
border
borderは要素の境界を表すと考えている.
それ以外に特別な点はありません.box-size:border-boxを実行しても、borderはwidth、heightに影響しません.
cssはborder:(サイズ)(どのborderを書くか)(太さ);使用します.
実際に使ってみましょう.
<div
style="
font-size: 20px;
width: 100px;
height: 100px;
border: 1px dotted red;
"
>
contentを囲む赤い点が表示されます.(paddingは付与されていないのでpaddingはありません.)
開発者モードを開いて確認します.
こんな感じに見えます.border 1 pxを与えたが,css計算ではいくつかの誤差が生じる可能性がある.
margin
marginは要素と他の要素の間の間隔を意味すると思います.
エレメントの位置を調整するのによく使用されます.もちろんwidth、heightは含まれません.
cssはmargin:サイズ;使用します.
実際のコードで理解してみましょう.
<div
style="
font-size: 20px;
width: 100px;
height: 100px;
border: 1px dotted black;
margin: 100px;
"
>
hello world hello world hello world hello world
</div>
<div
style="
font-size: 20px;
width: 100px;
height: 100px;
background-color: red;
"
>
hello world hello world hello world hello world
</div>
これにより、白い要素と赤い要素の間の間隔が空であることがわかります.
その部分は余白です.
開発者モードで確認します.
余白が見える.
n/a.結論
htmlを見てみましょう.
Reference
この問題について(Box Model), 我々は、より多くの情報をここで見つけました https://velog.io/@pandati0710/Box-Modelテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol