合理地扩大页面链接响应区域

2016-02-17 03:39 4 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的合理地扩大页面链接响应区域教程,一起来看看吧!超容易上手~

【 tulaoshi.com - 平面设计 】

合理地扩大页面链接响应区域可以提高网页的易用性。同时还要兼顾到链接的交互一致性以及视觉上的平衡,就需要做一些特殊的处理。

实例一:一张图配一个链接。

合理地扩大页面链接响应区域,PS教程,图老师教程网

常规的做法有以下几种:

第一种是最常规的,只有链接可点,但整张图不可点,点起来还蛮累的。

合理地扩大页面链接响应区域,PS教程,图老师教程网

第二种是把整张图作为一个链接,链接响应区域是够大,但其实那个链接就比较尴尬,不够优雅。

合理地扩大页面链接响应区域,PS教程,图老师教程网

第三种是弄两链接,文本链接之外,图本身再配个链接。这个比以上两种都好一些,但仍然不够理想,因为两个链接的交互一致性不够,用户对点图和点链接是不是去同一个地方会存在疑虑。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/pmsj/)

这样或许会优雅一些:

图片可点,鼠标移入图片上,鼠标变手型的同时文本链接变为hover状态。这样即有足够的链接响应区域,又有很好的交互一致性,暗示用户点图和点链接去的是同一个地方,如图所示:

合理地扩大页面链接响应区域,PS教程,图老师教程网

前端代码角度上,就是把链接a标签包住整个图,那段文字用其他标签表示,比如span,再定义a的hover状态下,把span变成链接色,并加上下划线,来模拟hover效果。

实例二,可链接的标题配一段对标题的详细描述。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/pmsj/)

合理地扩大页面链接响应区域,PS教程,图老师教程网

在这个例子中,视觉角度来看,一片文字需要主次清晰,所以链接色只加在了标题上。那么详细描述部分该不该响应点击呢?非链接色出hover效果会不会有点怪呢?即使决定这儿可以链接,那hover效果导致出现大片的hover色和多行下划线,视觉设计师会跟你急吧。

这样或许会优雅一些:

让详细描述响应点击,同时让hover效果出现在标题上。如图:

合理地扩大页面链接响应区域,PS教程,图老师教程网

还有更复杂的模块,可以套用这个方式来做,比如下面这个例子:

合理地扩大页面链接响应区域,PS教程,图老师教程网

合理地扩大页面链接响应区域,PS教程,图老师教程网

合理地扩大页面链接响应区域,PS教程,图老师教程网

另外一些说明:

1、前端代码问题

虽然在html4中,作为inline属性的a只能在里面嵌套inline的标签,可以看下XHTML1.1标签列表、属性和嵌套规则(抱歉未找到HTML4的,它们类似)。但在html5中,语法定义者扩大了它的嵌套能力,我们可以用a把各种block标签统统包进来。详见html5中对a的特别说明:http://www.w3.org/TR/2010/WD-html5-20100304/text-level-semantics.html#the-a-element (感谢钨龙提供资料)。毕竟HTML5还处于草案阶段,这种嵌套方式,还是偶尔会出现一些对链接的浏览器渲染问题,但目前还未发现出错规律。

2、a标签包含的整个区域内,只响应链接了,文本拷贝比较麻烦点,需要在更大范围外进行拷贝。所以如果对拷贝文字有要求的模块,不适合采用这个方式。

3、这个方案有个附带的好处,因为整个模块只要一个链接,如果是个手工维护的模块,更新的时候很省事。

参与讨论

来源:http://www.tulaoshi.com/n/20160217/1578145.html

延伸阅读
标签: Web开发
方法一:在servlet的init()方法中缓存数据 当应用服务器初始化servlet实例之后,为客户端请求提供服务之前,他会调用这个servlet的init()方法。在一个servlet的生命周期中,init()方法只会被调用一次。通过在init()方法中缓存一些静态的数据或完成一些只需要执行一次的、耗时的操作,就可大大地提高系统性能。 例如,通过在init()方法中建立...
标签: Web开发
现在的网页,页面美观固然重要,但是网友越来越追求操作上的简便性与实用性了,页面上的链接点击是否方便就会显得更重要了,其实主要问题是出在是否点击链接弹出窗口上,如果你事先设置好点击后的情况,网友使用时就会不太方便,现在有了更好的解决办法了,网友可以自己选择打开链接的方式了,只要一个小小的input选择框就一切OK了,很方便的哟...
标签: Web开发
方法一:在servlet的init()方法中缓存数据 当应用服务器初始化servlet实例之后,为客户端请求提供服务之前,它会调用这个servlet的init()方法。在一个servlet的生命周期中,init()方法只会被调用一次。通过在init()方法中缓存一些静态的数据或完成一些只需要执行一次的、耗时的操作,就可大大地提高系统性能。 例如,通过在init(...
开放式整体厨房 厨房空间有限,采用开放式整体厨房既能兼顾收纳也能扩充视觉空间感;吊柜底部内嵌照明能进一步提升厨房亮度,深灰色瓷砖墙与白色橱柜形成鲜明的视觉对比,增加了空间活力与质感。 C橱柜设计 C型橱柜设计,造型独特,尽显厨房的现代化魅力。而挖空部分,内嵌炉具,节省空间,加上内置灯泡,实用性极强。 ...
心脏扩大 如何治疗心脏扩大 什么是心脏扩大呢,我们的心脏是我们身体上很重要的一个部位哦,我们要保护好我们的心脏,那么大家知道心脏扩大能治好吗,心脏扩大治疗是怎么样的呢,下面就让我们一起来了解一下吧。 什么是心脏扩大 可以采用X光检查,心脏扩大是心脏病的重要标志。它包括心脏壁肥厚和心腔扩大,两...

经验教程

874

收藏

31
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部