新随笔(三)什么时候使用button。什么时候使用文字链接

你为什么在这个地方用button而不用文字链接呢?

这是刚才我问一个设计师的问题。

她抬头看我,眼神迷茫。说:“没什么为什么呀,我就认为放在这儿显眼呗。。

。“

预计她心里想这问的什么蠢问题呀,我就是凭直觉呗。

哈。偏偏我是一个认真的人。喜欢较真,相信世间万物均有其规则。

(或许是做过媒体的缘故。我对放在页面上的东西很敏感,要求设计师必须告诉我,为什么放这个元素在这儿。为什么不放还有一个,会起到什么实际作用)

刚才,我细致的向她说了我的看法。

题外话:每当你在页面中决定放一个元素时,要先像周星星一样问自己:”给我个理由先。“或“这个设计会影响到站点吗?”由于,你不先问自己,也会有人问你。

除非你真的再也不想认真了。

回到button和文本链接。

是选择button还是文本链接。主要是看对站点的影响来决定。

一般站点的链接有两种类型:

1。用户点击后对站点产生了影响

产生影响就是说。用户的动作影响到了站点前端和后端,站点本身有了新的变化,比方:用户创建了一个新账户、完毕了一次支付,他们的行为影响到了站点的后台。用户公布一篇新文章或评论。他们加入的内容其它用户能够看到。这些行为影响了站点的前端。这些情况下就应该使用button。

这样做是为了让醒目的button提醒用户要慎重,放在页面上的button应该是督促用户自己迅速做决定用的。

所以。使用button的规则是:当用户的行为对站点产生了影响的情况下,使用button。

2。用户点击后对站点没有产生影响

没有影响是说,用户点击后不过从一个页面跳到还有一个页面,用户在浏览站点他们除了添加你的PV,不会对站点有不论什么前端、后端的改变。这样的情况下,就应该使用简洁的文字链接。

所以,什么时候使用button,什么时候使用文字链接,规则非常easy:

1。

会对站点产生影响的,用button链接

2。

不会对站点产生影响的。用文字链接

制定规则,并不意味着。一定要在实际运行过程中“依样画葫芦”,而是为了掌握一种有效、能说出细节的思维路径,从而体现出你的专业素养。

新随笔(三)什么时候使用button,什么时候使用文字链接的更多相关文章

  1. ES6新特性三: Generator(生成器)函数详解

    本文实例讲述了ES6新特性三: Generator(生成器)函数.分享给大家供大家参考,具体如下: 1. 简介 ① 理解:可以把它理解成一个函数的内部状态的遍历器,每调用一次,函数的内部状态发生一次改 ...

  2. HTML5 十大新特性(三)——视频和音频

    一.视频(video) H5新加了video标签,用来播放视频,默认为一个300*150的inline-block. 二.音频(audio) H5新加了audio标签,用来播放音频,默认为一个300* ...

  3. 新的三种EBS类型解析

    就在前两天,创建EBS的之后页面发生了点变化,出现三种新的类型: General Purpose (SSD) Volumes Provisioned IOPS (SSD) Volumes Magnet ...

  4. 框架计划随笔 三.EntityFramework在传统事务脚本模式下的使用

    某个朋友问为什么不推首页或者允许评论,我说一直没怎么写博客,也习惯了先随便乱画再开始写文档,担心公开后一些不经意的"呓语“中得出的错误的结论会给别人错误的观点,所以这个系列只是当做熟悉写博客 ...

  5. JAVA 8 主要新特性 ----------------(三)新功能Lambda表达式入门

    一.简述       Java为了扩充匿名方法在1.8中新追加的特性.本身Java之前的版本是没有匿名方法的,只有匿名对象. 二.使用        Java中使用匿名方法必须要对应接口中的一个抽象方 ...

  6. Alpha冲刺随笔三:第三天

    课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(十天冲刺) 团队名称:葫芦娃队 作业目标:在十天冲刺里对每天的任务进行总结. 随笔汇总:https://www.cnblogs ...

  7. C++2.0新特性(三)——<=default,=delete、alias(别名)、noexcept、override、final、以及和const对比>

    一.=default,=delete 1.首先我们要回顾一下类默认函数的概念: C++中,当我们设计与编写一个类时,若不显著申明,则类会默认为我们提供如下几个函数: (1)构造函数(A()).(2)析 ...

  8. Java8 新特性(三) - 日期时间对象以及一些其他特性

    日期时间对象 关于日期时间的操作可以分为两种: 转换:与字符串的互相转换,与时间戳的互相转换 计算:计算两个时间点之间的间隔.时间点与时间段的计算(计算下周N.下个月D日.去年M月D日等等) Java ...

  9. JAVA 多线程随笔 (三) 多线程用到的并发容器 (ConcurrentHashMap,CopyOnWriteArrayList, CopyOnWriteArraySet)

    1.引言 在多线程的环境中,如果想要使用容器类,就需要注意所使用的容器类是否是线程安全的.在最早开始,人们一般都在使用同步容器(Vector,HashTable),其基本的原理,就是针对容器的每一个操 ...

随机推荐

  1. jQuery——开关灯

    js对象与jquery对象的相互转化: 1.$(js对象) 2.$(selector).get(索引).$(selector)[索引] <!DOCTYPE html> <html l ...

  2. 7、scala面向对象编程之类

    1.  定义一个简单的类 2.getter与setter 3.自定义getter与setter方法 4.仅暴露field的getter方法 5.private[this]的使用 6.Java风格的ge ...

  3. Lazarus 1.44升级到1.6 UTF8处理发生变化了

    首先这里真的要强调一下,由于Freepascal升级到3.0后,FPC的内部将整个代码处理由AnsiString改为了UTF8编码(RTL with default codepage UTF-8). ...

  4. Sybase_ASA 字符串拼接

    列转行并拼接字符串,使用LIST函数 SELECT LIST(T.NAME,',') FROM TAB_DEMO T;

  5. 【Flutter学习】基本组件之AppBar顶部导航栏

    一,概述 AppBar 显示在app的顶部.AppBar包含5大部分,如下图: 二,构造函数及参数含义 构造函数 AppBar({ Key key, this.leading, //在标题前面显示的一 ...

  6. pandas格式化str为时间,pandas将int转化为str

    code_300['HISTORY_DATE'] = code_300['HISTORY_DATE'].map(str)code_300['HISTORY_DATE'] = pd.to_datetim ...

  7. vue上传阿里云图片组件

    首先需要弄一个阿里云存储.然后配置一下.前端就可以直接上传图片并回显.可在父级组件定义上传图片类型以及大小.默认为500kb.样式可以自适应调整. <template> <div c ...

  8. UVA1395 Slim Span(kruskal)

    题目:Slim Span UVA 1395 题意:给出一副无向有权图,求生成树中最小的苗条度(最大权值减最小权值),如果不能生成树,就输出-1: 思路:将所有的边按权值有小到大排序,然后枚举每一条边, ...

  9. cmake编译安装mysql

    运维开发技术交流群欢迎大家加入一起学习(QQ:722381733) 前言:这里我使用的安装方式是(cmake编译),我选择的版本是:cmake-2.8.8.tar.gz.mysql-5.5.32.ta ...

  10. 基于vue的nuxt框架cnode社区服务端渲染

    nuxt-cnode 基于vue的nuxt框架仿的cnode社区服务端渲染,主要是为了seo优化以及首屏加载速度 线上地址 http://nuxt-cnode.foreversnsd.cngithub ...