javascript - 如何制作不移动布局中其他相邻元素的 "big"翻转图像?

标签 javascript jquery css layout rollover

我做了一个我希望达到的相册,但它基本上是这样的:
1) 一排 4 个基本个体图像。 base image 2) 在每张图片上滚动/悬停时,会显示一个更大的图片,直接在同一个地方rollover version 3) 点击这个大图,下面会显示一个信息框。 enter image description here

我开始使用纯 CSS 搞乱这个概念。我用自己的 ID 创建了 4 个空白 div。我为它们的默认状态指定了一个背景图像(设置基本图像的高度/宽度)并使所有 4 个 div 向左浮动。显示是完美的开始。然后我为每个 div 添加了一个 CSS 类 (id):hover,用新的大图像替换基本背景图像。这是代码的示例摘录:

#box01 {
    width: 213px; 
    height: 241px; 
    background-image: url(box01.png);
    background-repeat: no-repeat;
    float: left;
}
#box01:hover {
    width: 353px; 
    height: 353px; 
    background-image: url(box01-big.png);
    background-repeat: no-repeat;
}

<div id="boxes">
    <div id="box01"></div>
    <div id="box02"></div>
    <div id="box03"></div>
    <div id="box04"></div>
</div>

这个功能但问题是大图像基本上占据了空间。以此为例。

smaller boxes move on the page on rollover

下面的信息框的显示似乎并不太难(似乎是一个 onclick 事件来切换 div 的显示)但我想知道每个框的移动。我想到了直接在基本图像之上制作第二行图像(大版本),并以某种方式制作它,以便 image01 的翻转会改变 image01-big 的可见性,因此它仍然在同一个地方而不移动基本图像。

也就是说,这似乎更适合 JavaScript 或 JQuery,对吧?我在这方面不太有经验,但我很想学习,这似乎是一个相当不错的元素,可以帮助我做到这一点。

谁能为我指明正确的方向以实现我想要实现的目标?无论是有关此类概念的教程,还是其他内容,我都会非常感激!我做了一些研究并找到了一些翻转教程,但没有足够具体的内容来解决我在这里遇到的相邻元素在页面上完全移动的问题......

最佳答案

您可以使用 CSS 的 transform 属性来放大元素,而不会在文档布局中占用更多空间。这可能会使您的图像看起来像素化,但您可以通过(悬停时)显示更高分辨率的图像来解决此问题。

这是一个简单的例子:
https://jsbin.com/johomiy/edit?html,css,output

所以根本不需要 Javascript :)

关于javascript - 如何制作不移动布局中其他相邻元素的 "big"翻转图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52917838/

相关文章:

javascript - 选择下拉适合当前选择的宽度

css - Angular Material2 md-checkbox边框颜色

javascript - 似乎无法使用 jquery 将多个变量传递给 mysql

javascript - 是否有任何节点模块或任何系统可以删除未使用的 CSS 以减少样式表的大小?

javascript - 事件真正走向并形成哪些对象?

jquery - backbone.js 应用程序范围的功能,不依赖于特定的 Controller /模型

javascript - jquery屏蔽输入插件设置值数字

javascript - 在 ruby​​ on Rails 应用程序的日历中过滤事件

javascript - 如何在数据表的单元格内添加一个按钮以在弹出窗口中显示详细信息?

一系列元素的 CSS nth-child