【问题标题】:HTML 5 Custom ControlsHTML 5 自定义控件
【发布时间】:2011-07-15 16:10:43
【问题描述】:

是否可以使按钮和滚动条等标准控件看起来不同?例如,我有自己的正常和按下按钮状态的图像,如何让按钮使用它们?

如果我只是为普通样式和按下样式设置背景,按钮仍然有它的初始形式,这与我的图像形式不匹配。

那么,滚动条呢?它们很复杂,并且每个州都包含多个图像。

问候,

【问题讨论】:

    标签: html controls


    【解决方案1】:

    对于表单控件;利用 CSS 中的 :active:hover 伪类,并用图像替换按钮和表单元素的背景。在 this excellent tutorial 中,您将被引导通过这些技术使用 HTML5 和 CSS3 创建自定义搜索表单。

    对于滚动条,要么完全避免改变它们的样式(尤其是当您谈论视口滚动条时,因为它们是浏览器的一部分,而不是您的网站,并且用户希望它们看起来像一定的方式。如果你必须改变它们,只需使用渐进增强的javascript(可能使用jQuery)首先隐藏滚动条(设置overflow: hidden),然后插入buttoninput type="range"(如果浏览器则插入非HTML5元素支持很重要)到 DOM 中,按照您想要的方式设置它们的样式并挂钩他们的 click 事件以滚动任何需要滚动的内容。有 many jQuery plugins that do this for you

    【讨论】:

    • 当我按下鼠标左键时,按钮仍然是“:活动”是否正常,然后离开按钮区域,按住鼠标左键?在相同情况下,常规 Windows 按钮不会被按下。
    • @noober:这由浏览器决定。 The specs 只需说“:active 伪类在用户激活元素时应用。”。
    • 嗯...但是在同一个浏览器中,非自定义按钮的行为就像普通的 Windows 按钮。
    • +1 on '避免这样做',但如果你绝对必须,正确实施它们,在多个平台上进行测试,并考虑到可访问性。我讨厌那些在我把手放在键盘上时强迫我去拿鼠标的网站,因为一些廉价的黑客只会费心检查鼠标事件。
    【解决方案2】:

    通常您必须在这些控件上分层 div 或从头开始创建控件。查看 JQuery UI 如何显示某些控件是开始了解如何完成它的好地方。简单的方法是只使用 JQuery UI 并使用 themeroller 或自定义 css 来设置控件的样式。自己完成其中一些任务并不容易。

    http://jqueryui.com/

    【讨论】:

      猜你喜欢
      • 2011-01-07
      • 2016-10-06
      • 1970-01-01
      • 2011-11-30
      • 1970-01-01
      • 2022-11-23
      • 2012-12-26
      • 2013-07-02
      • 2015-09-06
      相关资源
      最近更新 更多