我认为你需要采取不同的看待如何解决这个问题,你的问题中的一些观点似乎被误导了。
如果它是一个组合的设计,像一个链接,那么你需要知道两两件事:
- 的网站截图是内容,而不是表象。人们来到您的投资组合以查看您所做的工作,了解HTML img(内容)和背景图像(演示文稿)之间的差异非常重要。
- 如果您具有图像缩放比例,它们在不同的分辨率下看起来会很糟糕。如果您拉伸图像或缩小图像尺寸,会扭曲图像,这在投资组合上看起来不太好。我建议你务实,并选择你的图片是固定的大小,这也有助于在图片顶部添加热点。这就是关联投资组合的作者如何处理事情,并附加一张背景图片来很好地分割页面。
要注意的另一件事是,链接的示例使用canvas
绘制点由于连接每个点的线。 Canvas通过动态变得简单,但在不使用插件的情况下不支持IE。但是,如果您不需要经常更改这些点,那么只需使用图像和CSS即可获得类似的效果。
本答案的其余部分假定您使用的是HTML4/XHTML。链接的例子使用HTML5(不正确的地方),但没有特定的要求使用这种技术,我假设你没有使用HTML5。
要开始,请将每个图像和注释视为独立的内容块,包含在单独的div中。如前所述,屏幕截图是一个内容图片,应该有它自己的img标签。我还会争辩说,这些笔记是一个特定点的列表,因此它们应该被标记为这样。
<div class="article">
<div>
<img src="my_screenshot.png" alt="Appropriate alt text here" />
<ul>
<li class="note1">Here is an interesting part of the image</li>
<li class="note2">This is also interesting</li>
<li class="note3">Look at this! Pretty cool huh?</li>
</ul>
</div>
</div>
马克 - 达:完成。您可以对每个作品使用此设置,并根据需要简单地替换内容。如果您认为积分的顺序很重要,请将ul
替换为ol
。
接下来你要考虑CSS。这只是让你开始的基础知识,它应该足以让你指向正确的方向。您需要将div.article
设置为相对位置,以便允许绝对子元素相对于该特定条目的左上角进行定位。还设置包装div
宽度,高度和居中它(也设置img
尺寸)。最后,您需要准备li
笔记进行定位。
.article {position:relative}
.article div{position:relative; width:800px; height:600px; margin:0 auto}
.article img {display:block; width:800px; height:600px}
.article ul,.article ul li {position:absolute; list-style:none; top:0; left:0; margin:0; padding:0}
/* Debug styles */
.article ul li {height:20px; width:20px; background-color:#ff0000}
现在它只是绘制每个点的点的情况。使用图像编辑器计算每个点的左上角位置(以像素为单位),然后酌情设置每个li.noteX
。
.article ul li.note1{top:156px; left:89px}
这应该足以让你走上正确的道路。一旦你解决了这个问题,你可以开始添加备注的背景图像和任何JavaScript来添加工具提示等等。至于在页面上使用多个条目,请给每个div.article
一个唯一的ID并使用它来更具体地定位li
。
编辑:Live example与微小的JS显示盘旋。原谅缺乏实际的图像,可怕的颜色应该是足够的视觉;)
很棒的工作,谢谢,但我有一些问题。 1)我可以使用800:600以上分辨率的图像吗?这在这种情况下会起作用吗? 2)我所说的网页只是主页,菜单部分,而不是投资组合,我不打算背景图片。我只想放置bg图像,以便在任何屏幕上显示图像,比如放置一个真正大的图像,如果你没有看到整个图像,它不会伤害用户界面,我只想让整个网页充满该bg图像,而不是白色背景或任何其他舒适的颜色。如果有什么不清楚的地方,我会试着描述另一种方式:) – hgulyan 2010-05-17 18:49:44
是的,你可以使用大于800x600的图像,这只是一个例子。然而,鉴于你在评论中所说的话,我认为我可能没有完全明白你想要的东西。你正在寻找什么样的东西像http://dribbble.com/上的标题 - 用一个简单的重复图片?这实际上需要一个类似的方法,如果你能确认这种情况,我会编辑我的答案以反映这一点。 – akamike 2010-05-17 20:56:50
@akamike,背景将作为矩阵(m * n)的一组圆圈,拍摄一个图像(一个圆圈)并在页面上重复它,或者它将成为一个包含所有这些圆圈的背景图像。但是这些圈子中的一些应该是独立的img,而不是在后台部分,所以用户可以点击它们,但他不应该填写任何区别,就好像所有圈子都是相同类型的,只是其中一些圈子是可点击的。如果我可以安排它,那么按钮可以随机改变,这将是很好的。希望我清楚地解释清楚。 – hgulyan 2010-05-19 12:11:30