Web全栈~07.标准盒子模型

Web基本教程~07.盒子模型

上一期

前言

       所有 HTML 元素可以看作盒子,在 CSS 中,"box model"这一术语是用来设计和布局时使用。CSS 盒模型本质上是一个盒子,封装周围的 HTML 元素,它包括:边距(margin), 边框(border),填充(padding),和实际内容(content)。

在这里插入图片描述

       Margin(外边距) - 清除边框外的区域,外边距是透明的。

       Border(边框) - 围绕在内边距和内容外的边框。

       Padding(内边距) - 清除内容周围的区域,内边距是透明的。

       Content(内容) - 盒子的内容,显示文本和图像。

代码示例

<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.box{
				width: 200px;
				height: 200px;
				background-color: #20C997;
				border: 15px solid #80BDFF;
				padding: 20px;
				margin: 30px;
			}
		</style>
	</head>
	<body>
		<div class="box"></div>
	</body>
</html>

标准盒模型

       根据 W3C 的规范,元素内容占据的空间是由 width 属性设置的,而内容周围的 padding 和 border 值是另外计算的;即在标准模式下的盒模型,盒子实际内容(content)的width/height=我们设置的width/height;盒子总宽度/高度=width/height+padding+ border+margin。

内容区域(content)

       Content 内容区域包含宽度(width)和高度(height)两个属性。块级元素默认宽度为 100%,行内元素默认宽度是由内容撑开,不管块级元素还是行内元素,默认高度都是由内容撑开。块级元素可以设置宽高属性,行内元素设置宽高属性不生效。宽度(width)和高度(height)可以取值为像素(px)和百分比(%)。

内边距(Padding)

       CSS padding(填充)是一个简写属性,定义元素边框与元素内容之间的空间,即上下左右的内边距。

单边内边距属性

       在 CSS 中,它可以指定不同的侧面不同的填充

padding-top:25px; 
padding-bottom:25px; 
padding-right:50px;
padding-left:50px;

       分别代表 上内边距是 25px,右内边距是 50px,下内边距是 25px,左内边距是 50px

简写属性

       为了缩短代码,它可以在一个属性中指定的所有填充属性。 这就是所谓的简写属性。所有的填充属性的简写属性是 padding : Padding 属性,可以有一到四个值。

/*上填充为 25px 右填充为 50px 下填充为 75px 左填充为 100px*/
padding:25px 50px 75px 100px;
/*上填充为 25px 左右填充为 50px 下填充为 75px*/
padding:25px 50px 75px; 
/*上下填充为 25px 左右填充为 50px*/
padding:25px 50px; 
/*所有的填充都是 25px*/
padding:25px; 

padding 实现导航条案例

<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			.nav>li{
				float: left;
				padding: 25px 35px; background-color: #1D1E22;
			}
			.nav a{
				color: #fff;
				font-size: 14px;
			}
		</style>
	</head>
	<body>
		<ul class="nav">
			<li><a href="#">推荐</a></li>
			<li><a href="#">热榜</a></li>
			<li><a href="#">要闻</a></li>
			<li><a href="#">小说</a></li>
			<li><a href="#">历史</a></li>
			<li><a href="#">科技</a></li>
			<li><a href="#">直播</a></li>
		</ul>
	</body>
</html>

边框(Border)

       CSS 边框属性允许你指定一个元素边框的样式和颜色,边框样式属性指定要显示什么样的边界。

       border-style 属性用来定义边框的样式,border-style 值,none: 默认无边框。

       dotted: 定义一个点线边框,dashed: 定义一个虚线边框,solid: 定义实线边框,double: 定义两个边框。 两个边框的宽度和 border-width 的值相同。

边框宽度

       您可以通过 border-width 属性为边框指定宽度

.my{
	border-style:solid; 
	border-width:5px;
}
边框颜色

       border-color 属性用于设置边框的颜色,border-color 单独使用是不起作用的,必须得先使用 border-style 来设置边框样式。

.my{
	border-style:solid; 
	border-color: red;
}
边框单独设置各边

       在 CSS 中,可以指定不同的侧面不同的边框

p{
	border-style:dotted solid;
}
border-style 属性可以有 1-4 个值
/*上边框是 dotted 右边框是solid 底边框是double 左边框是 dashed*/
border-style:dotted solid double dashed; 
/*上边框是 dotted 左、右边框是 solid 底边框是 double*/
border-style:dotted solid double; 
/*上、底边框是 dotted 右、左边框是 solid*/
border-style:dotted solid; 
/*(4)四面边框是 dotted*/
border-style:dotted; 
边框简写属性
	border-width
	border-style (required)
	border-color

外边距(Margin)

       CSS margin(外边距)属性定义元素周围的空间。

单边外边距属性代码示例
div{
	margin-top:100px; 
	margin-bottom:100px; 
	margin-right:50px; 
	margin-left:50px;
}
简写属性
/*上边距为 25px 右边距为 50px 下边距为 75px 左边距为 100px*/
margin:25px 50px 75px 100px;
/*上边距为 25px 左右边距为 50px 下边距为 75px*/
margin:25px 50px 75px;
/*上下边距为 25px 左右边距为 50px*/
margin:25px 50px;
/*所有的 4 个边距都是 25px*/
margin:25px;

margin 练习案例

<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	<style>
		.box{
			width: 1240px; 
			margin: 0 auto;
		}
		.box>div{ 
			width: 303px; 
			height: 375px;
			background-color: #20C997; 
			float: left;
			margin-bottom: 10px; 
			margin-right: 9px;
		}
		.box>div:nth-child(4n){ 
			margin-right: 0;
		}
	</style>
	</head>
	<body>
		<div class="box">
			<div></div>
			<div></div>
			<div></div>
			<div></div>
			<div></div>
			<div></div>
			<div></div>
			<div></div>
		</div>
	</body>
</html>
  • 16
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 33
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值