盒子模型的相關(guān)屬性 margin(外邊距/邊界) border(邊框) padding(內(nèi)邊距/填充 )
我們看圖理解一下各屬性作用:
以上屬性又分為上、右、下、左四個方向 問題:頁面元素的寬度width、高度height如何計算? 答案:元素的實際占位尺寸 = 元素尺寸 + padding + 邊框?qū)挾?br> 比如:元素實際占位高度 = height屬性 + 上下padding + 上下邊框?qū)挾?/strong>
9、盒模型的層次關(guān)系
我們通過一個經(jīng)典的盒模型3D立體結(jié)構(gòu)圖來理解,如圖:
從上往下看,層次關(guān)系如下:
第1層:盒子的邊框(border), 第2層:元素的內(nèi)容(content)、內(nèi)邊距(padding) 第3層:背景圖(background-image) 第4層:背景色(background-color) 第5層:盒子的外邊距(margin)
從這個層次關(guān)系中可以看出,當(dāng)同時設(shè)置背景圖和背景色時,背景 圖將在背景色的上方顯示
11、水平居中和垂直居中
水平居中包含兩種情況: 塊級元素的水平居中:margin:0px auto; 文字內(nèi)容的水平居中:text-align: center; 垂直居中: 常見的單行文字的垂直居中可設(shè)置文字所在行的height與 行高樣式屬性一致,比如: div{ width: 400px; height: 400px; line-height: 400px;/*行高與div高度一致*/ }
13、首頁布局CSS + DIV代碼分析
HTML結(jié)構(gòu)代碼: <div id='container'> <div id='header'>頂部(header)</div> <div id='main'>主體部分(main)</div> <div id='footer'>底部(footer)</div> </div> CSS樣式代碼: /*主面板樣式*/ #container { width:980px; margin:0px auto;/*主面板DIV居中*/ } /*頂部面板樣式*/ #header { width:100%; height:150px; border:1px #F00 solid; } /*中間部分面板樣式*/ #main { width:100%; height:400px; border:1px #F00 solid; } /*底部面板樣式*/ #footer { width:100%; height:100px; border:1px #F00 solid; }
14、為什么需要float浮動屬性? 我們來看看下圖:
問題:如何讓商品分類DIV、內(nèi)容DIV和右側(cè)DIV并排放置? 答案:使用float(浮動)樣式
15、浮動屬性
理解浮動屬性首先要搞清楚,什么是文檔流? 文檔流:瀏覽器根據(jù)元素在html文檔中出現(xiàn)的順序, 從左向右,從上到下依次排列 浮動屬性是CSS中的定位屬性,用法如下: float: 浮動方向(left、right、none);
left為左浮動、right為右浮動、none是默認(rèn)值表示不浮動 ,設(shè)置元素的浮動,該元素將脫離文檔流,向左或向右移動 直到它的外邊距碰到父元素的邊框或另一個浮動元素的邊 框為止
浮動示例,沒有使用浮動的3個DIV: HTML結(jié)構(gòu)代碼: <div id='first'>第1塊div</div> <div id='second'>第2塊div</div> <div id='third'>第3塊div</div>
CSS樣式代碼: #first, #second, #third{ width:100px; height:50px; border:1px #333 solid; margin:5px; }
執(zhí)行效果如圖: 樣式中加入 float:left; 執(zhí)行效果如圖: 你再修改為 float: right試試右浮動是什么效果 16、讓商品分類DIV、內(nèi)容DIV和右側(cè)DIV并排放置
HTML結(jié)構(gòu)代碼:
Java代碼 <div id='container'> <div id='header'>頂部(header)</div> <div id='main'> <div class='cat'>商品分類(cat)</div> <div class='content'>內(nèi)容(content)</div> <div class='sidebar'>右側(cè)(sidebar)</div> </div> <div id='footer'>底部(footer)</div> </div>
<div id='container'>
<div id='header'>頂部(header)</div>
<div id='main'>
<div class='cat'>商品分類(cat)</div>
<div class='content'>內(nèi)容(content)</div>
<div class='sidebar'>右側(cè)(sidebar)</div>
</div>
<div id='footer'>底部(footer)</div>
</div>
CSS樣式代碼(在第13節(jié)CSS代碼基礎(chǔ)上加入):
.cat, .sidebar { float:left; width:20%; height:100%; } .content { float:left; width:60%; height:100%; }
17、clear清除
clear只對塊級元素有效,表示如果前一個元素存在左浮動或右浮動,則換行 clear屬性的取值:rigth、left、both、none
18、總結(jié) html中的布局非常重要,下面我來簡單介紹一下。 工具/原料方法/步驟觀察圖片構(gòu)成。總共十一個板塊。首先要有一個大的div包含所有,背景色等。
.background{ background-color: #008000; height: 800px; width: 420px; margin: 0 auto; }
.a1{ height: 80px; width: 200px; background: #fff; margin-left: 50px; margin-top: 10px; margin-right: 10px; float: left;
.a2{height: 80px; width: 100px; background-color: #fff; margin-top: 10px; float: left; } .a3{ height: 80px; width: 310px; background-color: #FFFFFF; margin-left: 50px; margin-top: 10px; float: left; } .a4{ height: 80px; width: 310px; background-color: #FFFFFF; margin-left: 50px; float: left; margin-top: 10px;
.a5{ height: 80px; width: 150px; background: #fff; margin-left: 50px; margin-top: 10px; margin-right: 10px; float: left; } .a6{height: 80px; width: 150px; background-color: #fff; margin-top: 10px; float: left; } .a7{height: 50px; width: 310px; background-color: #fff; margin-top: 10px; margin-left: 50px; float: left; } .a8{ height: 80px; width: 150px; background: #fff; margin-left: 50px; margin-top: 10px; margin-right: 10px; float: left; }
.a9{height: 80px; width: 150px; background-color: #fff; margin-top: 10px; float: left; } .a10{height: 80px; width: 310px; background-color: #fff; margin-top: 10px; float: left; margin-left: 50px; } .a11{height: 80px; width: 310px; background-color: #fff; margin-top: 10px; float: left; margin-left: 50px; margin-bottom: 10px; } </style>
</head> <body> <div > <div class='background'> <div class='a1'>1</div> <div class='a2'>2</div> <div class='a3'>3</div> <div class='a4'>4</div> <div class='a5'>5</div> <div class='a6'> 6</div> <div class='a7'>7</div> <div class='a8'>8</div> <div class='a9'>9</div> <div class='a10'>10</div> <div class='a11'>11</div> </div> </div> </body> </html> END
|