什么是盒模型

1.概念:盒模型是css布局的基石,它规定了网页元素如何显示以及元素间相互关系。
2.盒模型的组成:
(1)content(内容区)
(2)padding(填充区)
(3)border(边框区)
(4)margin(外边界区)

在这里插入图片描述

3.盒模型的理解:我们可以将盒模型比喻成一个快递盒子。将所邮寄的物件比喻成为盒模型内的内容,即content(内容区)。整个快递盒子就可以比喻成为盒模型的边框,即border(边框区)。在快递的运输过程中,为了防止磕碰,我们一般会在快递盒子与物件之间塞上充气囊,阻断快递盒子与物件的直接接触,此处的充气囊就可以理解为盒模型的padding(填充区)。margin(外界边界值)就可以理解为我们在摆放快递的时候每个快递盒子之间的间距。但是,现实中我们在使用盒子装物件的时候,充气囊加物件的体积不可以大于盒子的体畸,否则盒子会被撑开,而css盒子是具有弹性的,盒子内的padding-left+padding-right+content的宽(或padding-top+padding-bottom+content的高)如果大于盒子的宽(或高)最多只会把css盒子的宽(或高)撑大,不会把盒子撑开。
4.优点:css盒子具有弹性,防震
5.padding和margin的区别
(1)padding:
①作用:用来控制父元素和子元素之间的位置关系,即用来控制元素(盒子)和内容之间的位置关系
②特点: a.添加了padding值之后,padding值会把元素原有的大小撑大;如果让元素原本大小不变的话,要在元素的宽高上减掉所加的padding值
b.padding属性对背景图片是不起作用的,可以说背景图片的位置是不受padding值的影响的。
c.背景色会延展到padding区域
③使用方法
方法一、padding-top:30px; 上填充30像素
padding-right:30px; 右填充30像素
padding-bottom:30px; 下填充30像素
padding-left:30px; 左填充30像素
方法二、复合写法:
padding: 1 2 3 4 1、上 2、右 3、下 4、左
padding: 1 2 3 1、上 2、左和右 3、下
padding: 1 2 1、上和下 2、左和右
padding: 1 1、上 右 下 左
例:padding:10px 20px 30px 40px; 上填充10像素,右填充20像素,下填充30像素,左填充40像素(以上为起点顺时针顺序)
(2)margin:
作用:用来控制同辈元素之间的位置关系
特点:margin是显示在元素边框以外的空白区
使用方法
方法一:
margin-top:30px; 上边距30像素
margin-right:30px; 右边距30像素
margin-bottom:30px; 下边距30像素
margin-left:30px; 左边距30像素
方法二:
margin:1 2 3 4 1、上 2、右 3、下 4、左
margin:1 2 3 1、上 2、左和右 3、下
margin:1 2 1、上和下 2、左和右
margin:1 1、上 右 下 左
例:margin:10px 20px 30px 40px; 上边距10像素,右边距20像素,下边距30像素,左边距40像素(以上为起点顺时针顺序)

运用:实现元素水平居中的方法
法一、margin:0 auto;
法二、.margin-left:auto;margin-right:auto;
注释: margin是可以写负值的,padding不可以写的负值
margin不会影响元素的实际宽高,但是会影响元素所占区域

margin的bug:
a.上下的两个元素之间的margin值会重叠显示;谁的值大就以谁的值显示
解决方法:BFC解决
b.当父元素里的第一个子元素(块元素),添加margin-top的时候,会错误的把margin-top值添加给父元素。(建立在当前的元素们 没有添加边框和浮动的情况下)
解决方法:a.BFC解决
b.给父元素添加overflow:hidden;
c.给父元素或者子元素添加浮动属性
d.可以添加父元素边框
e.把margin改成padding

逆战班
2020/02/23

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.复合选择器 (1)后代选择器(包含选择器 重要) 语法: 元素1 元素2 {样式声明} 选择器1 选择器2{ 属性:属性值 } 元素1和元素2用空格隔开 元素1父亲 元素2后代 最终改变的是后代(元素2)的样式 选择器可以是任意的基础选择器 (2)子元素选择器(子选择器 重要) 语法 元素1>元素2{样式声明} 元素1和元素2用>隔开 元素1和元素2是父子关系 只选择父元素最近一级的子元素 即必须是亲儿子 选择器1 选择器2可以是任意基础选择器 (3)并集选择器(重要) 可以选择多组标签 定义相同样式 通常用于集体声明 语法 元素1, 元素2{样式声明} 元素1和元素2都改了样式 逗号,为和的意思 任何选择器都可以作为并集选择器 约定的语法规范:并集选择器约定竖着写 最后一个选择器不需要加逗号, (4)交集选择器 语法 选择器1选择器2选择器3{ 属性: 属性值; } 用选择器1选择元素集合A,用选择器2在A中选择元素 标签名只能写在前面并且只能有一个标签 (5)伪类选择器(只用于链接 用:表示) a:link 未访问过的链接 a:visitied 已访问过的链接 a:hover 选择鼠标经过的链接/悬停时链接 a:active 选择的是鼠标正在按下没有弹起的链接 注意:按照LVHA的顺序写 链接在浏览器中有默认样式 所以一般需要单独指定 (6)焦点选择器(对input标签) 用于选取获得焦点(光标选中)的表单元素 语法 表单元素:focus{ 属性: 属性值; } 注意: 表单元素最常用的是input 在input框选中时显示的样式 2.css的元素显示模式 html元素一般分为块元素和行内元素 (1)块级元素 div p h1-h6 ul ol li ①独占一行 ②宽度 高度 外边距 内边距都可控制 ③宽度默认是容器(父级元素)100%的宽度 ④是一个容器及盒子 里面看可以放行内或块级元素 ⑤文字类的元素如p h1-h6里面不能放块级元素 尤其是div (2)行内元素 a strong b em i del s ins u span ①相邻行内元素在一行上,一行可以显示多个 ②宽高直接设置是无效的 ③默认宽度就是他本身内容的宽度 ④行内元素只能容纳文本或其他行内元素 ⑤链接(a标签)里面不能再放链接 但可以放块级元素 比如图片 (3)行内块元素 img input td ①一行上可以有多个行内块元素 中间有空隙(行内元素特点) ②默认宽度就是他本身内容的宽度(行内元素特点) ③宽高 高度 外边距 内边距可以控制(块级元素特点) 元素显示模式的转换 (1)行内元素转块级元素 display:block;√ (2)块级元素转换为行内元素 display:inline; (3)行内块 元素 display:inline-block√、 单行文字垂直居中 文字的行高line-height=盒子高度 仅限于单行文字垂直居中 3.css的背景属性 (1)背景颜色 选择器{ background-color: transparent透明(透明)/color; } (2)背景图片(便于控制位置) 常用于logo 装饰性的小图片或者超大图片 background-image: none(默认) | url(图片地址/路径); (3)背景平铺 background-repate: repate(默认) | no-repate | repate-x(沿x轴/横向平铺) | repate-y(沿y轴/纵向平铺); 注意: 页面元素既可以添加背景颜色 也可以添加背景图片 只不过背景图片在背景颜色上方 即背景图片会压住背景颜色 (4)背景图片的位置 background-position: x y; ①参数是方位名词 top | center | bottom | left | center | right 方位名词 x( left | center | right) y(top | center | bottom) background-position: 水平 垂直; background-position: center top ; background-position: top center ; 指定两个方位名词时 与顺序无关 指定一个方位名词时 没有指定的那个默认是居中对齐 ②参数是精确单位 前面x 后面y 顺序不可变 若第一个是精确单位 一定是x 则另一个垂直居中 ③混合单位 有顺序要求 第一个为x 第二个为y (5)背景固定 background-attachment: scroll | fixed ; (6)背景复合写法 background:颜色 图片地址url 平铺 滚动 位置 没有顺序要求 (7)背景色半透明 background:rgba(0,0,0,0.3)取值0-1 0.3也可以写成.3 背景色半透明 盒子里面内容不受影响

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值