当前位置: 首页 > news >正文

css相邻元素边框重合问题,解决方案

1、如下图所示,在给元素设置边框后,相邻元素会出现重合的问题

在这里插入图片描述

2、解决方案

给每个元素设置margin-top以及margin-left为负的边框

 <div style="width: 300px;display: flex;flex-wrap: wrap;margin-top: 50px;"><div style="border: 1px solid red;height: 100px;width: 300px;box-sizing: border-box;margin-top: -1px;margin-left: -1px;"></div><div style="border: 1px solid red;height: 100px;width: 100px;box-sizing: border-box;margin-top: -1px;margin-left: -1px;"></div><div style="border: 1px solid red;height: 100px;width: 100px;box-sizing: border-box;margin-top: -1px;margin-left: -1px;"></div><div style="border: 1px solid red;height: 100px;width: 100px;box-sizing: border-box;margin-top: -1px;margin-left: -1px;"></div><div style="border: 1px solid red;height: 100px;width: 100px;box-sizing: border-box;margin-top: -1px;margin-left: -1px;"></div><div style="border: 1px solid red;height: 100px;width: 100px;box-sizing: border-box;margin-top: -1px;margin-left: -1px;"></div></div>

在这里插入图片描述

3、但是如上图所示,又会导致出现每个模块合起来后实际并未占满整个空间

我的解决方案是在宽度上下手,根据观察,发现一行三列,实际导致缺失的是两个边框的大小,那么将这两个边框的大小平分到每行三列模块的开宽度内即可解决,其他情况下,由此推导

<div style="width: 300px;display: flex;flex-wrap: wrap;margin-top: 50px;"><div style="border: 1px solid red;height: 100px;width: 300px;box-sizing: border-box;margin-top: -1px;margin-left: -1px;"></div><div style="border: 1px solid red;height: 100px;width: calc(100px + 1px * 2 / 3);box-sizing: border-box;margin-top: -1px;margin-left: -1px;"></div><div style="border: 1px solid red;height: 100px;width: calc(100px + 1px * 2 / 3);box-sizing: border-box;margin-top: -1px;margin-left: -1px;"></div><div style="border: 1px solid red;height: 100px;width: calc(100px + 1px * 2 / 3);box-sizing: border-box;margin-top: -1px;margin-left: -1px;"></div><div style="border: 1px solid red;height: 100px;width: calc(100px + 1px * 2 / 3);box-sizing: border-box;margin-top: -1px;margin-left: -1px;"></div><div style="border: 1px solid red;height: 100px;width: calc(100px + 1px * 2 / 3);box-sizing: border-box;margin-top: -1px;margin-left: -1px;"></div>
</div>

在这里插入图片描述

相关文章:

  • 【内推】新风口-大模型独角兽公司minimax
  • MySQL GTID 简介 原理 应用场景 优点 注意事项
  • vue 在线预览word
  • java继承,接口,抽象类
  • centos 系统 yum 无法安装(换国内镜像地下)
  • 设计模式学习笔记 - 规范与重构 - 5.如何通过封装、抽象、模块化、中间层解耦代码?
  • HTTP有什么缺陷,HTTPS是怎么解决的
  • 探索ChatGPT在软件架构师工作中的应用
  • Spring-Cloud-Gateway Filter详细配置说明
  • 角蜥优化算法 (Horned Lizard Optimization Algorithm ,HLOA)求解无人机路径优化
  • 【NR 定位】3GPP NR Positioning 5G定位标准解读(九)-增强的小区ID定位
  • 【数据结构:树与堆】向上/下调整算法和复杂度的分析、堆排序以及topk问题
  • 泛微ecology9开发
  • Java学习笔记------拼图游戏
  • 【漏洞分析】CVE-2024-27198可RCE身份验证绕过JetBrains TeamCity
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 【技术性】Search知识
  • 08.Android之View事件问题
  • Android组件 - 收藏集 - 掘金
  • Apache Zeppelin在Apache Trafodion上的可视化
  • Debian下无root权限使用Python访问Oracle
  • es6--symbol
  • Hexo+码云+git快速搭建免费的静态Blog
  • JavaScript设计模式之工厂模式
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • Otto开发初探——微服务依赖管理新利器
  • Python学习之路16-使用API
  • Redis在Web项目中的应用与实践
  • vagrant 添加本地 box 安装 laravel homestead
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 不上全站https的网站你们就等着被恶心死吧
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 前嗅ForeSpider中数据浏览界面介绍
  • 如何优雅地使用 Sublime Text
  • 软件开发学习的5大技巧,你知道吗?
  • 深度解析利用ES6进行Promise封装总结
  • 微服务框架lagom
  • 消息队列系列二(IOT中消息队列的应用)
  • 优化 Vue 项目编译文件大小
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • 找一份好的前端工作,起点很重要
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • HanLP分词命名实体提取详解
  • #laravel 通过手动安装依赖PHPExcel#
  • ( 10 )MySQL中的外键
  • (1)(1.11) SiK Radio v2(一)
  • (1)Android开发优化---------UI优化
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (编译到47%失败)to be deleted
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (排序详解之 堆排序)
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (转)winform之ListView