【问题标题】:Image hover always display in same position图像悬停始终显示在同一位置
【发布时间】:2017-01-22 16:44:30
【问题描述】:

我目前正在研究图像悬停颜色选择器。 右侧浮动有 3 个颜色选择器,平方尺寸较小。当我将鼠标悬停在它们上时,它们的放大图像将显示在它们的左侧,并且对于我悬停的任何小图像始终显示在同一位置。

我在这个链接中找到了一些代码:JsFiddle。 但结果并不如预期。我想这个不需要javascript,但我不知道如何将它们都放在同一个位置。

ul.color_selector li:hover span.color_detail img{
display:inline-block;
float: left;
padding-left:0px;
padding-top:-3px;
top: -105px;
left: -210px;}

谁能帮帮我,非常感谢!

【问题讨论】:

  • 我不确定,但我认为如果你使用 javascript 会更容易。

标签: html css image hover html-lists


【解决方案1】:

我给你做了一个简单的例子,只有 CSS 可以实现你想要的。 仅使用 CSS 来执行此操作有一些缺点(html 结构,已修复 padding-left 等),但它可以完成这项工作:)

你应该能够轻松地调整我的代码

如果这对你有帮助,请告诉我

请参阅下面的 sn-p 或 jsfiddle

ul.colors {
  padding:0;
  margin:0;
  list-style:none;
  position:relative;
   padding-left:220px;
}
li.color {
  
  display:inline-block;
}
li.color img:first-child {
  width:30px;
  height:30px;
  cursor:pointer;
 
}
li.color img:last-child {
  position:absolute;
  left:0;
  top:0;
  opacity:0;
  transition:0.3s;
  width:200px;
  height:200px;
}
li.color img:first-child:hover + img {
  opacity:1;
}
<ul class="colors">
 <li class="color color1">
  <img src="https://css-tricks.com/wp-content/uploads/2015/04/color-burn.png">
  <img src="https://css-tricks.com/wp-content/uploads/2015/04/color-burn.png">
 </li>
 <li class="color color2">
  <img src="https://files.graphiq.com/2307/media/images/t2/Islamic_Green_429772_i0.png">
  <img src="https://files.graphiq.com/2307/media/images/t2/Islamic_Green_429772_i0.png">
 </li>
 <li class="color color3">
  <img src="https://files.graphiq.com/2307/media/images/t2/Deep_Sky_Blue_429606_i0.png">
  <img src="https://files.graphiq.com/2307/media/images/t2/Deep_Sky_Blue_429606_i0.png">
 </li>
 <li class="color color4">
  <img src="https://files.graphiq.com/2307/media/images/Banana_Yellow_429852_i0.png">
  <img src="https://files.graphiq.com/2307/media/images/Banana_Yellow_429852_i0.png">
 </li>
</ul>

【讨论】:

  • 感谢您的帮助!!!我已经实现了您的代码,但没有出现悬停图像。我认为这将是造型问题。因为根据我的原始编码,颜色选择器位于我的网站中间,并且被 div 包裹。悬停图像应该出现在页面的其他 div 之上。可能很难理解,但我添加了一张新图片来解释我的想法。或者其实我不应该用纯CSS来实现?
  • 我可以想象我应该使用一个循环来计算每个小盒子之间的间距,并将它们放置在每个循环增量的相同位置......但我不知道该怎么做我已经用纯 CSS 完成了
  • 使用纯 css 你不能在小颜色和大颜色之间建立关系......如果它们不相关(相同的 div、兄弟姐妹、父>子等)。我的代码有效,因为 2 个 img 一个接一个地位于同一个 div 中(第一个小,第二个大)。您需要共享 HTML 结构,最好使用 JQ 解决方案。对于您在原始问题中分享的内容,我的解决方案就是答案。
  • @Mihan T 你真的给了我一个很好的例子,现在我可以通过将它们设置为不同的类并更改每个类的单独值来实现我想要的结果。这可能是一种很愚蠢的方式,但我已经达到了我的预期......再次感谢您的启发!!!
猜你喜欢
  • 2018-02-12
  • 1970-01-01
  • 2019-02-18
  • 1970-01-01
  • 1970-01-01
  • 2020-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多