7

这个问题比技术更哲学。

当 Web 开发人员被称为网站管理员时,我已经将自己训练为 Web 开发人员,而我选择的工具是 FrontPage,进入 Evrsoft 1st Page 2000。

那是我最后一次使用 HTML 图像映射。

现在是 HTML5、AJAX、矢量画布、CSS 3D、jQuery、本地存储、触摸屏 Safari,应有尽有。图像地图已经变得晦涩难懂,甚至谷歌也没有提供太多相关结果;自 2004 年以来,强制性 W3C 学校条目和一些论坛帖子。

显然,使用图像地图创建网站导航或类似的琐事在当时是一个坏主意,今天肯定是不可原谅的。

但是现在我的任务是在带有背景图像的 div 顶部创建一个多边形可点击区域。

我在图像映射中这样做没有问题,因为它似乎是为完全类似的用例而设计的,虽然我没有做过任何测试,但我无法想象任何浏览器会放弃对一个运行良好的元素的支持多年。但我忍不住想,今天一定有更好的方法来做到这一点。

我的网页创作理念是为 IE5.5 开发,然后为 Chrome 边缘设计。这意味着该网站首先需要在最过时的浏览器上进行基本的工作,然后开始添加 JS 和 CSS 以使其更漂亮、更实用、更快、更简单、更友好和更好。

因此,虽然我知道我可以在 Raphaël 中制作画布并添加各种时髦的悬停效果和东西,但我认为制作如此简单的功能不应该需要 89 kb(或 X kb)的 JS 库。甚至是 JS。

我不知道 CSS3 是否具有定义多边形区域的能力,但在认识到 CSS3 引入的巨大可能性的同时,我更喜欢将在那里定义的任何东西保留为非必要的风格,可以优雅地退化。

因此,在当今的 webdev 世界中,定义多边形点击区域的最跨浏览器方式是什么(最好是通过 jQuery.hover()或至少是 CSS可抓取的方式:hover),它不依赖于可用的 JavaScript 或 CSS 属性在少数浏览器中?图像映射真的是唯一的方法吗?移动设备呢?

4

1 回答 1

8

为什么使用图像地图导航不可原谅?它和其他任何工具一样;它有时间和地点。使用带有 javascript 增强功能的图像映射是向后兼容的,可以优雅地降级,并且具有 100% 的浏览器支持。它们不需要像 flash 这样的插件。自从 Web 浏览器问世以来,它们实际上就得到了支持。旧的东西并不意味着它没有用;恰恰相反,这意味着它得到了很好的支持。

我编写了一个名为ImageMapster的 jquery 插件来为图像地图添加效果,这样您就可以在不使用 Flash 的情况下创建交互式图像。在这些情况下,通过替换为列表,可以很容易地实现一个没有 Javascript 支持的具有相同功能的工具。就个人而言,我认为尝试在没有 javascript 的情况下为 web 编写就像尝试在没有轮胎的情况下驾驶汽车。没有它,99% 的网络都无法工作。这不是 1995 年。但如果您真的担心,图像地图的好处是基本的导航功能仍然有效。仅使用 CSS 无法做到这一点——如果您有不规则形状的区域,甚至 CSS3 也无法实现。

于 2012-06-23T18:06:57.720 回答