【问题标题】:Interface design with canvas界面设计与画布
【发布时间】:2009-12-13 21:53:22
【问题描述】:

你知道制作 HTML5 的画布绘制界面的任何文档或教程吗?

我正在考虑一种分层结构,一个用于主应用程序界面,另一个用于弹出窗口、菜单等,使用多个画布对象并动态操作它们,但我发现它缺乏灵活性(例如,如果我想要一个非矩形图层/画布?)。

事实上,我是 canvas 新手,也是复杂界面设计的新手,我需要一些文字来开始理解这类任务。

非常感谢您的帮助!谢谢!

【问题讨论】:

    标签: user-interface html canvas


    【解决方案1】:

    虽然画布有很多潜力,但我不确定您是否真的想用它来制作界面,因为绘制的任何文本都不再是文本,因此辅助技术和 Google 无法看到。

    当有更合适的元素可用时,作者不应在文档中使用 canvas 元素。例如,使用 canvas 元素来呈现页面标题是不合适的:如果标题的期望呈现图形密集,则应使用适当的元素(通常是 h1)对其进行标记,然后使用 CSS 和支持技术(例如XBL。

    (来自WhatWG HTML spec

    抱歉,这不是一个更有帮助的答案 :) 顺便说一句,你希望从画布中得到什么,比如 jQuery 不提供?

    【讨论】:

      【解决方案2】:

      查看Mocha UI 或即将推出的MooTools Art library. 两者都使用画布创建一些标准的UI 元素。还有其他的。

      【讨论】:

        【解决方案3】:

        我不确定找到完全使用画布渲染的 UI 的逐步示例的最佳方法,但您可能会找到的最佳参考是 Mozilla's,或者除此之外,它们的实际 tutorial

        就使用分层的非矩形画布而言,您可能会在那里发现各种实现问题,并且您要求实现一个不适合以这种方式使用的系统。简而言之:您要求将圆钉塞入方孔中。

        从语义的角度来看,画布可能是一个不可见的块容器,因此如果您正确缩放容器,您在画布中绘制的任何内容都可能暗示非矩形视图。如果您想模仿全屏 Flash 网站的工作方式,您实际上可以将整个视图呈现在一个可扩展的大画布中,而矩形只会真正将您限制在浏览器窗口的方形。

        如果您想为单个元素使用各种画布,您仍然可以将它们层叠在一起,但最好的办法是确保这些视图不会相互干扰。

        我的下一条建议是查看Processing.js 以了解允许您自动在画布对象中动态呈现的元素的一些绘图、动画和交互性的库。

        希望对您有所帮助!如果您还有其他具体问题,例如如何让某个弹出窗口或元素以您想要的方式出现在您的网站中,请随时回来询问。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-21
          • 2016-12-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多