css布局-盒模型

1、盒模型的初步認識
一個真正的盒子包括:內容寬落剪,內容高输玷,邊框,內邊距楔敌,外邊距
width:內容寬
height:內容高
padding:內邊距
border:邊框
margin:外邊距
內容部分:內容寬width啤挎,內容高height
盒子占有的位置:
寬=width+padding-left+padding-right+border2
高=height+padding-top+padding-bottom+border
2

例:

div{
    width:470px;
    height:370px;
    padding: 10px;
    border:5px solid #333;
    margin:10px;
    }
PVE81X0G2I.png

渲染background-color/background-image的位置:border以內
實際工作中,給出的一般是盒子真正占有的寬或者高,需要手動計算出內容寬或者內容高庆聘。

2胜臊、padding
padding是一個復合屬性,可以按照方向進行劃分伙判。四個方向可以不同值象对。
padding-left
padding-right
padding-top
padding-bottom
可以直接書寫復合屬性:
四值法:
padding:10px 20px 30px 40px; (上,右宴抚,下勒魔,左)
三值法:
padding:10px 20px 30px; (上,左右菇曲,下)(左取右的值20px)
二值法:
padding:10px 20px; (上下冠绢,左右)
單值法:
padding:10px;(上下左右一個值)
一般使用單值法書寫主要padding,特殊方向的內邊距再單獨設置常潮。(利用層疊性)

3弟胀、margin
外邊距,兩個盒子之間的距離喊式。
復合屬性孵户,可以按照方向進行劃分。四個方向可以不同值岔留。
margin-left:
margin-right:
margin-top:
margin-bottom:
可以直接書寫復合屬性:
四值法:
margin:10px 20px 30px 40px; (上夏哭,右,下献联,左)
三值法:
margin:10px 20px 30px; (上竖配,左右,下)(左取右的值20px)
二值法:
margin:10px 20px; (上下里逆,左右)
單值法:
margin:10px;(上下左右一個值)
一般使用單值法書寫主要margin械念,特殊方向的內邊距再單獨設置。(利用層疊性)

4运悲、border
邊框,復合屬性项钮。
復合屬性寫法:
border:1px solid #333;
線型:
solid 實線
dashed 虛線
dotted 點線
double 雙線 班眯,取決于線寬,線寬至少3px
groove 邊框凹槽效果
ridge 邊框凸起效果
inset 內容區(qū)域凹陷效果
outset 內容區(qū)域突出效果
border可以進行拆分:
①按照類型進行劃分烁巫,以下三個屬性值必須寫全:
border-width
border-style
border-color
②按照方向劃分,每個方向上border-width署隘、border-style、border-color三個屬性值也必須寫全
例:
border-left:5px solid #333;
③以上兩種方式的合并(先寫方向亚隙,再寫類型):
border-left-width:
border-left-style:
border-left-color:

利用border書寫小三角:

<div class="box"></div>
.box{
    width: 0;
    height: 0;
    border:30px solid #fff;
    border-top-color:red;
    border-bottom:none;   //可以不設置該條屬性值磁餐,設置了該條屬性值可以減小一半小三角占的位置。
    }

④border-collapse:
屬性值:
separate:默認值,分離诊霹;
collapse:塌陷羞延,制作單線表格。

table,tr,td{
            border: 1px solid #000;
            border-collapse: collapse;
        }
td{
            width:50px;
            height: 30px;
        }

二脾还、盒模型拓展
1.清除默認樣式
比如body伴箩、ul、li鄙漏、dl嗤谚、p等默認的padding和margin;
ul前的小圓點怔蚌,ol前的數(shù)字巩步;
a標簽的下劃線。
書寫css第一步先清除默認樣式桦踊。

 /*清除默認樣式*/
*{
  padding:0;
  margin:0;
 }
 ul,ol{
 list-style: none;
 }
a{
  text-decoration: none;
}

2椅野、寬度剩余法
一般在設置樣式時,左內邊距是確定的钞钙,右側根據(jù)內容的不同剩余的右內邊距不確定鳄橘。利用寬度剩余法,直接給盒子一個足夠的寬度芒炼,左內邊距需要設置瘫怜,右側根據(jù)內容的多少剩余多少就是多少。
例:

<ul>
    <li>你是哪里人</li>
    <li>為什么那么多人要去南方</li>
    <li>到底哪里的人最熱情好客是不是哈哈哈哈或</li>
    <li>哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦</li>
    <li>的點點滴滴多</li>
</ul>
ul{
    width:500px;
    list-style: none;
    padding-left: 10px;
    padding-right: 0;   //該條屬性值可以不設置本刽,不影響
    border: 1px solid #000;
    }
clipboard.png

3鲸湃、height
書寫頁面時通常不設置height,直接利用內容高撐開盒子的高度子寓“堤簦“通常”指的是書寫新聞頁面等內容時多時少的情況下斜友。

4炸裆、margin
1.margin垂直方向的塌陷
模型:有兩個上下排列的盒子,上盒子有一個下margin鲜屏,下盒子有一個上margin烹看。兩個盒子的間距不是他們的margin之和。因為有垂直方向的塌陷洛史,小margin會塌陷在大margin里惯殊,兩個盒子的間距取大margin值。如果兩個margin值相同也殖,兩個盒子的間距取一個margin值土思。
2、不能用兒子去踹父親(margin-top)
一組嵌套的盒子,子盒子和父盒子之間想設置上邊距己儒,不能用子盒子的margin-top設置崎岂。因為子盒子會帶著父盒子一起距離瀏覽器有一個距離。
例:

<div class="box1">
    <div class="box2"></div>
</div>
.box1{
    width:300px;
        height: 300px;
        background-color: green;
        }
.box2{
    width: 100px;
    height: 100px;
    background-color: pink;
    margin-top: 20px;
    }
clipboard.png

解決辦法:
①強制限制父盒子的區(qū)域

.box1{
    width:300px;
    height: 300px;
    background-color: green;
    border: 1px solid #000;
    }
.box2{
    width: 100px;
    height: 100px;
    background-color: pink;
    margin-top: 20px;
    }

②用父盒子的padding去擠址愿。

.box1{
    width:300px;
    height: 300px;
    background-color: green;
    padding-top: 20px;
    /*border: 1px solid #000;*/
    }
.box2{
    width: 100px;
    height: 100px;
    background-color: pink;
    /*margin-top: 20px;*/
        }

3该镣、盒子的水平居中
子盒子的水平居中:
margin:0 auto;(auto會自動撐開到最大值且左右margin值相同)
盒子居中:
margin:0 auto;(上下值不一定是0,盒子一定要有寬度才能這樣設置)

4响谓、居中
文本居中:
多行文本垂直居中:不要設置父盒子的高损合,讓內容撐開父盒子的高度;設置父盒子的上下padding值相同娘纷。
單行文本垂直居中:行高等于盒子的高度嫁审。
文本水平居中(不區(qū)分是否是單行):text-align:center;
盒子居中:
子盒子的水平居中:子盒子必須設置寬度;子盒子margin:0 auto;(上下值不一定是0)赖晶。
子盒子的垂直居中:不設置父盒子的高度律适,給父盒子設置相同的上下padding值。

5遏插、父子盒模型
在父子盒模型中捂贿,子盒子的實際占有寬度不能超過父盒子內容寬width。如果子盒子有padding或者border胳嘲,需要在父盒子內容寬width基礎上內減厂僧。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市了牛,隨后出現(xiàn)的幾起案子颜屠,更是在濱河造成了極大的恐慌,老刑警劉巖鹰祸,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甫窟,死亡現(xiàn)場離奇詭異,居然都是意外死亡蛙婴,警方通過查閱死者的電腦和手機粗井,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來街图,“玉大人背传,你說我怎么就攤上這事√ǘ幔” “怎么了?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵痴脾,是天一觀的道長颤介。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么滚朵? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任冤灾,我火速辦了婚禮,結果婚禮上辕近,老公的妹妹穿的比我還像新娘韵吨。我一直安慰自己,他們只是感情好移宅,可當我...
    茶點故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布归粉。 她就那樣靜靜地躺著,像睡著了一般漏峰。 火紅的嫁衣襯著肌膚如雪糠悼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天浅乔,我揣著相機與錄音倔喂,去河邊找鬼。 笑死靖苇,一個胖子當著我的面吹牛席噩,可吹牛的內容都是我干的。 我是一名探鬼主播贤壁,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼悼枢,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了芯砸?” 一聲冷哼從身側響起萧芙,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎假丧,沒想到半個月后双揪,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡包帚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年渔期,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渴邦。...
    茶點故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡疯趟,死狀恐怖,靈堂內的尸體忽然破棺而出谋梭,到底是詐尸還是另有隱情信峻,我是刑警寧澤,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布瓮床,位于F島的核電站盹舞,受9級特大地震影響产镐,放射性物質發(fā)生泄漏。R本人自食惡果不足惜踢步,卻給世界環(huán)境...
    茶點故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一癣亚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧获印,春花似錦述雾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至地粪,卻和暖如春取募,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蟆技。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工玩敏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人质礼。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓旺聚,卻偏偏與公主長得像,于是被迫代替她去往敵國和親眶蕉。 傳聞我的和親對象是個殘疾皇子砰粹,可洞房花燭夜當晚...
    茶點故事閱讀 45,500評論 2 359

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,759評論 1 92
  • 一 外部式css樣式 (也可稱為外聯(lián)式)就是把css代碼寫一個單獨的外部文件中造挽,這個css樣式文件以“.css...
    KunMitnic閱讀 943評論 0 1
  • CSS中的居中對齊 內容居中對齊:text-align:center 盒子居中對齊:margin:0 auto; ...
  • 詩/劉萬軍 樹下枕石納午涼饭入, 孫兒躡態(tài)捕蝶忙嵌器。 忽然漫野白云亂, 知是捉了草上王谐丢。
    劉萬軍L閱讀 146評論 0 0
  • 1爽航,圖片alt屬性,替換內容2乾忱, 超鏈接文字 3讥珍,有序列表,無序列表窄瘟,4衷佃,定義列表dl dt dd5, 文本框 密...
    J_L_L閱讀 243評論 0 1