css - 用 flexbox 叠加

标签 css flexbox

我可以在文本上添加一个覆盖“元素”吗? 哪个应该居中(水平和垂直)。

<div id="container">
  <div id="item-text">text</div>
  <div id="item-overlay"></div>
</div>

这是一个 fiddle :https://jsfiddle.net/c1c7hsqj/

最佳答案

不适用于当前结构。

覆盖层需要是要覆盖的元素的子元素...以便我们可以使用定位。

所以。

.parent {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1em;
  height:75px;
  background: plum;
}
#item-text {
  border: 1px solid grey;
  background: #c0ffee;
  padding: 1em;
  position: relative;
}
#item-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 0, 0, 0.25);
}
#item-text:hover #item-overlay {
  background: rgba(255, 0, 0, 0.5);
}
<div class="parent">
  <div id="item-text">Lorem ipsum dolor sit amet.
    <div id="item-overlay"></div>
  </div>
</div>

关于css - 用 flexbox 叠加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34499519/

相关文章:

html - 如何制作半透明的&lt;input/>和透明的<button/>?

jquery - select2 改变下拉菜单的颜色

css - CSS 和 display flex 问题

html - 为什么我的 div 在悬停时都显示在同一位置?

html - Flex 元素在 Firefox 中溢出

html - 编写一个水平下拉菜单,使链接相互重叠

html - 如何使用 CSS 为类查找唯一标识符

javascript - 替换深色背景和正方形

html - 在 Flexbox 的相反方向上垂直对齐文本

html - 有没有办法让 flexbox 与 Django 一起工作?