盒子模型

什么是盒子模型?

HTML的元素现实模型被称为盒子模型,任何一个在页面上显示的元素都会呈现为一个盒子形状。

盒子模型图解

盒子模型的的最内部分是实际的内容,直接包围内容的是内边距(padding)。 内边距的边缘是边框(border)。边框以外是外边距(margin),内边距默认是透明的,因此不会遮挡其后的任何元素,包括元素的背景。

注意:背景应用于由内容和内边距、边框组成的区域。
内边距、边框和外边距都是可选的,默认值是零。但是,许多元素将由用户代理样式表设置外边距和内边距。可以通过将元素的 margin 和 padding 设置为零来覆盖这些浏览器样式。这可以分别进行,也可以使用通用选择器对所有元素进行设置:

*{
    margin:0;
    padding:0;
}

以边框为界,里面的叫内边距,外面的叫外边距。
提示:外边距可以是负值,而且在很多情况下都要使用负值的外边距。

我们设置的宽高(width, height)属性,只是在设置内容部分的宽高。(IE5,6不是这样的,好在我们现在不用考虑他们了)

一个盒子的总宽 = width + padding-left + padding-right + border-left + border-right

高度也是类似,当然实际显示的时候你还得考虑margin,但是有些浏览器里margin是会叠加的,所以还要根据上下文来考虑。

页面布局:

  • 布局定位:
    • 属性:布局定位最重要的四个css属性是float, clear, position和display。 再配上我们前面学会的盒子模型的几个属性width, height, padding, margin, border。
      • float属性:
        float有三个值:
        float:right/left/none
        
        我们把每一个元素想象成浮在水面上的冰块,用float来控制他们靠左还是靠右。让他们靠左他们就会靠到盒子的最左边了,靠右也是一样。当我们面对下面的HTML:
<section>    
    ![](img/picture2.png)    
    <p>西湖,位于中华人民共和国浙江省杭州市区西面,是中国大陆首批国家重点风景名胜区和中国十大风景名胜之一。中国大陆主要的观赏性淡水湖泊之一。        西湖东靠杭州市区,其余三面环山,面积约6.39平方千米[1],南北长约3.2千米,东西宽约2.8千米,绕湖一周近15千米。[2] 西湖平均水深2.27米,        水体容量约为1429万立方米。[3] 湖中被孤山、白堤、苏堤、杨公堤分隔,按面积大小分别为外西湖、西里湖(又称“后西湖”或“后湖”)、北里湖(又        称“里西湖”)、小南湖(又称“南湖”)及岳湖等五片水面,其中外西湖面积最大。孤山是西湖中最大的天然岛屿,苏堤、白堤越过湖面,小瀛洲、湖心亭        、阮公墩三个人工小岛鼎立于外西湖湖心,雷峰塔与保俶塔隔湖相映,由此形成了“一山、二塔、三岛、三堤、五湖”的基本格局。
    </p>
</section>

设置了如下的css

img { 
  float: left;
}

那么现实效果则如下所示



float与父级元素的宽度相关
如下所示的代码:

<section>   
    ![](img/picture2.png) 
    ![](img/picture3.png)     
</section>
//CSS
.float-right {
   float: right;
}
.float-left { 
  float: left;
}

如果article的width足够,那么会显示成下面的样子:



如果article的宽度不够,就会显示成下面的样子:



为什么是“靠左的图片”被挤得换行了?完全是因为HTML里谁写在前面,谁就显示在上面的缘故。
  • clear
    当我们进行浮动的时候,浮动块会高于不浮动的父级,按照正式的说法叫所在的物理位置脱离普通流。 比如下面的HTML代码:
<div id="main"> 
   <div id="sidebar">我是左边栏</div> 
   <div id="container">我是主容器</div>
</div>

配合下面的css:

#main {
            width: 600px;
            padding: 20px;
            background-color: #00ff00;
        }
        #sidebar {
            background-color: #FF6600;
            float: left;
            width: 130px;
        }
        #container {
            background-color: #FFFF33;
            float: right;
            width: 420px;
        }

我们就会看到这种奇怪的情况(高度塌陷):



1.这时我们加一个clear的div

<div id="main">
    <div id="sidebar">我是左边栏</div>
    <div id="container">我是主容器</div>
    <div style="clear:both;"></div>
</div>

2.我们在父级div的css中添加下面的代码:

#main {
      overflow: auto;
}

就会显示成下面的样子了:



以上就是clear最常见的用法,按照官方说法,clear属性规定元素的哪一侧不允许其他浮动元素。但是这个功能与display属性协同会产生不同的效果。 所以初学者来讲,只要记住这一种用法就好了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,737评论 1 92
  • 前言 总括: 对于盒子模型,BFC,IFC和外边距合并等概念和问题的总结 原文地址:从CSS盒子模型说起 知乎专栏...
    秦至阅读 758评论 0 3
  • 引言 这次给大家带来了CSS-盒子模型部分的笔记,大家一同交流😊 认识盒子模型之前,先来了解一下CSS元素的分类吧...
    zhaolion阅读 4,300评论 9 85
  • 一.边框 (上) 1.什么边框? 边框就是环绕在标签宽度和高度周围的线条 2.边框属性的格式 2.1连写(同时设置...
    壹点微尘阅读 345评论 0 0
  • 这个世界上,有一种可怕的事情,无论你在哪,它都会跟着你;无论你多优秀,它都在你耳后窃窃私语;无论你多困苦,它也对你...
    我吃西兰花阅读 279评论 0 4