【CSS】margin 外边距负值使用案例 ( 正常外边距 | 使用外边距负值实现边框重叠 | 重叠边框突出显示 )

文章探讨了如何使用CSS中的外边距负值来实现边框重叠效果,以及通过相对和绝对定位来突出显示元素。首先展示了正常外边距的情况,然后演示了如何通过设置负边距使边框重叠。接着,通过相对定位和:hover伪类改变边框颜色来创建高亮效果。最后,提到了使用z-index控制定位元素的层级以达到特定的显示顺序。
摘要由CSDN通过智能技术生成





一、正常外边距案例



margine 正常情况下使用 , 设置 float 浮动 , 使得相邻的盒子模型紧贴在一起 ;

如果设置边框 , 则相邻的边框会重叠在一起 , 导致边框变粗 ;


代码示例 :

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>margin 负值示例</title>
	<style>
		div {
			/* 浮动元素紧贴在一起 */
			float: left;
			
			/* 盒子模型尺寸 200x200 像素 */
			width: 100px;
			height: 100px;
			
			/* 设置 1 像素边框 */
			border: 1px solid #ccc;
		}
	</style>
</head>
<body>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
</body>
</html>

显示效果 :

在这里插入图片描述

邻近元素的外边框重叠在一起变粗的效果 :

在这里插入图片描述





二、使用外边距负值实现边框重叠



使用外边距负值实现边框重叠 , 设置左侧 -1 像素外边距 , 由于 浮动元素 都是紧贴在一起的 , 设置 -1 像素外边距 就会在紧贴的基础上 向左 1 像素 ;

同理 , 设置上方 -1 像素外边距也是这个原理 ;


代码示例 :

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>margin 负值示例</title>
	<style>
		div {
			/* 浮动元素紧贴在一起 */
			float: left;
			
			/* 盒子模型尺寸 200x200 像素 */
			width: 100px;
			height: 100px;
			
			/* 设置 1 像素边框 */
			border: 1px solid black;
			
			/* 设置左侧 -1 像素外边距
			   由于 浮动元素 都是紧贴在一起的 
			   设置 -1 像素外边距 就会在紧贴的基础上 向左 1 像素*/
			margin-left: -1px;
			/* 设置上方 -1 像素外边距 */
			margin-top: -1px;
		}
	</style>
</head>
<body>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
</body>
</html>

显示效果 :

在这里插入图片描述





三、重叠边框突出显示案例




1、使用相对定位


三种布局机制中 , 标准流在最底层 , 浮动盒子在中间层 , 定位盒子在最上层 ;

这里使用 定位 中的相对定位 , 相对定位仍然会占用原来的位置 , 元素还在原来的位置不动 ;

如果使用了绝对定位 , 原来的位置就会消失 , 元素默认显示在定位的父容器左上角 ;

代码示例 :

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>margin 负值示例</title>
	<style>
		div {
			/* 浮动元素紧贴在一起 */
			float: left;
			
			/* 盒子模型尺寸 200x200 像素 */
			width: 100px;
			height: 100px;
			
			/* 设置 1 像素边框 */
			border: 1px solid gray;
			
			/* 设置左侧 -1 像素外边距
			   由于 浮动元素 都是紧贴在一起的 
			   设置 -1 像素外边距 就会在紧贴的基础上 向左 1 像素*/
			margin-left: -1px;
			/* 设置上方 -1 像素外边距 */
			margin-top: -1px;
		}
		
		/* 鼠标经过 div 盒子上方时 盒子的样式 */
		div:hover {
			/* 突出显示的盒子设置红色边框 */
			border: 1px solid red;
			/* 设置相对定位 该定义可以占有原来的位置 */
			position: relative;
		}
	</style>
</head>
<body>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
</body>
</html>

默认显示效果 :

在这里插入图片描述

鼠标移动到盒子上方 , 突出显示的效果 :
在这里插入图片描述
在这里插入图片描述


2、使用 z-index 设置定位盒子层级


父元素相对定位 , 内部子元素可以使用绝对定位任意摆放位置 , 大部分盒子都有该要求 ;

如果将所有的盒子都设置相对定位 , 则使用 z-index 决定哪个盒子在最上方 ;

代码示例 :

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>margin 负值示例</title>
	<style>
		div {
			/* 父元素相对定位 内部子元素可以使用绝对定位任意摆放位置
   			   大部分盒子都有该要求*/
			position: relative;
		
			/* 浮动元素紧贴在一起 */
			float: left;
			
			/* 盒子模型尺寸 200x200 像素 */
			width: 100px;
			height: 100px;
			
			/* 设置 1 像素边框 */
			border: 1px solid gray;
			
			/* 设置左侧 -1 像素外边距
			   由于 浮动元素 都是紧贴在一起的 
			   设置 -1 像素外边距 就会在紧贴的基础上 向左 1 像素*/
			margin-left: -1px;
			/* 设置上方 -1 像素外边距 */
			margin-top: -1px;
		}
		
		/* 鼠标经过 div 盒子上方时 盒子的样式 */
		div:hover {
			/* 突出显示的盒子设置红色边框 */
			border: 1px solid red;
			
			/* 所有的盒子都是相对定位 则使用 z-index 决定哪个盒子在最上方 */
			z-index: 1;
		}
	</style>
</head>
<body>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
</body>
</html>

默认显示效果 :

在这里插入图片描述

鼠标移动到盒子上方 , 突出显示的效果 :
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值