DIV+CSS布局

一、div和span區(qū)別
  • 塊元素與內(nèi)聯(lián)元素區(qū)別
  • 塊元素又稱塊級元素(block element)和其對應(yīng)的是內(nèi)聯(lián)元素(inline element)奶稠,都是HTML規(guī)范中的概念俯艰。
  • block元素的特點:
    • 總是在新行上開始;
    • 高度锌订,行高以及外邊距和內(nèi)邊距都可以控制竹握;
    • 寬度缺省是它的容器的100%,除非設(shè)定一個寬度辆飘;
    • 它可以容納內(nèi)聯(lián)元素和其他塊元素啦辐。
  • inline內(nèi)聯(lián)元素的特點:
    • 和其他元素都在一行上谓传;
    • 高,行高以及外邊距和內(nèi)邊距不可改變芹关;
    • 寬度就是它的文字或圖片的寬度续挟,不可改變;
    • 內(nèi)聯(lián)元素只能容納文本或者其他內(nèi)聯(lián)元素侥衬。
  • 塊元素(block element)
  • address:地址
  • blockquote:塊引用
  • center:居中對齊塊
  • dir:目錄列表
  • div:常用塊級容器诗祸,也是css layout的主要標(biāo)簽
  • dl:定義列表
  • fieldset - form:控制組
  • form:交互表單
  • h1:大標(biāo)題
  • h2:副標(biāo)題
  • h3:3級標(biāo)題
  • h4:4級標(biāo)題
  • h5:5級標(biāo)題
  • h6:6級標(biāo)題
  • hr:水平分割線
二、盒子模型介紹
  • CSS的盒子模型
  • 盒子模型是CSS的基石之一轴总,它指定元素如何顯示以及(在某種程度上)如何相互交互直颅。
  • 頁面上的每一個元素都被瀏覽器看成是一個矩形的盒子,這個盒子由元素的內(nèi)容肘习、填充际乘、邊框和邊界組成。
  • 網(wǎng)頁就是由許多個盒子通過不同的排列方式(上下排列漂佩,并列排列脖含,嵌套排列)堆積而成。
  • 盒子模型示意圖
  • 每個HTML元素都可以看做是一個裝了東西的盒子投蝉。
  • 盒子里面的內(nèi)容到盒子的邊框之間的舉例即填充(padding)养葵,盒子本身有邊框(border),而盒子邊框和其他盒子之間瘩缆,還有邊界(margin)关拒,如圖所示。
  • 默認(rèn)情況下盒子的邊框是無庸娱,背景顏色是透明着绊,所以我們在默認(rèn)情況下看不到盒子。
  • 現(xiàn)實生活中的盒子
三熟尉、盒子模型邊距填充邊框介紹
  • 元素盒子大小的計算
  • 一個元素的實際寬度=左邊界+左邊框+左填充+內(nèi)容寬度+右填充+右邊框+右邊界


  • 盒子模型的特征
  • 邊界值margin可為負(fù)归露,填充padding不可為負(fù)。
  • 邊框border默認(rèn)值是0斤儿,即不顯示剧包。
  • 行內(nèi)元素,如a往果,定義上下界不影響行高疆液。
  • 邊框是實的,我們可以看見實實在在的邊框陕贮,而邊界和填充都是虛的堕油,我們只能看到他們對元素的影響。
  • 盒子模型中只能設(shè)置兩類顏色,即邊框顏色和背景顏色馍迄。
  • 盒子模型可以設(shè)置三類距離福也,即邊界距離margin,填充距離padding和邊框值border攀圈。
  • 行內(nèi)元素的盒子永遠(yuǎn)只能在瀏覽器中得到一行高度的空間(行高由line-height屬性決定暴凑,如果沒設(shè)置該屬性,則是內(nèi)容的默認(rèn)高度)赘来,如果給它設(shè)置上下border现喳,margin,padding等值犬辰,導(dǎo)致其盒子的高度超過行高嗦篱,那么它的盒子上下部分將和其他元素的盒子重疊。
  • 因此,不推薦對行內(nèi)元素直接設(shè)置屬性,一般先設(shè)置行內(nèi)元素以塊級顯示腾窝,再設(shè)置它的盒子屬性匿级。
四融求、盒子模型屬性和默認(rèn)值編寫
  • 屬性值的簡寫形式
  • 方法是按照規(guī)定的順序,給出2個、3個或者4個屬性值,他們的含義有所區(qū)別典鸡,具體含義如下:
    • 如果給出2個屬性值,前者表示上邊框的屬性坏晦,中間的數(shù)值表示左右邊框的屬性萝玷,后者表示下邊框的屬性
    • 如果給出3個屬性值,前者表示上下邊框的屬性昆婿,后者表示左右邊框的屬性
    • 如果給出4個屬性值球碉,依次表示上、右仓蛆、下睁冬、左邊框的屬性,即順時針的排序多律。
      例如:h1{margin:10px 0px 15px 5px;}
  • 邊框border屬性
  • 盒子模型的margin和padding舒心比較簡單痴突,只能設(shè)置寬度值搂蜓,最多分別對上狼荞、右、下帮碰、左設(shè)置寬度值相味。而邊框border則可以設(shè)置寬度、顏色和樣式殉挽。
  • 分別是border-width(寬度)丰涉、border-color(顏色)和border-style(樣式)其中border-style屬性可以將邊框設(shè)置為實線(solid)拓巧、虛線(dashed)、雙線(double)等效果一死。
  • 各種元素盒子屬性的默認(rèn)值
  • 大部分HTML元素的盒子屬性(margin肛度,padding)的默認(rèn)值都是0。
  • 有少數(shù)HTML元素的(margin投慈,padding)瀏覽器默認(rèn)值不為0承耿,例如body,p伪煤,ul加袋,li,form標(biāo)記等抱既,因此我們有時有必要先設(shè)置他們的這些屬性為0职烧。
  • input元素的邊框?qū)傩阅J(rèn)值不為0,我們可以設(shè)置為0達(dá)到美化表單中輸入框和按鈕的目的防泵。
五蚀之、display屬性和實例
  • display屬性
  • 通過display屬性可控制元素是以行內(nèi)元素顯示還是以塊級元素顯示,或不顯示择克。
  • display:block|inline|none|list-item
  • inline-block行內(nèi)塊元素恬总。(CSS2.1新增的值)
  • block元素
  • block元素的特點:
    • 總是在新行上顯示
    • 高度、行高以及頂和底邊距都可控制
    • 寬度缺省是它的容器的100%肚邢,除非用width設(shè)定一個寬度
    • div壹堰、p、h1骡湖、form贱纠、ul、和li是塊級元素的例子
  • inline元素
  • inline內(nèi)聯(lián)元素的特點:
    • 和其他元素都在一行上
    • 高响蕴,行高以及外邊距和內(nèi)邊距不可改變
    • 寬度就是它的文字或圖片的寬度谆焊,不可改變
    • span、a浦夷、label辖试、input、img劈狐、strong和em是inline元素的例子罐孝。
  • 需要使用display屬性切換的情況
  • 讓一個inline元素從新行開始
  • 讓塊級元素和其他元素保持在同一行上
  • 控制inline元素的寬度
  • 控制inline元素的高度(對導(dǎo)航條特別有用)
  • 無法設(shè)定寬度即可為一個塊級元素設(shè)定與文字同寬度的背景顏色
  • inline-block行內(nèi)塊元素
  • inline-block屬性值,即是行內(nèi)元素肥缔,但又有塊元素的屬性
  • 隱藏元素display:none
  • 當(dāng)某個元素被設(shè)置成了隱藏元素之后莲兢,瀏覽器會完全忽略掉這個元素,該元素不會被顯示,也不會占用文檔中的位置改艇。像title元素默認(rèn)就是此類型收班。
  • 比較visibility:hidden
  • 制作下拉菜單、tab面板等有時就需要用display:none把菜單或面板隱藏起來谒兄。
六摔桦、浮動與清除浮動
  • 盒子的浮動
  • 在標(biāo)準(zhǔn)流中,塊級元素的盒子都是上下排列承疲,行內(nèi)元素的盒子都是左右排列的酣溃,如果僅僅按照標(biāo)準(zhǔn)流的方式進(jìn)行排列,就只有這幾種可能纪隙,限制太大赊豌。CSS的定制者也想到了這樣排列的限制問題,因此又給出了浮動和定位方式進(jìn)行盒子的排列绵咱,從而使排版的靈活性大大提高碘饼。
  • 例如:有時希望相鄰塊級元素的盒子左右排列(所有盒子浮動)或者希望一個盒子被另一個盒子的內(nèi)容環(huán)繞(一個盒子浮動)做出圖文混排的效果,這時最簡單的方法就是運用浮動(float)屬性使盒子在浮動方式下定位悲伶。
  • 代碼:未添加浮動
<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>測試</title>
   <style>
       .div1{
           background-color: red;
           width: 50px;
           height: 50px;
       }
       .div2{
           background-color: green;
           width: 50px;
           height: 50px;
       }
       .div3{
           background-color: gold;
           width: 50px;
           height: 50px;
       }
       .div4{
           background-color: black;
           width: 50px;
           height: 50px;
       }

   </style>


</head>
<body>
   <div class="div1">

   </div>
   <div class="div2">

   </div>
   <div class="div3">

   </div>
   <div class="div4">

   </div>
</body>
</html>
  • 結(jié)果:


  • 代碼:添加浮動
       .div1{
           background-color: red;
           width: 50px;
           height: 50px;
           float: left;
       }
       .div2{
           background-color: green;
           width: 50px;
           height: 50px;
           float: left;
       }
       .div3{
           background-color: gold;
           width: 50px;
           height: 50px;
           float: left;
       }
       .div4{
           background-color: black;
           width: 50px;
           height: 50px;
           float: left;
       }
  • 結(jié)果:


  • 浮動的清除
  • clear是清除浮動的屬性艾恼,它的取值有l(wèi)eft、right麸锉、both钠绍、和none(默認(rèn)值),如果設(shè)置盒子的清除浮動屬性clear值為left或right花沉,表示盒子左邊或者右邊不允許有浮動的對象柳爽。設(shè)置值為both則表示兩邊都不允許有浮動現(xiàn)象,因此該盒子將會在瀏覽器中另起一行碱屁。
  • 代碼:清除div2的浮動
       .div1{
           background-color: red;
           width: 50px;
           height: 50px;
           float: left;
       }
       .div2{
           background-color: green;
           width: 50px;
           height: 50px;
           float: left;
           clear: left;
       }
       .div3{
           background-color: gold;
           width: 50px;
           height: 50px;
           float: left;

       }
       .div4{
           background-color: black;
           width: 50px;
           height: 50px;
           float: left;
       }
  • 結(jié)果:


  • 盒子模型布局
  • 代碼:
<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>測試</title>
   <style>
       .header{
           width: 1000px;
           height: 100px;
           background-color: #b3d4fc;
           margin: auto;
       }
       .con{
           width: 1000px;
           height: 50px;
           background-color: #c0c0c0;
           margin: auto;
       }
       .main{
           width: 1000px;
           background-color: #c0c0c0;
           margin: auto;
       }
       .nav{
           width: 200px;
           background-color: red;
           height: 500px;
           float: left;
           margin: 0px 10px;
       }
       .content{
           width: 500px;
           background-color: green;
           height: 500px;
           float: left;
           margin: 0px 30px;
       }
       .side{
           width: 200px;
           background-color: blue;
           height: 500px;
           float: left;
           margin: 0px 10px;
       }
       .footer{
           width: 1000px;
           background-color: #ff00ff;
           height: 100px;
           margin: auto;
           float: left;
       }
   </style>


</head>
<body>
   <div class="header">頂部</div>
   <div class="con">菜單</div>
   <div class="main">
       <div class="nav">內(nèi)容1</div>
       <div class="content">內(nèi)容2</div>
       <div class="side">內(nèi)容3</div>
       <div class="footer">
           地址:XXXXXXXXX  電話:XXXXXXXXX
       </div>
   </div>
</body>
</html>
  • 結(jié)果:


七磷脯、用CSS posistion屬性來定位
  • CSS定位
  • CSS定位(posistion)屬性允許你對元素進(jìn)行定位。
  • CSS定位和浮動提供了一些屬性娩脾,利用這些屬性赵誓,可以建立列式布局,將布局的一部分與另一部分重疊柿赊,還可以完成多年來通常需要使用多個表格才能完成的任務(wù)俩功。
  • CSSposistion屬性
  • 通過使用該屬性,我們可以選擇4種不同類型的定位碰声,這會影響元素框生成的方式诡蜓。
  • position屬性值的含義:
    • static元素框正常生成。塊級元素生成一個矩形框奥邮,作為文檔流的一部分万牺,行內(nèi)元素則會創(chuàng)建一個或多個行框,置于其父元素中洽腺。
    • relative元素框偏移某個距離脚粟。元素仍然保持其未定位前的形狀,他原本所占用的空間仍保留蘸朋。
    • absolute元素框從文檔流完全刪除核无,并相對于其包含塊定位。包含塊可能是文檔中的另一個元素或者初始包含塊藕坯。元素原先在正常文檔流中所占用的空間會關(guān)閉团南,就好像元素原來不存在一樣。元素定位后生成一個塊級框炼彪,而不論原來它在正常流中生成何種類型的框吐根。
    • fixed元素框的表現(xiàn)類似于position設(shè)置absolute,不過其包含塊是視窗本身辐马。
  • 代碼:
<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>測試</title>
   <style>
       body{
           border:1px red solid;
       }
       div{
           width:140px;
           height:100px;
       }
       #ha{
           border:1px red solid;
           background-color:red;
           position:absolute;
           top:40px;
           left:40px;
           z-index:5;
       }
       #hi{
           border:2px green solid;
           background-color:green;
           position:absolute;
           top:80px;
           left:80px;
           z-index:7;
       }
       #xi{
           border:3px orange solid;
           background-color:orange;
           position:absolute;
           top:140px;
           left:140px;
           z-index:3;
       }
       #img1{
           width:400px;
           height:300px;

       }
       #img2{
           position:absolute;
           top:100px;
           left:200px;
       }
   </style>
</head>
<body>

   <div id="ha">哈哈哈哈</div>
   <div id="hi">嘿嘿嘿嘿</div>
   <div id="xi">嘻嘻嘻嘻</div>
   <img src="img/大師兄1.png" id="img1"/>
   <img src="img/大師兄.jpg" id="img2"/>

</body>
</html>
  • 結(jié)果:


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拷橘,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子喜爷,更是在濱河造成了極大的恐慌冗疮,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件檩帐,死亡現(xiàn)場離奇詭異术幔,居然都是意外死亡,警方通過查閱死者的電腦和手機湃密,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門诅挑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人泛源,你說我怎么就攤上這事揍障。” “怎么了俩由?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵毒嫡,是天一觀的道長。 經(jīng)常有香客問我幻梯,道長兜畸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任碘梢,我火速辦了婚禮咬摇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘煞躬。我一直安慰自己肛鹏,他們只是感情好逸邦,可當(dāng)我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著在扰,像睡著了一般缕减。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上芒珠,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天桥狡,我揣著相機與錄音,去河邊找鬼皱卓。 笑死裹芝,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的娜汁。 我是一名探鬼主播嫂易,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼掐禁!你這毒婦竟也來了炬搭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤穆桂,失蹤者是張志新(化名)和其女友劉穎宫盔,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體享完,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡灼芭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了般又。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片彼绷。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖茴迁,靈堂內(nèi)的尸體忽然破棺而出寄悯,到底是詐尸還是另有隱情,我是刑警寧澤堕义,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布猜旬,位于F島的核電站,受9級特大地震影響倦卖,放射性物質(zhì)發(fā)生泄漏洒擦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一怕膛、第九天 我趴在偏房一處隱蔽的房頂上張望熟嫩。 院中可真熱鬧,春花似錦褐捻、人聲如沸掸茅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽昧狮。三九已至景馁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間陵且,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工个束, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留慕购,地道東北人。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓茬底,卻偏偏與公主長得像沪悲,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子阱表,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 各種純css圖標(biāo) CSS3可以實現(xiàn)很多漂亮的圖形殿如,我收集了32種圖形,在下面列出最爬。直接用CSS3畫出這些圖形涉馁,要比...
    劍殘閱讀 9,546評論 0 8
  • 一、CSS入門 1爱致、css選擇器 選擇器的作用是“用于確定(選定)要進(jìn)行樣式設(shè)定的標(biāo)簽(元素)”烤送。 有若干種形式的...
    寵辱不驚丶?xì)q月靜好閱讀 1,595評論 0 6
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)糠悯。 注意:講述HT...
    kismetajun閱讀 27,485評論 1 45
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案帮坚? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補...
    _Yfling閱讀 13,751評論 1 92
  • http://www.reibang.com/p/ce8e09cda486
    愛你忘了熟悉閱讀 179評論 0 0