html - Safari 9 中的子框未垂直居中

标签 html css safari

在下面的代码片段中,.inner1.inner2.outer 中没有严格垂直居中。我使用了 Safari 的内置网络检查器,但我发现框之间没有边距。

.outer {
  display: inline-block;
  border: 1px solid silver;
}
.inner {
  display: inline-block;
  margin: 0;
  width: 50px;
  height: 10px;
}
.inner1 {
  border: 1px solid yellow;
}
.inner2 {
  border: 1px solid blue;
}
<div class="outer">
  <span class="inner inner1"></span>
  <span class="inner inner2"></span>
</div>

是什么阻止了盒子相互接触,我该如何解决这个问题?

我正在使用 Safari 9.1.2

最佳答案

它是 inline-block 元素上的空白,删除它的一种方法是删除元素之间的 HTML 中的空白。

.outer {
  display: inline-block;
  border: 1px solid silver;
}
.inner {
  display: inline-block;
  margin: 0;
  width: 50px;
  height: 10px;
}
.inner1 {
  border: 1px solid green;
}
.inner2 {
  border: 1px solid blue;
}
<div class="outer">
  <span class="inner inner1"></span><span class="inner inner2"></span>
</div>

您还可以使用 Flexbox 删除空白并获得子元素的 vertical-align

.outer {
  border: 1px solid silver;
  display: inline-flex;
  align-items: center;
}
.inner {
  margin: 0;
  width: 50px;
  height: 10px;
}
.inner1 {
  border: 1px solid green;
}
.inner2 {
  border: 1px solid blue;
}
<div class="outer">
  <span class="inner inner1"></span>
  <span class="inner inner2"></span>
</div>

关于html - Safari 9 中的子框未垂直居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40172760/

相关文章:

java - 当 WebView 中加载特定 URL 时隐藏菜单项

c# - 从代码后面带参数调用 javascript 函数

javascript - 如何更改 "progress[value]::-webkit-progress-value"属性的颜色?

javascript - PHP/CSS 或 Javascript - 自动创建新的 Div

css - 放大时背景图像中出现间隙

html - 为 Internet Explorer 左对齐 img 标签,使父 div 变形

php 表单没有在数据库中提交值

javascript - 输入输入时更改焦点颜色

html - 仅限 Safari - 菜单出现在错误的位置

javascript - Safari ClipboardEvent.clipboardData 检查图像是否粘贴