这个问题比技术更哲学。
当 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 属性在少数浏览器中?图像映射真的是唯一的方法吗?移动设备呢?