CSSスタイル----ボックスモデル(図文詳細)
16964 ワード
ケースモデル
ボックス内の領域
1つの箱の主な属性はwidth、height、padding、border、marginの5つです.次のようになります.
ボックスモデルの概略図:
コードのデモ:
上の箱、width:200 px;height:200px; しかし、実際に占有されている幅は302*302です.これはpadding、borderも加わるからです.注意:幅と実際の占有幅は、コンセプトではありません!
width、heightを知っています
先端開発エンジニアの目には、世界のすべてが異なることを知っておく必要があります.
例えば、原稿用紙を測ると、先端開発エンジニアは内容の幅だけを測ることができます.
下の2つの箱は、実際に幅が広く、302*302です.
ケース1:
.box1{
width: 100px;
height: 100px;
padding: 100px;
border: 1px solid red;
}
ケース2:
.box2{
width: 250px;
height: 250px;
padding: 25px;
border: 1px solid red;
}
実占有幅=左border+左padding+width+右padding+右border
上の2つの箱の箱の模型図は以下の通りです.
箱の真の占有幅を維持したい場合は、widthを加えるときにpaddingを減らします.paddingを加えるときはwidthを減らします.箱が太ったのは災難的なので、他の箱を押し下げることになります.
PS:テクニック:sublime textでは、
border:1px solid red;
という属性を素早く入力するために、bd
を直接入力し、2番目の後戻りを選択することができます.認識padding
paddingエリアにも色があります
paddingは内側の余白です.paddingの領域には背景色があり、css 2.1を前提とし、背景色は必ずコンテンツ領域と同じである.すなわちbackground-colorはすべてのboder以内の領域を埋めます.
効果は次のとおりです.
paddingには4つの方向があります
paddingは4方向なので,それぞれ4方向のpaddingを記述することができる.
方法は2種類あり、1つ目は小さな属性を書く.2つ目は、スペースで区切られた総合プロパティを書きます.
小属性の書き方:
padding-top: 30px;
padding-right: 20px;
padding-bottom: 40px;
padding-left: 100px;
総合属性の書き方:(上、右、下、左)(スペースで区切る)
padding:30px 20px 40px 100px;
4つの値が書かれている場合は、上、右、下、左の順になります.
3つの値しか書かれていない場合は、上、右、下の順になります.??右と同じです.
2つの値しか書かれていない場合は、次のようにします.
padding: 30px 40px;
順序は、30 px 40 px 30 px 40 pxに等価である.
小さな属性で大きな属性を積層することを理解してください.例:
padding: 20px;
padding-left: 30px;
上のpadding対応ボックスモデルは次のとおりです.
以下の書き方:
padding-left: 30px;
padding: 20px;
2行目の大きな属性に積層されているため、1行目の小さな属性は無効です.
次の問題は、できます.分かりました.
いくつかのテーマ
タイトル1:下の箱が本当に幅を占めていることを言って、そして箱の模型図を描きます.
div{
width: 200px;
height: 200px;
padding: 10px 20px 30px;
padding-right: 40px;
border: 1px solid #000;
}
答え:
タイトル2:下の箱が本当に幅が広いことを言って、そして箱の模型図を描きます.
div{
width: 200px;
height: 200px;
padding-left: 10px;
padding-right: 20px;
padding:40px 50px 60px;
padding-bottom: 30px;
border: 1px solid #000;
}
答え:
padding-left:10px;
とpadding-right:20px;
は役に立たない.後ろのpaddingの大きな属性のため、彼らを積層した.箱の模型は以下の通りです.
テーマ3:今あなたに箱の模型図をあげて、コードを書いて、最も簡単な方法で書いてみてください.
答え:
width:123px;
height:123px;
padding:20px 40px;
border:1px solid red;
テーマ4:今あなたに箱の模型図をあげて、コードを書いて、最も簡単な方法で書いてみてください.
答え:
width:123px;
height:123px;
padding:20px;
padding-right:40px;
border:1px solid red;
いくつかの要素、デフォルトはpaddingです
いくつかの要素は、デフォルトでは
padding
(ulラベルなど)があります.次のようになります.上図に示すように、スタイルを付けないulも、40 pxのpadding-leftがあります.
だから、私たちが駅を作るとき、コントロールしやすいように、いつもこのデフォルトのpaddingをクリアするのが好きです.
*
を使用してパージできます. *{
margin: 0;
padding: 0;
}
しかし、
*
は効率が悪いので、パラレルセレクタを使用して、すべてのラベルを羅列します(背中を押さずに、デフォルトのスタイルをクリアする専門のスタイルシートがあります.今後勉強します):body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
margin:0;
padding:0;
}
borderを知る
borderは枠線です.枠線には、ピクセル(太さ)、線型、色の3つの要素があります.
色を書かない場合、デフォルトは黒です.他の2つの属性は書かないで、命がけで、枠が表示されません.
border-style
borderのすべての線形は以下の通りです(
CSS
を参照して入手できます).例えば
border:10px ridge red;
という属性は、chromeとfirefox、IEで微妙な違いがあります:(効果を示すことができるので、互換性の問題ではなく、わずかな違いがあるだけです)社内のデザイナーが乙女座で、極めて高いページ復元度を求めている場合は、cssを使って枠線を作ることはできません.画像を使うので、図を切ります.
だから、比較的安定したborder-styleはいくつかあります:solid、dashed、dotted.
border分割
borderは大きな総合属性です.たとえば、
border:1px solid red;
4つの枠線を1 px幅、線型実線、red色に設定します.
borderプロパティは分解できます.2つの方法があります.
一つのborder属性は,3つの小さな属性が統合されていることが分かった.小さなアトリビュートの後ろにスペースで区切られた複数の値がある場合は、上下左の順序になります.例を次に示します.
border-width:10px 20px;
border-style:solid dashed dotted;
border-color:red green blue yellow;
効果は次のとおりです.
(1)三要素による解体:
border-width:10px; //
border-style:solid; //
border-color:red; // 。
次のように等価です.
border:10px solid red;
(2)方向別に取り外す:
border-top:10px solid red;
border-right:10px solid red;
border-bottom:10px solid red;
border-left:10px solid red;
次のように等価です.
border:10px solid red;
(3)三要素と方向で分解する:(各方向の、各要素を分解する.3*4=12)
border-top-width:10px;
border-top-style:solid;
border-top-color:red;
border-right-width:10px;
border-right-style:solid;
border-right-color:red;
border-bottom-width:10px;
border-bottom-style:solid;
border-bottom-color:red;
border-left-width:10px;
border-left-style:solid;
border-left-color:red;
次のように等価です.
border:10px solid red;
仕事ではいったい何を使いますか.简単な答え:简単なものは何ですか.例を次に示します.
上の効果を実現するために、書き方は以下の通りです.
border:10px solid red;
border-right-color:blue;
上の効果を実現するために、書き方は以下の通りです.
border:10px solid red;
border-style:solid dashed;
borderは以下のことができます.
border:none;
エッジが1つもない場合は、次の操作を行います.
border-left: none;
左側の枠線の幅を0にすることもできます.
border-left-width: 0;
例:borderプロパティを使用して三角形を描く(テクニック)
手順は次のとおりです.
(1)ボックスのwidthとheightを0に設定すると、次のような効果が得られます.
(2)borderの下部をキャンセルします.
(3)最後にborderの左と右を白に設定します.
これで、三角形が描けます.