【Web前端笔记08】CSS盒子模型

[08 CSS盒子模型](#08 CSS盒子模型)

1、盒子模型

2、border(边框)

3、padding(内边距)

4、margin(外边距)

5、怪异盒子

6、弹性盒模型练习


08 CSS盒子模型

1、盒子模型

标准盒子:

  • 内容(content)
  • 内边距(padding)
  • 边框(border)
  • 外边框(margin)

W3C盒子模型

2、border(边框)

三要素:(按顺序)

  • 样式
  • 颜色
css 复制代码
border-style:
    	dotted;		/*点*/
    	solid ;		/* 实线 */
     	double ;	/* 双(起码要3px) */
      	none;

3、padding(内边距)

单边设置

css 复制代码
padding-top/padding-bottom/padding-left/padding-right:value;
    /* value不能为负数,单位px,%都可以 */

简写

css 复制代码
padding:1个值(四个方向);
上下	左右;
上   左右	下;
上  右  下  左;

4、margin(外边距)

单边设置

css 复制代码
margin-top/margin-bottom/margin-left/margin-right:value;
    /* value不能为负数,单位px,%都可以 */

简写

css 复制代码
margin:1个值(四个方向);
上下	左右;
上   左右	下;
上  右  下  左;

外边距合并

  • 当两个垂直外边距相遇时,他们将形成一个外边距,也就是外边距合并;
  • 合并后的外边距的高度=两个合并的外边距的高度中的较大的。

margin设置元素外边距的宽度

  • 块级元素的垂直相邻外边距会合并;
  • 允许指定负的外边距值,但是使用时需小心。
  • 浮动元素的内外边距也不会合并;
  • 行内元素实际上不占上下外边距,行内元素的左右内边距不合并;

5、怪异盒子

例如:IE的盒子模型

不同之处

  • 宽包含了border和padding;
  • margin、border、padding、content;

组成部分:content+padding+border+margin

实际宽度width+margin(width包含padding+border)

css 复制代码
box-sizing:
    	content-box;		/* 标准盒子,元素实际大小=宽高+border+padding */
		border-box;		/* 怪异盒子,元素实际大小=你定义了多宽就是多宽*/

同样的定义,怪异盒子实际大小会小很多。代码

6、弹性盒模型练习

百度周边:

css 复制代码
box.css
.box{
width: 100%;
height: 200px;
background-color: deepskyblue;
/* 父元素开启弹性盒模型 子元素默认水平排列 */
 display: flex; 
 /* 设置子元素在侧轴居中,水平居中 */
 align-items: center;
}
.box>div{
flex-grow: :1;
}

style.css
html,body,div,h1,h2,h3,h4,h5,h6,dd,dt,dl,form,label,caption,tbody,tfoot,thead,tr,th,td,ul,li,p{
margin:0;
padding: 0;
}
a{
text-decoration: none;
}
body{
text-align: center;
}
img,input{
vertical-align: middle; /* 垂直居中 */
}
HTML
html 复制代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>百度周边</title>
<link rel="stylesheet" href="css/style.css" />
<link rel="stylesheet" href="css/box.css"/>
</head>
<body>
<div class="box">
<a href="#">
<img src="" alt="">
<p>美食</p>
</a>
</div>
<div class="box">
<a href="#">
<img src="" alt="">
<p>美食</p>
</a>
</div><div class="box">
<a href="#">
<img src="" alt="">
<p>美食</p>
</a>
</div><div class="box">
<a href="#">
<img src="" alt="">
<p>美食</p>
</a>
</div><div class="box">
<a href="#">
<img src="" alt="">
<p>美食</p>
</a>
</div>
</body>
</html>
相关推荐
子兮曰2 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰2 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
一隅论数智2 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
前端小万2 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝2 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋2 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
卡布鲁2 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
C语言小火车2 天前
C/C++ 为什么需要编译器?
开发语言·c++