我正在尝试创建一个导航栏,该导航栏将位于我网站所有页面的顶部。
我对Raphael库使用的代码更加熟悉,对我来说,这比创建一堆瓦片和相应的JavaScript简单得多。
将画布用于这些目的是否有问题?
有谁有更好的主意吗?
在此先感谢您的任何建议。
更新:渲染速度有问题吗?同样,我完全愿意接受其他建议!
最佳答案
简短的回答:可能不是最好的主意。
更长的答案:正如逻辑黑猩猩所暗示的那样,将画布用作关键元素无疑是一个坏主意,因为不支持JavaScript和/或不支持画布的浏览器(包括网络蜘蛛,以及具有各种感知差异(盲目性等)的浏览器))一无所获。 (对于人们来说,这意味着他们将找不到您的子页面。对于网络蜘蛛(Google等),这意味着没人会找到您的子页面。)
如果您想使用Raphael或其他基于画布的解决方案,为了实现可访问性,您应该从基于html的导航元素开始(例如div中的ul li,这已经进行了多年),然后在页面显示时通过javascript替换它。加载(有关如何执行此操作的示例,请参见HTML5 Canvas replace to <div>(包括jsfiddle链接)
它不是最好的主意的原因是,您需要确保将html nav元素与基于画布的元素保持同步-尽管我猜它是否由服务器端进程(例如wordpress)生成,但它并不是太多需要进行更多工作来构建html nav元素,然后只需定期对其进行测试以确保其正常工作。