Page 177 - css揭秘
P. 177

1. 提示禁用状态

                                                  也许有人会有异议,但我坚持认为最应该得到广泛应用的新光标应该
                                              是 not-allowed(参见图 6-3)。如果要提示某个控件因为某些原因而变得
                    图 6-3                     无法交互(即控件已被禁用),用这个光标就再合适不过了。尤其是在眼下,
                    使用 not-allowed 光标来提示某     大多数表单都已经被过度美化,要清楚地表达某个表单控件是否被禁用往往
                    个控件已被禁用
                                              十分困难,而这正是这个新光标的用武之地。它的用法其实十分常规,就像
                                              这样:

                                                  :disabled, [disabled], [aria-disabled="true"] {
                                                      cursor: not-allowed;
                                                  }


                                               试一试 play.csssecrets.io/disabled




                                                  2. 隐藏鼠标光标

                                                  把鼠标光标隐藏起来听起来简直就是一场噩梦,不是吗?难道真的会有
                                              人想这么做吗?而 Web 标准竟然会为这种蠢事提供便利?!确实有一些人
                                              曾在这方面犯过严重的可用性错误,但在对他们大发雷霆之前,不妨回忆一
                                              下你以前用过的那些可怕的公共触摸屏(比如公共场所的信息查询台,飞机
                                              椅背上的娱乐系统)。由于它们的开发者忘了隐藏鼠标光标,导致屏幕上总
                                              会有个尴尬的小东西挥之不去。再回想一下,当你观看视频的时候,往往会
                                              不自觉地把鼠标移到屏幕的最右侧,这同样是因为光标碍事。
                                                  这样看来,在不少场景下,隐藏鼠标光标确实能带来可用性的提升。这
                                              就是为什么新规范会引入一个 none 类型的光标。在 CSS 2.1 中,隐藏光标
                                              也是有可能的,但需要用到一张 1×1 的透明 GIF 图片,然后这样做:

                    !                             video {
                       如果你在视频画面上隐藏了
                    鼠标光标,可别一不小心在播放                    cursor: url(transparent.gif);
                                                  }
                    控件区域也把光标给隐藏了,那
                    样的话你可就是好心办坏事了。
                                                  现在,我们再也不需要这么做了,因为可以直接使用 cursor:  none。
                                              不过,还是有必要提供一个回退方案,因为旧版浏览器可能还不认识这些新
                                              的光标关键字。我们可以利用层叠机制来实现这一点:

                                                  cursor: url('transparent.gif');
                                                  cursor: none;



                                                   „ CSS 基本 UI 特性
                                                  http://w3.org/TR/css3-ui                         相关规范





                  146   第 6 章 用户体验







          ඀ࠡ  JOEC
   172   173   174   175   176   177   178   179   180   181   182