前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【CSS】margin 外边距负值使用案例 ( 正常外边距 | 使用外边距负值实现边框重叠 | 重叠边框突出显示 )

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

作者头像
韩曙亮
发布2023-04-24 11:20:19
1.2K0
发布2023-04-24 11:20:19
举报
文章被收录于专栏:韩曙亮的移动开发专栏

一、正常外边距案例

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

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

代码示例 :

代码语言:javascript
复制
<!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 像素外边距也是这个原理 ;

代码示例 :

代码语言:javascript
复制
<!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、使用相对定位

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

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

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

代码示例 :

代码语言:javascript
复制
<!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 决定哪个盒子在最上方 ;

代码示例 :

代码语言:javascript
复制
<!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>

默认显示效果 :

在这里插入图片描述
在这里插入图片描述

鼠标移动到盒子上方 , 突出显示的效果 :

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-04-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、正常外边距案例
  • 二、使用外边距负值实现边框重叠
  • 三、重叠边框突出显示案例
    • 1、使用相对定位
      • 2、使用 z-index 设置定位盒子层级
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档