首页 > 其他分享 >CSS 解决外边距塌陷

CSS 解决外边距塌陷

时间:2025-01-05 18:58:16浏览次数:3  
标签:盒子 内部 top 塌陷 内边 设置 外边 margin CSS


常见解决方案

  • 设置父盒子边框
  • 设置父盒子内边距
  • 设置父盒子的overflow
  • 设置父盒子或内部盒子的浮动属性

什么是外边距塌陷?

有两个嵌套关系的 <div>,想让内部的 <div> 距离外部<div> 顶部100px,这个时候时候, 如果直接给内部 <div>margin-top:100px; 就会出现下图情况, 内部 <div>并没有单独下移,而是父 <div> 跟着一起下来了, 这个现象就是外边距塌陷。

请添加图片描述

通过设置父盒子边框解决

在给内部 <div> 设置 margin-top 的基础上, 还要给父 <div> 设置一个透明边框。效果如下图, 但是仔细看会发现, 虽然父 <div> 的边框是透明的, 但是仍然会占有 1px; 实际使用时, 要注意调整。

请添加图片描述

通过设置父盒子内边距解决

不设置内部 <div>margin-top, 而是给父 <div> 设置 padding-top: 100px; 通过内边距的方式实现效果。但是要注意的是, 默认情况下给父 <div> 设置内边距, 会导致盒子撑大, 所以要设置 box-sizing: border-box; 使父盒子大小不变。

请添加图片描述

通过设置父盒子的 overflow 解决

在给内部 <div> 设置 margin-top 的基础上, 还要给父 <div>, 设置一个 overflow: hidden 属性, 也能实现效果。

请添加图片描述

通过设置父盒子或内部盒子的浮动属性解决

给内部 <div> 设置 margin-top 的基础上, 给内部 <div> 或者父 <div> 设置 float: left; 浮动属性, 也可以实现效果

请添加图片描述

标签:盒子,内部,top,塌陷,内边,设置,外边,margin,CSS
From: https://blog.csdn.net/ougaii_/article/details/144872629

相关文章

  • 使用js写一个方法对css进行压缩
    在前端开发中,对CSS进行压缩通常意味着移除空白字符、换行、注释,以及可能的话,缩短属性和选择器名称。然而,缩短属性和选择器名称可能会导致CSS不可维护,并且可能不兼容某些浏览器,因此这种做法并不常见。更常见的做法是移除不必要的字符,如空格、换行和注释。以下是一个简单的JavaScri......
  • 说说你对Tailwind CSS的理解
    TailwindCSS是一种现代前端开发中的CSS框架,它以实用性和灵活性为核心,提供了一系列简洁高效的工具类,帮助开发者快速构建页面和应用程序的UI。以下是我对TailwindCSS的详细理解:一、TailwindCSS的特点Utility-First开发模式:TailwindCSS采用了"Utility-First"的CSS开发模式,这意......
  • htmlcss网页设计与制作———快乐星猫(HTML+CSS)4页
             一、......
  • css3动画
    @keyframeswangyoudong{from{}to{transform:translate(900px);}}@keyframeswangyoudong2{0%{background-color:yellow;}100%{transform:translate(900px);background-color:blue;}}.inner{width:100px;......
  • 请使用CSS3制作一个瀑布的动画
    制作一个瀑布的动画可以使用多种技术,但在这里,我们将使用CSS3的关键帧动画(@keyframes)和一些基本的HTML结构来模拟瀑布效果。以下是一个简单的示例:HTML<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content=&quo......
  • 说说你对css样式穿透的了解
    CSS样式穿透,也被称为深度选择器,是一种在前端开发中常用的技术,用于跨越组件或模块的边界来修改子组件内部元素的样式。这种技术在Vue.js、Angular等现代前端框架中尤其有用,因为这些框架通常会通过scoped属性来确保组件样式的局部性,以避免样式冲突。以下是我对CSS样式穿透的详细了解......
  • 请说说css中你对flex-shrink属性的了解
    在CSS中,flex-shrink属性是Flexbox布局中的一个重要属性,它用于设置或检索弹性盒模型对象的子元素在容器空间不足时如何收缩。以下是我对flex-shrink属性的详细了解:定义与作用:flex-shrink属性定义了项目的收缩规则,主要处理当flex容器空间不足时,单个元素的收缩比例。它决定了元......
  • 请使用css画一个甜甜圈
    要使用CSS画一个甜甜圈(DonutChart),你可以利用CSS的border-radius属性以及伪元素。不过,这种方法只能创建简单的甜甜圈样式,并不能实现复杂的数据可视化。如果你需要更高级的功能,建议使用专门的图表库,如Chart.js或D3.js。以下是一个简单的CSS甜甜圈示例:<!DOCTYPEhtml><htmllang=......
  • 使用CSS如何使字体模糊?
    在CSS中,你可以使用filter属性配合blur()函数来使字体模糊。下面是一个简单的示例:p{filter:blur(2px);}在这个示例中,p标签中的文本将会变得模糊。blur()函数中的参数表示模糊的程度,单位通常是像素(px)。你可以根据需要调整这个值。请注意,filter属性是CSS3的一部分,因此在一......
  • CSS学习记录22
    CSS按钮基本按钮样式.button{background-color:#4CAF50;/*Green*/border:none;color:white;padding:15px32px;text-align:center;text-decoration:none;display:inline-block;font-size:16px;} 按钮颜色使用background-color属性......