请注意,以下是我正在处理的一个简化/通用示例。 我只需要能够使其工作的HTML、JavaScript和/或CSS。我希望不使用任何javascript库就可以实现这个功能。此外,该页面将基于从数据库加载的数据构建。这只需要在较新的IE / Firefox浏览器中工作。
我需要创建一个网页,其中有一个固定大小的“单元格”网格,每个单元格大小为150像素 x 150像素。这是一个6x3网格的示例,但我的网格大小将根据数据库数据变化(例如4x10或3x5等):
-------------------------------------
| | | | | | |
| | | | | | |
| | | | | | |
-------------------------------------
| | | | | | |
| | | | | | | 6x3 grid of "cells"
| | | | | | |
-------------------------------------
| | | | | | |
| | | | | | |
| | | | | | |
-------------------------------------
每个单元格将需要以下内容: 1) 包含一个150像素×150像素的“主”图像。希望可以使用CSS sprites在浏览器中更改此图像。我希望将所有这些图像粘贴到单个文件中,并裁剪到每个单元格所需的大小。 2) 当鼠标悬停在“单元格”上时,将显示一个可点击的图像叠加层。在下面的示例中,我使用字母,但这些图像不会是字母,更像是图标。这些点击需要能够运行不同的每个图像JavaScript函数(因此单击“A”图像将运行函数A,而单击“F”将运行函数F等)。图像将依赖于数据库信息,因此对于不同的单元格,某些图像将包括在内,其他图像则不包括在内。它们在单元格内的位置始终固定且可控。以下是单个单元格可能具有的图像(字母):
---------
|A B C|
|D E F| a single cell where all overlay images appear
|G H I|
---------
---------
|A C|
| E | a single cell where only some overlay images appear
|G |
---------
3) 实现文字自由换行并居中于单元格内。最好让这些自由文本在主图像 #1 上方和可点击的图像 #2 下方显示,但如果它在所有元素上方也可以。对此,会有一个合理的长度限制,所以超出150px x 150px的滚动不是问题,但需要自动换行。
顺便说一下,这不是作业!HTML/JavaScript/CSS 绝对不是我的强项。我已经尝试了很长时间,并见过/使用了许多关于如何制作各种组件的示例。但当把所有东西放在一起时,我还没有找到任何能够实现的东西。