首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

三个div并排在一起,但它们之间没有自动边距

可以通过以下几种方式实现:

  1. 使用浮动(float)属性:给每个div设置float属性为left或right,使它们浮动在同一行。同时,设置每个div的宽度和高度,以确保它们在一行内并排显示。这种方式需要注意清除浮动,以避免对后续元素布局的影响。
代码语言:html
复制
<style>
    .div1, .div2, .div3 {
        float: left;
        width: 33.33%;
        height: 100px;
    }
</style>

<div class="div1"></div>
<div class="div2"></div>
<div class="div3"></div>
  1. 使用flexbox布局:将三个div包裹在一个父容器中,并设置父容器的display属性为flex,使其成为一个弹性容器。然后,设置每个div的flex属性为1,使它们平均分配父容器的宽度。这种方式可以自动调整div之间的间距。
代码语言:html
复制
<style>
    .container {
        display: flex;
    }
    .div1, .div2, .div3 {
        flex: 1;
        height: 100px;
    }
</style>

<div class="container">
    <div class="div1"></div>
    <div class="div2"></div>
    <div class="div3"></div>
</div>
  1. 使用网格布局(grid):将三个div包裹在一个父容器中,并设置父容器的display属性为grid,使其成为一个网格容器。然后,设置每个div的grid-column属性,使它们占据网格容器中的不同列。这种方式可以自动调整div之间的间距。
代码语言:html
复制
<style>
    .container {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-gap: 0;
    }
    .div1, .div2, .div3 {
        height: 100px;
    }
</style>

<div class="container">
    <div class="div1"></div>
    <div class="div2"></div>
    <div class="div3"></div>
</div>

以上是三种常用的方法实现三个div并排在一起,但它们之间没有自动边距。具体选择哪种方法取决于具体的布局需求和兼容性要求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

前端入门4-CSS属性样式表声明正文-CSS属性样式表

background-repeat:no-repeat; background-position:100px 100px; background-attachment:fixed; 另外,背景是可以设置多个的,多个背景间会自动重叠在一起...这里需要注意一点,虽然浮动元素会造成重叠的现象,这只是正常的文档流的元素盒子被浮动元素压住了,文档流元素的文本内容会自动围绕在浮动元素周围,就像上图中块级元素四个字并没有被覆盖住。...​ 这是因为多个浮动元素之间并排显示的前提的有足够的空间让这些元素并排,所以通常对于浮动元素的宽度设置是通过百分比来设置,确保多个并排的元素即使窗口发生变化仍旧可以并排布局。 ​...有个方法可以解决,修改 box-sizing:border-box,让 width 就是盒子总宽度,当设置了时,会自动减少相应的内容区域。...浮动元素之后的元素设置 margin 失效 ​ 非浮动元素的外边不能用于它们和浮动元素之间来创建空间,通常我们再浮动元素之后的非浮动元素会进行浮动清除,顺便设置外边来创建间隔空间,这时会发现这个间隔空间失效

1.6K30

CSS入门指南-4:页面布局

标签虽然分别位于两行,这并不影响图片在浏览器中显示时的效果。图片是行内元素,所以它们显示的时候就会并列出现在一行上。而且,标签之间的空白(包括制表、回车和空格)都会被浏览器忽略。... 这里我们将两栏都添加float: left,以让它们并排显示。...为栏设定内边 为了让内容与栏边界空开距离,为栏添加水平外边和内边这样会导致布局宽度增大,进而浮动栏下滑。...与其为容器中的元素添加外边,不如在栏中再添加一个没有宽度的div,让它包含所有内容元素,然后再给这个div应用边框和内边。...这样,只要简单地设定内部div的外边和内边,就可以让它们以及它们包含的内容与栏边界保持一定距离。

2.2K10

译|CSS中的间距,前端开发中各种设置间距的优点缺点及实例

此外,CSS Tricks还在页底部和页顶部之间进行了投票。61%的开发者更喜欢 margin-bottom 而不是 margin-top。.... --> 通常,我更喜欢将组件封装起来,并避免给它们增加。由于这个原因,我有 grid__item元素,我的card组件将位于其中。...处理底部margin 假设以下组件堆叠在一起,每个组件都有底边。 ? 注意最后一个元素有一个空白,这是不正确的,因为只能在元素之间。...由于对父元素 .card__content 进行了填充,因此边框没有粘在边缘上。 ? 是的,你猜对了!负是解决办法。...需要解决的是中间设计状态,即两件物品仍然相邻,两件物品之间的间距为零的设计状态。

11.9K10

CSS 中你需要知道 auto 的一切!

使用CSS网格时,可以使用自动实现类似于 flexbox 的结果。...更好的是,使用flexbox或grid属性,以防使用它们完成工作。 如果没有,那么请使用自动作为最后的选择,而应使用CSS逻辑属性。...我们有一个有内边的 wrapper 元素,还有一个子项。子项目是绝对定位的,没有任何定位属性。...Flexbox 和 自动 当谈到flexbox时,它有无限的可能性。 通过将其与自动相结合,我们可以构建功能强大的布局。 考虑下面的例子 ? 我们在右侧包含一行标题,描述和一个操作按钮的行。...CSS将如下所示: .item__action { margin-inline-start: auto; } CSS grid 和自动 在向网格项目添加时,它可以是固定值,百分比或自动

5.1K30

那些年,我们被耍过的bug——haslayout

两个相连的 div 在垂直上的外边会发生叠加,而触发 hasLayout 的元素之间则不会有这种情况发生,如下图: ?...上图的例子中,三个 div 各包含一个 p 元素,三个 div 及其包含的 p 元素都有顶部和底部的外边只有第三个 div没有与它的子元素 p 的外边折叠。...这是因为第三个 div 使用 zoom: 1 触发了 hasLayout ,阻止了它与它的子元素的外边折叠。...上图的例子中,有两个 div它们各包含一个设置了浮动的 p 元素,第一个 div 实际被浏览器判断为没有高度和宽度,即高度为 0 ,上下边框重叠在一起。...上图两个 div 都设置了背景图,只有使用 zoom: 1 触发了 hasLayout 的第二个 div 才能正确显示背景图。

66510

关于css margin,你需要知道的一切

当两个 margin 发生重叠时,它们将组合在一起,两个元素之间的空间取较大的一个。 较小的 margin 在较大的里面。...如果出于语义目的而对元素进行包装,这些元素不显示在屏幕上,那么你可能不希望它们在显示中引入大的 margin。当web主要是文本时,这很有意义。...BFC 可以阻止的重叠。...这样,就很少会遇到 margin 重叠的问题,因为有margin的总是与没有margin的相邻。 这个解决方案并不能解决你可能遇到的问题,因为子元素的margin会与父元素相互重叠。...因此,当我们讨论垂直时,我们实际上是在讨论块维度的。如果我们在水平写作模式下,这些 margin 将是顶部和底部,但在垂直写作模式下,这些 margin 将是右侧和左侧。

1.3K40

关于 CSS margin,一些让你模糊的点

当两个 margin 发生重叠时,它们将组合在一起,两个元素之间的空间取较大的一个。 较小的 margin 在较大的里面。...如果出于语义目的而对元素进行包装,这些元素不显示在屏幕上,那么你可能不希望它们在显示中引入大的 margin。当web主要是文本时,这很有意义。...BFC 可以阻止的重叠。...这样,就很少会遇到 margin 重叠的问题,因为有margin的总是与没有margin的相邻。 这个解决方案并不能解决你可能遇到的问题,因为子元素的margin会与父元素相互重叠。...因此,当我们讨论垂直时,我们实际上是在讨论块维度的。如果我们在水平写作模式下,这些 margin 将是顶部和底部,但在垂直写作模式下,这些 margin 将是右侧和左侧。

1.3K20

深入学习下 CSS 间距相关的知识

当对多个元素进行分组设计时,用户可以通过它们之间的空间量来决定它们之间的关系。如果没有间距,用户将很难分清页面上哪些项目内容相关,哪些项目内容不相关。.... --> 通常,我更喜欢将组件封装起来,避免给它们添加,出于这个原因,我有元素 grid__item,我的卡片组件将位于其中。...在移动设备上,我希望间距低于第一个,而在桌面上,间距将在它们之间。 如果没有 CSS 网格,就不可能有这种灵活性。...处理底边 假设以下组件堆叠。 每个组件都有一个底部。 请注意,最后一个元素有边。 这是不正确的,因为应该只在元素之间。...关于解决方案 #2,它没有 CSS 特异性问题。 但是,它仅适用于一个列堆栈。 更好的解决方案是通过向父元素添加负来取消不需要的间距。

13.4K40

CSS的盒子模型

比如不写padding-left那么就是没有左内边。 快捷键就是pdt、pdr、pdb、pdl 然后按tab。...; 5 } 这个div浮动了,且没有设置宽度,那么将自动缩紧为内容的宽度: ?...整个网页,就是通过浮动,来实现并排的。 浮动的清除 来看一个实验:现在有两个divdiv身上没有任何属性。每个div中都有li,这些li都是浮动的。...第二个div中的li,去贴第一个div中最后一个li的了。 原因就是因为div没有高度,不能给自己浮动的孩子们,一个容器。 清除浮动方法1:给浮动的元素的祖先元素加高度。...两个div之间没有任何的间隙了。 3)隔墙法: 在两部分浮动元素中间,建一个墙。隔开两部分浮动,让后面的浮动元素,不去追前面的浮动元素。 墙用自己的身体当做了间隙。

1.2K30

子元素margin-top导致父元素移动的问题

问题描述 今天在修改页面样式的时候,遇到子元素设置margin-top 但是并没有使得子元素与父元素之间产生间隔,而是作用在了其父元素上,导致父元素产生了一个margin-top 的效果。...问题分析 在MDN上面有这么一段文字: 块的上外边(margin-top)和下外边(margin-bottom)有时合并(折叠)为单个,其大小为单个的最大值,这种行为称为折叠。...有三种情况会产生折叠: 1、同一层相邻元素之间 元素A 元素B .A, .B { width...例子中,A,B元素与父元素box之间没有其他元素的情况下: 元素A 元素B<...(即绝对值最大的负)的和;也就是说如果有-10px,10px,30px叠在一起,margin的范围就是 30px-10px=20px。

2.3K20

不同大小的文字底部对齐,为什么不能使用flex-end

/div>运行的效果如下:图片可以看到两个字体所在矩形虽然对齐了,但是两个文字的底部并没有对齐。...分析原因发现,是因为文字周围有一圈空白的,这个在字体大小不同的情况下是不一致的,所以矩形区域虽然对齐了,但是文字底部没有对齐。...图片使用 line-height 的正确方法在完全去掉周围这种方法不可用的情况下,只能通过把不同字体大小的透明宽度设置为一致就可以了。...: 18px">小字体运行效果如下:这样就把透明都控制为2px,让文字近似做到了底部对齐的效果。...="font-size: 14px;">小字体运行效果:个人理解,前面比较经常用的一些属性值主要是用于盒子的对齐,而 baseline 相关的三个属性值,是让盒子内文字的 baseline

71640

CSS_Flex 那些鲜为人知的内幕

它们会尽量占用尽可能多的水平空间,同时尽量减少垂直空间的占用。 内联元素在水平方向上像段落中的文本一样显示在一起。...我们使用align-items属性: >> 在align-items中,有一些与justify-content相同的选项,并「没有完全的重叠」。...Flexbox算法可能会「将元素收缩到低于这个期望大小」,「默认情况下,它们将始终按比例缩放,保持两个元素之间的比例」。 如果我们不希望元素按比例缩小,可以使用flex-shrink属性。...间距 ❝gap允许我们在每个 Flex 子元素之间创建空间。 ❞ 这对于诸如导航标题之类的东西非常有用: 自动 margin属性用于在特定元素周围添加空间。...在 Flexbox 中,自动变得更加有趣: >> 「自动将吞噬额外的空间,并将其应用于元素的」。它使我们能够精确控制在哪里分配额外的空间。

21810

【前端】:margin

[2个auto] 如果某一的外边和 width 为 auto,则设置为 auto 的那个外边等于 0。...常规流动模式下,如果把块级框的 margin-top 或 margin-bottom 设置为 auto,二者都自动计算为 0。...百分数外边、内边值是相对于父元素的内容区宽度计算。 如果height=auto,那么默认的高度是从最上边那个块级子代元素的上边框外侧到最下边那个块级子代元素的下边框外侧之间的距离。...因此,子元素的外边“游离”在所属元素的外部。 如果块级元素有上内边或下内边,或者有上边框或下边框,那么高度是从最上边那个子元素的上外边的外边界到最下边那个子元素的下外边的外边界之间的距离。...在正常流中相邻(兄弟或父子关系)块级元素的外边,组合在一起编程单个外边,而且只有上下外边才会有这种特性。

1.1K10

由position属性引申的关于css的进阶讨论(包含块、BFC、margin collapse)

在这种方式里,块级元素在它们的包含块里一个一个垂直延伸,行内元素在它们的包含块里从左至右的水平排布。 值得注意的是,在正常流里垂直(vertical margin)是重叠的。...也就是说,上下两个块级盒之间它们之中较大的元素决定,而不是他们的和!...名词解释: 折叠:在CSS当中,相邻的两个盒子(可能是兄弟关系也可能是祖先关系)的外边可以结合成一个单独的外边。这种合并外边的方式被称为折叠,并且因而所结合成的外边称为折叠外边。...折叠的结果: 两个相邻的外边都是正数时,折叠结果是它们两者之间较大的值。 两个相邻的外边都是负数时,折叠结果是两者绝对值的较大值。 两个外边一正一负时,折叠结果是两者的相加的和。...结果是: ? 父容器并没有把浮动的子元素包围起来,俗称塌陷,为了消除这种现象,除了用传统的伪类方法。

1.1K50

【CSS】340- 常用九宫格布局的几大方法汇总

background: rgba(146, 203, 230, 0.65); border-radius: 8px; } 方法一、margin负值实现 原理 原理:margin负...关键点 1. box使用overflow:hidden;无情的砍掉li的右margin 2. ul唱白脸,设置宽度坚持让三个li并排站,而不让最后一个li因为没地方挤到下一排。...红边框和子元素之间的白色距离是子元素的margin生成。 关键点 1. 父元素box以前20的内边,这次改成10,因为外孙li>div会帮忙的。... 里应外合-li的交给孩子们来做,自己只负责一排站三个人的排列工作 ...li与嫡长子的左边作用于浅红和深红之间的左边, li嫡长子的右边和下一个li嫡长子的左边综合 构成了两个li之间的间距。

1.2K10
领券