当前位置: 首页 > 知识库问答 >
问题:

覆盖两个图像并在一个div中居中,仅CSS

戚正业
2023-03-14

我正试图通过隐藏png来显示后面的gif来播放悬停上的gif。我可以在悬停状态下播放gif,问题是它不在div的中心。我在这里试过:

https://codepen.io/yumamri/pen/rNjyPpb
<h2>
  Animation
</h2>
<div class="image_container">
  <img class="static" src="https://images.pexels.com/photos/5478103/pexels-photo-5478103.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260">
  <img class="active" src="https://images.pexels.com/photos/6329084/pexels-photo-6329084.jpeg?auto=compress&cs=tinysrgb&dpr=3&h=750&w=1260">
</div>
<p>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
  Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
  Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
  Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
.static {
  position:absolute;
  background: white;
  margin: auto;
  display:block;
}

.static:hover {
  opacity:0;
}

.active {
    display: block;
    margin: auto;
    position: relative;
}

.static, .active {
    height: 500px;
    padding: 10px;
    background-color: #EF233C;
}

共有2个答案

杭永安
2023-03-14

你想居中的是什么?“图像容器”?如果这样做


.image_container{
 display: flex;
 flex-direction:column or row (if needed);
 justify-content: center;
 align-items: center;
 height: 100vh
}

丁书
2023-03-14

您可以通过使image_container div具有一个位置:相对位置,并将其中的图像添加到中心浮动位置来获得您希望的效果,如果您尝试对齐它们,它们将不会重叠或在彼此之上。

我修改了您的代码,希望这能有所帮助:

null

.image_container {
 position: relative;
 min-height: 520px;
 width: 333px;
 display: block;
 margin: 0 auto;
}
.static {
  position:absolute;
  background: white;
  margin: auto;
  display:block;      
  z-index: 2;
}

.static:hover {
  opacity:0;
}

.active {
    display: block;
    margin: auto;        
}

.static, .active {
    height: 500px;
    padding: 10px;
    background-color: #EF233C;
}
<h2>
  Animation
</h2>
<div class="image_container">
  <img class="static" src="https://images.pexels.com/photos/5478103/pexels-photo-5478103.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260">
  <img class="active" src="https://images.pexels.com/photos/6329084/pexels-photo-6329084.jpeg?auto=compress&cs=tinysrgb&dpr=3&h=750&w=1260">
</div>
<p>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
  Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
  Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
  Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
 类似资料:
  • 在这段代码中,我试图将一个导航栏(content1)覆盖在另一个导航栏(content)之上,但似乎什么都不起作用。我做错了什么?即使我可以使其覆盖,它们也不是以容器为中心放置的。 null null 只是想知道如何将我的导航条覆盖在另一个导航条之上并使其在容器中居中,

  • 问题内容: 我试图将两个图像并排居中,但由于某种原因,它始终将图像显示在彼此下方。有谁知道我如何才能使他们居中并排在一起? 谢谢! HTML代码 CSS代码 问题答案: 尝试改变 至 HTML

  • 问题内容: 我的项目是对齐航空照片,以制作出一张马赛克地图。我的计划是从两张照片开始,将第二张照片与第一张照片对齐,然后从两张对齐的图像中创建一个“初始镶嵌”。完成此操作后,我将第三张照片与初始镶嵌图对齐,然后将第四张照片与该图的结果对齐,以此类推,从而逐步构建地图。 我有两种技术可以做到这一点,但是使用的更精确的技术仅适用于两个图像阶段,因为两个输入图像的大小必须相同。因此,我尝试了一种新的解决

  • 问题内容: 在将一个人叠加到另一个人上时,我需要帮助。 我的代码如下所示: 不幸的是,我不能将或嵌套在第一个内部。 如图所示,它必须是两个单独的,但是我需要知道如何将放置在上方和最右侧,并以的顶部为中心。 问题答案: 我建议使用来了解和子元素。

  • 我有两个div互相覆盖。我只想从覆盖区域删除边框。请看下面的示例代码 此代码将输出为: 但我希望输出为: 我怎样才能做到这一点呢?请帮帮忙。 注意:我正在使用下拉菜单。第一个div实际上用于菜单名称,第二个div用于菜单列表。

  • 问题内容: 我想将居中。但是,事实并非如此。我只想找出原因以及如何使其居中。 问题答案: 您需要设置容器的宽度。(不起作用) MDN的CSS参考说明了这一切。