尽管使用了 display:flex,为什么这两个元素垂直偏移?

蒂莫·恩斯特

我希望文本和图标都完美地垂直居中,如下所示:

屏幕正确

这就是为什么我使用display:flexwithalign-items:center但我得到的是:

屏幕故障

代码

注意:我使用的是 React,所以请注意内联样式 :-)

<div style="background-color:#999;position:fixed;width:100%;height:52px;box-shadow:0 -12px 27px #999;display:flex;align-items:center">
   <div style="flex:1;height:24px;margin-left:20px">
      <div style="display:inline-block;width:24px;height:24px;border: 1px solid green;">
         <img style="width:100%;height:100%;border:0" src="https://t3.ftcdn.net/jpg/00/63/33/38/240_F_63333813_qO48nGh5uFZ0EVkCYS3ZehhrR10dWg4D.jpg" alt="Logo">
      </div>
      <h1 style="display:inline-block;margin:0;text-transform:uppercase;font-family:Raleway, serif;font-weight:900;font-size:18px;height:24px;border: 1px solid red;">MyLogo</h1>
   </div>
</div>

钢笔

https://codepen.io/valnub/pen/XzxOvY

怎么了?我不明白:-( 请帮助我,哦强大的 flexbox css 大师!

勾画

您将外部容器设置为 display: flex,而不是内部容器。添加 display: flex 应该可以解决您的问题:

<div style="background-color:#999;position:fixed;width:100%;height:52px;box-shadow:0 -12px 27px #999;display:flex;align-items:center">
   <div style="display: flex;flex:1;height:24px;margin-left:20px">
      <div style="display:inline-block;width:24px;height:24px;border: 1px solid green;"><img style="width:100%;height:100%;border:0" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+ip1sAAAAASUVORK5CYII=" alt="Logo"></div>
      <h1 style="display:inline-block;margin:0;text-transform:uppercase;font-family:Raleway, serif;font-weight:900;font-size:18px;height:24px;border: 1px solid red;">MyLogo</h1>
   </div>
</div>

https://codepen.io/anon/pen/wPYOed

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么这两个div元素使用显示内联块不与顶部对齐;垂直对齐:顶部?

为什么这两个代码段使用display:table / table-cell / table-row呈现的方式有所不同?

尽管使用了 flex,但 HTML div 未居中

为什么尽管layout_gravity不同,但这两个元素仍然粘合在一起?

尽管在Java代码中使用了lock(),两个线程仍使用相同的方法?

尽管使用了异步模块,为什么这些函数仍然仍然异步执行

尽管使用了最新的angularJS版本,为什么ng-repeat-start无法正常工作?

尽管使用了C ++ 14功能,为什么用C ++ 11编译仍然成功?

尽管使用了更多线程,为什么我的程序变慢了?

为什么尽管使用了联接,但仍将其视为简单选择?

尽管我使用了 break 语句,为什么我的 for 循环有时会执行两次?

尽管我使用XMLHttpRequest在JavaScript中调用了一次,但为什么api响应两次?

Rufus-Scheduler两次调度,尽管使用了锁

尽管使用了 Overridable/Overrides,但实现 ToString 不会覆盖原始的 ToString 方法。我想念什么?

尽管启用了CORS,仍无法使用Ajax发布到另一个域

为什么尽管使用了“ insertSubview:belowSubview:”,但我的视图仍出现在另一个视图的顶部?

为什么ReSharper不建议对这两个块都使用空传播?

尽管使用了 font-size == line-height,为什么有些字符会溢出一行?

为什么这在写 ValueError 时不起作用(尽管我使用了 Tango_with_django book 1.9)?

尽管在程序中的某个位置使用了free(),但是为什么我的程序仍在C中泄漏内存?

无法使用display flex在每个分区旁边创建两个div

如何使用酶区分这两个元素?

Selenium元素不可见异常:尽管使用了正确的XPATH并放置了断点以等待元素以HTML显示

尽管使用了不同元组的联合,但 Mypy 错误“需要超过 2 个值来解包(预期 3 个)”

ConcurrentModificationException尽管使用了同步

尽管两个列表包含相同的元素,但为什么equals方法返回false

MySQL:为什么这两个错误?(无效使用组函数,使用having()后未选择任何内容)

为什么和比较两个布尔变量时使用了&&在java中?

我使用了两个相互链接的ChainedForeignKey字段,但没有。为什么?