H5前端开发学习笔记——0x13盒子模型

盒子模型

  • 课时104 边框属性上(掌握)
  • 课时105 边框属性下(掌握)
  • 课时106 边框练习(理解)
  • 课时107 内边距属性(掌握)
  • 课时108 外边距属性(掌握)
  • 课时109 外边距合并现象(掌握)
  • 课时110 盒子模型(理解)
  • 课时111 盒子宽度和高度(理解)
  • 课时112 盒子宽度和高度练习1(理解)
  • 课时113 盒子宽度和高度练习2(理解)
  • 课时114 盒子box-sizing属性(理解)
  • 课时115 盒子模型练习3(理解)
  • 课时116 盒子居中和内容居中(理解)
  • 课时117 清空默认边距(掌握)
  • 课时118 行高和字号(掌握)
  • 课时119 还原字体和字号(掌握)
  • 课时120 文字界面(理解)

边框属性

什么是边框

环绕在标签宽度和高度周围的线条

边框属性格式

  1. 方向连写(同时设置四条边的边框)
    • border:边框的宽度 边框的样式 边框的颜色;
    • 注意点:
      • 连写格式中颜色可以省略,默认黑色
      • 连写格式中样式不可省略,否则看不到
      • 连写格式中宽度可以省略,省略后可以看到边框
  2. 方向连写(分别设置四条边的边框)
    • border-top:边框的宽度 边框的样式 边框的颜色;
    • border-right:边框的宽度 边框的样式 边框的颜色;
    • border-bottom:边框的宽度 边框的样式 边框的颜色;
    • border-left:边框的宽度 边框的样式 边框的颜色;
    • 注意点:
      • 连写格式中颜色可以省略,默认黑色
      • 连写格式中样式不可省略,否则看不到
      • 连写格式中宽度可以省略,省略后可以看到边框
  3. 要素连写(分别设置四条边的边框)
    border-width:上 右 下 左;
    border-style:上 右 下 左;
    border-color:上 右 下 左;
    • 注意点:
      • 这三个属性的取值是按照顺时针赋值的,按照上右下左赋值的,并不是上下左右
      • 这三个属性的取值省略时的规律:
        • 上 右 下 左> 上 右 下 —— 左边的取值和右边一样
        • 上 右 下 左> 上 右 —— 左边的取值和右边一样,下边的取值和上边一样
        • 上 右 下 左> 上 —— 右下左的取值和上边一样
  4. 方向加要素非连写(单独设置四条边的边框)
    • border-top-width:10px;
    • border-top-style:double;
    • border-top-color: #000;
    • 等等等等
    • 企开中基本没用的。。。

内边距属性

边框到内容之间的距离就是内边距

格式

  1. 连写
    • padding:上 右 下 左;
    • 用法同border
  2. 非连写
    • padding-top: ;
    • padding-left: ;
    • padding-bottom: ;
    • padding-right: ;
    • 注意点:
      • 设置内边距后,标签占有的高度和宽度会跟着一块变
      • 内边距也会有背景颜色

外边距属性

标签和标签之间的距离

格式

  1. 非连写
    • margin-top: ;
    • margin-left: ;
    • margin-right: ;
    • margin-bottom: ;
  2. 连写
    • margin:上 右 下 左;
    • 注意点:
      • 这三个属性的取值是按照顺时针赋值的,按照上右下左赋值的,并不是上下左右
      • 这三个属性的取值省略时的规律:
        • 上 右 下 左> 上 右 下 —— 左边的取值和右边一样
        • 上 右 下 左> 上 右 —— 左边的取值和右边一样,下边的取值和上边一样
        • 上 右 下 左> 上 —— 右下左的取值和上边一样

注意点

外边距那一部分是没有背景颜色的

外边距合并现象(外边距塌陷现象)

在默认布局的垂直方向上,默认情况下外边距是不会叠加的,谁的外边距大,就听谁的.水平方向就不会发生塌陷,就垂直有。

CSS盒子模型

仅仅是一个形象的比喻,在HTML中所有标签都是一个盒子

结论

  • 在HTML所有标签都可以设置:
    • 宽度/高度 —— 指定可以存放内容的区域
    • 内边距
    • 外边距
    • 边框

盒子的宽度和高度

1.内容的宽度和高度

通过标签的width和height设置的宽度和高度

2.元素的宽度和高度

  • 宽度 = 左边框 + 左内边距 + width + 右内边距 + 右边框
  • 高度 同理可得

3.元素空间的宽度和高度

  • 宽度 = 左外边距 + 左边框 + 左内边距 + width + 右内边距 + 右边框 + 右外边距
  • 高度 同理可得

盒子box-sizing属性

css3新增了box-sizing属性,这个属性可以保证我们给盒子新增padding和border之后黑子元素的宽度和高度不变

工作原理

增加padding和border之后,要想保障盒子元素的宽高不变,就要减去一部分内容的宽高

取值

  1. content-box
    元素的宽高 = 边框 + 内边距 + 内容的宽高
  2. border-box
    元素的宽高就会恒等于width

盒子模型练习

注意点

  1. 如果两个盒子是嵌套关系,那么设置里面一个盒子顶部的margin,外面的盒子也会被顶下来
  2. 若不想被顶下来,就可以给外面的盒子添加一个边框属性
  3. bd —— 加边框的快捷键
  4. 企开中,一般情况下,若需要控制嵌套关系盒子之间距离的话,要首先考虑padding,其次在考虑margin,因为后者本质上是用于控制兄弟之间关系的,padding才是控制父子之间关系的

margin: 0 auto;

在一个嵌套关系的盒子中,我们可以用

margin:0 auto;

的方式让里面的盒子在大盒子里面水平居中

注意

  • 他只对水平方向有效,垂直方向无效,这是固定写法
  • 垂直方向居中只能通过像素控制

盒子居中和内容居中

text-align:center和margin: 0 auto区别

  • 前者的作用是设置盒子中储存的问题和图片水平居中
  • 后者的作用是让盒子水平居中

清空默认边距

为啥要清空默认内外边距

企开中为了更好的控制盒子的宽高和计算盒子宽高,第一步需要做的就是清空默认的边距

怎样清空内外标签

* {
    margin: 0;
    padding: 0;
}

注意点

通配符选择器会遍历当前界面中的所有标签,所以性能不好,我们可以去百度个css reset自己加上

/*
YUI 3.18.1 (build f7e7bcb)
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/

html{color:#000;background:#FFF}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}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;*font-size:100%}legend{color:#000}#yui3-css-stamp.cssreset{display:none}

行高和字号

什么是行高

所有的行都有自己的行高

注意点

  • 行高和盒子的高不是一个概念
    • line-height: ;设置行高
    • height设置盒子高

规律

  1. 文字在行高中默认是垂直居中的
  2. 企开中,我们经常把盒子的高度和行高设置的一样,这样就可以保证一行文字在盒子里是垂直居中的。也就是说,要想做到把一行文字在盒子里垂直居中显示,就把行高和盒子高度都设置成一样的高度就行
  3. 企开中,若一个盒子中有多行文字,2的方法就不好用了,只能用padding来让文字居中

还原字体和字号

自己拿着AI玩就行了

注意点

  1. 企开中,盒子里放的是文字的话,我们一般以盒子的左边的内边距为基准,而非右边距,因为右边有误差
  2. 因为右边放不下文字的话,就会换行显示,但那个距离还在那,那就是误差
  3. 顶部的内边距不是边框到文字的距离,而是边框到文字行高顶部的距离

文字界面

就目前我们的技术,做网页

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

推荐阅读更多精彩内容

  • 概述 在网易云课堂学习李南江老师的《从零玩转HTML5前端+跨平台开发》时,所整理的笔记。笔记内容为根据个人需求所...
    墨荀阅读 2,332评论 0 7
  • 一.边框 (上) 1.什么边框? 边框就是环绕在标签宽度和高度周围的线条 2.边框属性的格式 2.1连写(同时设置...
    壹点微尘阅读 345评论 0 0
  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 6,306评论 2 66
  • 边框属性 作用:边框就是环绕在标签宽度和高度周围的线条 连写(同时设置四条边的边框)格式: border: 边框的...
    MGd阅读 263评论 0 0
  • 星云冰夜阅读 6,946评论 0 0