当前位置: 首页 > 面试题库 >

嵌入式块盒不能放入其容器中[重复]

松嘉运
2023-03-14
问题内容

这个问题已经在这里有了答案

如何删除内联/内联块元素之间的空间? (39个答案)

4年前关闭。

不知道我在做什么错,我以为通过添加边框框,它可以恰好适合这四个框。

http://jsfiddle.net/jzhang172/x3ftdx6n/

.ok{

width:300px;

    background:red;

    height:100px;

    box-sizing:border-box;

}



.box{

    display:inline-block;

    box-sizing:border-box;

    width:25%;

    border:2px solid blue;

    height:100%;

}


<div class="ok">

<div class="box">1</div>

<div class="box">2</div>

<div class="box">3</div>

<div class="box">4</div>



</div>

问题答案:

问题在于,inline-block默认情况下,元素会渲染一些额外的空间。

为什么?因为div设置为inline-block具有某些内联元素特征。

span元素之间的空格或换行符将导致浏览器呈现一个空间。

同样,如果您要在<p>元素中编写文本,则每次按下空格键或添加换行符时,浏览器都会呈现一个空格。

此规则适用于inline-blockdiv。源中的空格或换行符将导致渲染一个空间。这会产生意外的宽度,从而导致溢出或包装。

一种解决方案是删除源中元素之间的所有空格:

.ok {

  width: 300px;

  background: red;

  height: 100px;

  box-sizing: border-box;

}

.box {

  display: inline-block;

  box-sizing: border-box;

  width: 25%;

  border: 2px solid blue;

  height: 100%;

}


<div class="ok"><div class="box">1</div><div class="box">2</div><div class="box">3</div><div class="box">4</div></div>

font-size: 0在父级上设置另一种方法,并在必要时恢复子级上的字体:

.ok {

  width: 300px;

  background: red;

  height: 100px;

  box-sizing: border-box;

  font-size: 0;

}

.box {

  display: inline-block;

  box-sizing: border-box;

  width: 25%;

  border: 2px solid blue;

  height: 100%;

  font-size: 16px;

}


<div class="ok">

  <div class="box">1</div>

  <div class="box">2</div>

  <div class="box">3</div>

  <div class="box">4</div>

</div>

其他选项包括 负边距省略关闭标签使用注释标签浮点数flexbox 。请参阅本文以获取更多详细信息:

  • 争取内联块元素之间的空间


 类似资料:
  • 问题内容: 不确定我做错了什么,我认为通过添加边框框,它可以很好地适合这四个框。 问题答案: 问题在于,默认情况下,元素会渲染一些额外的空间。 为什么?因为设置为具有某些内联元素特征。 元素之间的空格或换行符将导致浏览器呈现一个空间。 同样,如果您要在元素中编写文本,则每次按下空格键或添加换行符时,浏览器都会呈现一个空格。 此规则适用于div。源中的空格或换行符将导致渲染空间。这会产生意外的宽度,

  • 我想得到一个关于如何在Java应用程序中沙箱执行Nashorn的明确答案。 我见过“类似的问题”(我将提及),但最终没有一个答案能够解决我的担忧。 让我从定义开始。 假设我们从这里开始: 我所说的“沙盒”是指确保JavaScript不得访问任何java对象,除了在范围中添加的对象。 所以下面的评估应该没问题。 但以下评估不会: 最后,我不担心这一点: 因此,通过沙盒,我打算阻止jsCode访问我没

  • 我有下面的代码。似乎我不能将类的超类对象放入类型为集合的容器中

  • 我在一个lightbox上工作,一个通过在jQuery上单击元素打开的窗口。 在图片上工作得很好,但是如果我打开一个YouTube视频并播放它,在关闭窗口(显示:无)之后,视频会在后台继续播放。 我在lightbox上使用了本教程。 YouTube视频是以iframe的形式嵌入的。 关闭窗口 我该怎么解决我的问题?

  • null Equinox建议第二种选择更容易。但对于生产,他们推荐1。我不知道为什么。在哪种情况下,什么是真正更好的,为什么? 我是一个经验丰富的Tomcat用户,在Equinox中嵌入Tomcat会改变对它的管理吗?或者换句话说,嵌入Equinox的Tomcat会有什么不同?

  • 问题内容: 当两个 高度不同时,为什么两个较短的高度不与容器顶部对齐? 如何将小容器的顶部对齐? 问题答案: 因为默认设置为 基线 。 使用来代替: 您也可以将其应用于子元素。