HTML(15)——盒子模型

盒子模型组成

  • 内容区域 -width&height
  • 内边距-padding (出现在内容与盒子边缘之间)
  • 边框线-border
  • 外边距-margin (出现在盒子外面)

div {

width: 200px;

height: 200px;

background-color: rgb(85, 226, 193);

padding: 20px;

border: 2px solid #000;

margin: 20px;

}

盒子模型------边框线

属性名:border(bd)

属性值:边框线粗细 线条样式 颜色(不区分顺序)

常用的线条样式

属性值 线条样式
solid 实线
dashed 虚线
dotted 点线

同时还能设置单方向边框线

属性名:border-方位名词(bd+方位名词首字母)

例如:

盒子模型------内边距

作用:设置内容与盒子边缘之间的距离

属性名:padding/padding-方位名词

padding的多值写法

|------|-----------------------------|-----------------------|
| 取值个数 | 示例 | 含义 |
| 一个值 | padding:20px | 四个方向均为20px |
| 四个值 | padding:10px 20px 30px 40px | 分别代表上,右,下,左 |
| 三个值 | padding:10px 20px 30px | 上:10px ;左右20px ;下30px |
| 两个值 | padding:10px 20px | 上下:10px;左右20px |

盒子模型------尺寸计算

盒子尺寸=内容尺寸+boder尺寸+内边距尺寸

解决盒子撑大的问题:

  • 手动做减法,减掉border/padding的尺寸
  • 内减模式:box-sizing:border-box

示例:

最开始的盒子为

div {

width: 200px;

height: 200px;

background-color: rgb(85, 226, 193);

}

在添加边框和内边距后

div {

width: 200px;

height: 200px;

background-color: rgb(85, 226, 193);

border: 20px solid rebeccapurple;

padding: 30px;

}

盒子由原来的200×200变为300×300(原因是四边都要加上border和padding)

此时使用手动减法,减去border和padding的尺寸

div {

width: 100px;

height: 100px;

background-color: rgb(85, 226, 193);

border: 20px solid rebeccapurple;

padding: 30px;

}

或者使用第二种内减模式

div {

width: 200px;

height: 200px;

background-color: rgb(85, 226, 193);

border: 20px solid rebeccapurple;

padding: 30px;

box-sizing: border-box;

}

以上两种可以避免盒子被撑大。

盒子模型------外边距

属性名:margin

与padding属性写法完全相同,包括多值写法,同时margin不会撑大盒子。

实现版心居中的效果:要求盒子必须要有width属性

margin: 0 auto;

相关推荐
程序猿John1 小时前
ES6 新增特性 箭头函数
前端·javascript·es6
百锦再2 小时前
五种常用的web加密算法
前端·算法·前端框架·web·加密·机密
@大迁世界2 小时前
彻底改变我 React 开发方式的组件模式
前端·javascript·react.js·前端框架·ecmascript
William Dawson3 小时前
【Vue 3 + Element Plus 实现产品标签的动态添加、删除与回显】
前端·javascript·vue.js
拉不动的猪3 小时前
项目基础搭建时的一些基本注意点
前端·javascript·面试
蕉君桑3 小时前
vue2使用vue-echarts
前端·vue.js·echarts
runnerdancer3 小时前
React+Vite+Typescript项目脚手架模版
前端
Code额4 小时前
ECMAScript 6 新特性(二)
前端·javascript·ecmascript
群联云防护小杜4 小时前
基于AI的Web应用防火墙(AppWall)实战:漏洞拦截与威胁情报集成
前端·分布式·安全·ddos
_清浅5 小时前
JavaScript(JS进阶)
开发语言·前端·javascript·操作系统·html5