分类: 技术

  • 4种常用扒站工具(webzip、ha_TeleportPro、Offline Explorer、wget)

    许多开始做lead,EMU的新手,需要一个英文网站,找人定制费用太贵自己又不会技术的话,可以通过扒站来获得英文站,今天给大家介绍几种扒站工具:

    1.HA_TeleportPro:

    Teleport Pro所能做的,不仅仅是离线浏览某个网页(让你离线快速浏览某个网页的内容当然是它的一项重要功能),它可以从Internet的任何地方抓回你想要的任何文件,它可以在你指定的时间自动登录到你指定的网站下载你指定的内容,你还可以用它来创建某个网站的完整的镜象,作为创建你自己的网站的参考.

    功能非常强大的离线浏览器,离线浏览的元老级作品.可以将整个网站下载到本地机器中,且与原网站的架构一样,曾经获过大奖.也是本人一直在使用的工具,个人觉得简单,易操作,成功率也高.

    下载地址:

    http://www.skycn.com/soft/198.html

    新浪爱问共享下载资料地址

    2.WebZip:

    也是一款扒站工具、离线浏览工具,WebZip 是把一个网站下载并压缩到一个单独的 ZIP 文件中,可以帮您将某个网站全部或部份资料以ZIP格式压缩起来,可供你日后快速浏览这个网站。且新一版的功能包括可预定时间来下载,亦加强相当漂亮的立体界面及传输的曲线图。因为没使用过,现附上webzip使用方法图解教程地址

    http://wenku.baidu.com/view/31d0b8c4bb4cf7ec4afed0e1.html

    WebZip 7.0.0.1025 汉化版下载地址:http://www.onlinedown.net/soft/19648.htm

    3.Offline Explorer(简称OE,做英文站利器):

    相当方便使用的离线浏览工具,可排定抓取时间、设定Proxy,也可选择抓取的项目及大小,可自设下载的存放位置、及存放的空间限制。它内置浏览程序、可直接浏览或是使用自己喜欢的浏览器来浏览、且更可直接以全浏览窗切换来作网上浏览,另它对于抓取的网站更有MAP的提供、可更清楚整个网站的连结及目录结构。 能够进行精确的链接搜索,最多可以100个线程同时下载文件,默认设置是10个线程,因此速度极快。程序支持HTTP和SOCKS4代理服务器,允许用户自定义界面,提供对JavaScript, Java Classes and Macromedia Flash (.sfw)的支持,并且能够导入微软IE、网景NC和Opera等浏览器中的书签,改进了下载处理过程和命令行参数特性,引入了“定期下载”与“断点下载”等新功能。更妙的是,你还可以创建下载模板,以后使用时可以“依葫芦画瓢”。

    最新6.0.3552 Beta1版下载地址:

    天空软件5.6.3057下载地址:http://www.skycn.com/soft/189.html

    简单介绍至此,下次出个HA_Teleport Pro的教程,等不急的朋友百度也可.

    4.wget

    wget是一个从网络上自动下载文件的自由扒站工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。

    百度搜索Wget 下载,然后放在c:\windows里面,然后在命令行中就可以运行了。下面是wget的一些常用的方法:

    $ wget -r -np -nd http://example.com/packages/
    这条命令可以下载 http://example.com 网站上 packages 目录中的所有文件。其中,-np 的作用是不遍历父目录,-nd 表示不在本机重新创建目录结构。

    $ wget -r -np -nd –accept=iso http://example.com/centos-5/i386/
    与上一条命令相似,但多加了一个 –accept=iso 选项,这指示 wget 仅下载 i386 目录中所有扩展名为 iso 的文件。你也可以指定多个扩展名,只需用逗号分隔即可。

    $ wget -i filename.txt
    此命令常用于批量下载的情形,把所有需要下载文件的地址放到 filename.txt 中,然后 wget 就会自动为你下载所有文件了。

    $ wget -c http://example.com/really-big-file.iso
    这里所指定的 -c 选项的作用为断点续传。

    $ wget -m -k (-H) http://www.example.com/
    该命令可用来镜像一个网站,wget 将对链接进行转换。如果网站中的图像是放在另外的站点,那么可以使用 -H 选项。

    更多Wget命令与介绍可以去百度百科(http://baike.baidu.com/view/1312507.htm)看看.

    转自Insun

  • GIF,JPG还是PNG?WEB开发中合理选择图片格式

    从某种程度上说,判断一个网页设计师是否优秀,可以从其在WEB开发(或网页设计)中是否合理的采用各种图片格式得出结论。事实上,或许所有人都知道图片存在GIF,JPG和PNG等格式,但并非所有人都知道它们之间的具体区别和使用技巧。
    接下来,代码吾爱将给大家介绍:WEB开发中几种最受欢迎图片格式的前世今生以及如何正确的使用它们。

    1.JPEG?
    JPEG格式是一种大小与质量相平衡的压缩图片格式。通俗一点讲,就是:高的压缩比=低的图片质量=小的文件大小。反之,低的压缩比=高的图片质量=大的文件大小。由于JPEG文件无法保持100 %的原始图像的像素数据,所以它不被认为是一种无损图像格式。

    用途:
    由于这种极其敏感的平衡特性,JPEG非常适合被应用在那些允许轻微失真的像素色彩丰富的图片(照片)场合。反之,JPEG格式图片并不适合做简单色彩(色调少)的图片,比如LOGO,各种小图标(ICONS)。

    2.GIF
    GIF格式,是为使图片能够应用在在线(online)应用程序上所特别开发的图片格式。Gif,有时也被成为“Giff”,是一种无损,8位图片格式。“无损”是指100%的保持原始图片的像素数据信息。专业名词“8位”是指,所能表现的颜色深度——一个8位图像仅最多只能支持256种不同颜色(一个多余256种颜色的图片若用gif图片保存会出现失真)。

    用途:
    由于8位颜色深度的限制,Gif不适合应用于各种色彩过于丰富的照片存储场合。但它却非常适合应用在以下场合:
    * Logo
    * 小图标(Icon)
    * 用于布局的图片(例如某个布局角落,边框等等)
    * 仅包含不超过256种色彩的简单,小型图片场合

    透明特性:
    GIF支持基本的透明特性,这意味着你能够使图片的某些像素“不可见”。在其被放置到网页中时,我们就可以看到通过这些不可见区域看到此图片后面的背景颜色(图片)。此特性非常有用:如果你需要将某个gif图片的内容置于所有图片的上层,你可以将其设置为透明。

    压缩特性:
    GIF格式采用LZW算法进行压缩,此算法是Unisys申请的一项专利。在很久很久之前,如果你想使用GIF格式,那么就意味着你需要向Unisys付费申请专利许可。不过值得高兴的是,此项专利技术已于2003年6月20日过期,我们现在可以免费的使用GIF了!

    隔行扫描:
    GIF同时也支持隔行扫描。隔行扫描能够令图片在浏览器中更快的加载和显示。此特性对于那些慢网速的浏览者来说尤其实用。

    动画GIF:
    一个动态的GIF文件,是由若干帧图片所联结而成的动态图片。在显示时,这些动态帧被反复的绘制读取出来从而形成了简单的动画效果。合理的运用GIF动画能够为网页增添动静结合的效果,而过度的使用则会使网页杂乱无章。

    3.PNG
    PNG,读“ping”,初始时被作为GIF的免费替代格式所开发,采用公共专利压缩算法。PNG格式也是一种无损压缩,但与GIF格式不同的是,PNG同时支持8位和24位的图像。

    8位PNG图像:
    一个8位PNG图片,支持透明背景且像素颜色不能超过256种。除了压缩算法不同之外,此8位PNG格式与GIF格式极其相似;

    用途:
    8位PNG图片的用途与GIF格式基本相同,
    * Logo
    * 小图标(Icon)
    * 用于布局的图片(例如某个布局角落,边框等等)
    * 仅包含不超过256种色彩的简单,小型图片场合

    24位PNG图像:
    24位PNG,支持160万种不同的像素颜色且支持Alpha透明效果,这就意味着,无论透明度设置为多少,PNG图片均能够与背景很好的融合在一起。

    对PNG的支持:
    由于PNG格式的广泛使用和开发者更加重视网页的WEB标准,不同浏览器对PNG的支持就显得相当重要了。不过,幸运的是,目前市场上主流的浏览器对PNG格式都有很好的支持,这包括:IE*, Firefox, Safari, Opera, and Konqueror。
    *但不幸的是,IE6及IE6以下的浏览器对PNG透明背景的支持并不好。不过我们仍可以通过其他方法来解决这个问题,详情请查看如何在IE6中正常显示透明PNG。
    转自不会飞

  • 【转】XHTML里有哪些块级元素和行内元素

           自从接触了计算机之后,我更是发现了生活之中无处不在的方方的世界。屏幕显示的像素是方的,硅晶体是方的,各种无法说明的也是方的。方方的世界里,我浏览的网页现在看起来也是由许许多多隐形的方框组合起来的。上图虽然有很多个圆,但我却咋的也看到了很多方呢?

       前天所写的盒子模型也是方的,今天要写的块级元素和行内元素也是方的,一点儿圆滑的艺术熏陶都没有。网页上的元素,也是基于方方的世界里面的,即使css3里面可以写出圆角,但也离不开盒子的方、块级元素的方还有行内元素的方!

       进入方方的世界,让我们以方方的角度来探讨块级元素与行内元素。

       块级元素与行内元素

       在方方的世界里,块级元素总是和其同级的兄弟块在竖直方向进行排列,并左右撑满;行内元素则与其同级的兄弟元素水平排列,呈现在一行里面。

       XHTML块级元素有哪些呢?

      ◎ address – 地址

      ◎ blockquote – 块引用

      ◎ center – 举中对齐块

      ◎ dir – 目录列表

      ◎ div – 常用块级容易,也是css layout的主要标签

      ◎ dl – 定义列表

      ◎ fieldset – form控制组

      ◎ form – 交互表单

      ◎ h1 – 大标题

      ◎ h2 – 副标题

      ◎ h3 – 3级标题

      ◎ h4 – 4级标题

      ◎ h5 – 5级标题

      ◎ h6 – 6级标题

      ◎ hr – 水平分隔线

      ◎ isindex – input prompt

      ◎ menu – 菜单列表

      ◎ noframes – frames可选内容,(对于不支持frame的浏览器显示此区块内容

      ◎ noscript – 可选脚本内容(对于不支持script的浏览器显示此内容)

      ◎ ol – 排序表单

      ◎ p – 段落

      ◎ pre – 格式化文本

      ◎ table – 表格

      ◎ ul – 非排序列表

       XHTML行内元素有哪些呢?

      ◎ a – 锚点◎ abbr – 缩写

      ◎ acronym – 首字

      ◎ b – 粗体(不推荐)

      ◎ bdo – bidi override

      ◎ big – 大字体

      ◎ br – 换行

      ◎ cite – 引用

      ◎ code – 计算机代码(在引用源码的时候需要)

      ◎ dfn – 定义字段

      ◎ em – 强调

      ◎ font – 字体设定(不推荐)

      ◎ i – 斜体

      ◎ img – 图片

      ◎ input – 输入框

      ◎ kbd – 定义键盘文本

      ◎ label – 表格标签

      ◎ q – 短引用

      ◎ s – 中划线(不推荐)

      ◎ samp – 定义范例计算机代码

      ◎ select – 项目选择

      ◎ small – 小字体文本

      ◎ span – 常用内联容器,定义文本内区块

      ◎ strike – 中划线

      ◎ strong – 粗体强调

      ◎ sub – 下标

      ◎ sup – 上标

      ◎ textarea – 多行文本输入框

      ◎ tt – 电传文本

      ◎ u – 下划线

      ◎ var – 定义变量

       关于可变元素

       当块内元素和行内元素随环境而变化时,它就变成了可根据上下文关系确定该元素是块元素或者行内元素,即可变元素。可变元素还是属于上述两种元素类别,一旦上下文关系确定了他的类别,他就要遵循块元素或者内联元素的规则限制。

       可变元素有哪些呢?

       可变元素为根据上下文语境决定该元素为块元素或者内联元素。

      ◎ applet – java applet

      ◎ button – 按钮

      ◎ del – 删除文本

      ◎ iframe – inline frame

      ◎ ins – 插入的文本

      ◎ map – 图片区块(map)

      ◎ object – object对象

      ◎ script – 客户端脚本

  • 百度阳光牧场失踪,引发的小分析,应用暂停,该怎么提示!

    今天晚上,学会儿习,按照惯例,打开百度个人中心,找到应用那个下拉小三角,打开开心农场,然后等着开心农场加载的时候,在点击阳光牧场,“咦??!!怎么没有阳光牧场了”

    0

    又仔细找了还是没有,打开整个应用盒子还是没有找到,然后百度了阳光牧场的直接地址http://apps.hi.baidu.com/sunfarm,竟然说此应用被暂停使用了(如图),虽然我知道百度的开心农场和阳光牧场里的制造屋总是处在被维修状态,嗯,这种状态虽然已经持续了一年以上。但是我还是喜欢玩百度空间的,甚至QQ农场我早就废弃了。

    其实对于这改版后的应用盒子就很有怨念,当然这也是为了推销更多的游戏,可是俺喜欢的就这两款,总是寻找寻找才能玩。要理解用户网速啊,要理解便捷啊。以前能直接进屋,现在还得走个院子才能进屋,导致别说屋了,现在院子也懒得进了,更不要说你院子里的陈列品。

    总觉得在百度空间里写点东西之后,能静静的玩,还能跟几个空间文章的“臭味相同”的互相除除草,杀杀虫子什么的。而不像在QQ空间里面玩都是很惨烈的,拍苍蝇,每个好友每个好友的去偷菜,各种交不上名字的东西,等等等,就像是一种竞争,嗯,真的是一种竞争,还见到有好友挂外挂等等等。我觉得那已经脱离的一种游戏的目的,放松休闲的目的。会感觉游戏比工作更累和不好玩。所以纵然有很多功能都不能使用,我还是欣欣然的种菜,开垦土地,然后给好友送送自己种的花扎成的礼物。

    我在想,我前天晚上刚扩充的水槽变成可供养10只动物,我放养了一只带粉色蝴蝶结的小绵羊,还有9只弯弯犄角的山羊。对了,还在左边田地里中了一棵每天一送的大礼包里面幸运的 金钱树。而今晚,我登陆上去想去采摘的时候,竟然提示我,暂不能使用!!!!!!!

    喵了个咪,暂不能使用!!!!!你家的制造屋天天都是正在维修中,暂不能使用,都暂了两年了。肿么办,肿么办!!!!你能不能给个提示啊,突然就给关了,今天我要一定要给开心农场赶紧的截屏留影。以防止出现同样事故!!!!!!

    伤感情…………..

    小分析一下

    由此得出:当用户已经习惯于某个功能或者应用后,主办方撤离的时候要写个致用户书信,写出因为什么原因导致不能使用。是暂时不能使用,还是长久停用。

    1.若是长久停用,可以给用户另外一个链接,注明类似游戏类似功能什么的。这样不仅使用户感觉到主办方对于用户的尊重,还能为新游戏吸引拉进更多用户流量。

    2.暂时不能使用的话,请具体写出几号能使用。这样用户的粘合度不会被降低。没有写出的话,每次浏览都处于在暂不能使用,用户经过三次浏览,就会确定固定印象,那就是这个暂不能使用是遥遥无期的不能使用的,就再也不浏览此网页了。

    PS-有些网站就做得很好,当逢年过节的时候会有休假,然后信息不能及时跟新就会提示说明,由于某某假日,网站内容在几号到几号之间不会更新。若有紧急联系邮箱什么的。然后用户就会感觉到哈,原来大家都会过节的~挺好的感觉~。

  • 与web网页设计师内部交流会内容预分享

    http://www.zhangxinxu.com/wordpress/?p=1743 来源

    一、引言
    在我看来,人生中能找到一个合适的搭档是很难很难的,例如舞伴,女朋友,或是web设计师。网上不是流传着这么一句话嘛:不怕神一样的对手,就怕猪一样的队友。
    0

    00

    而如女朋友之类一般都是靠自己解决的,具有很好的能动性、选择性。正所谓我选择,我喜欢。但是,对于职业化的web设计师往往都是组织安排的,就像是《潜伏》里组织给余则成安排不可抗拒的翠平这个老婆一样。你没有权力去挑三拣四,所能做的就是不断磨合。指手划脚,怨声载道,到头来啃泥巴的还是自己。

    浮生若梦如云,变幻莫测。还期待下赛季表现的姚明也要宣布退役了,对于人员流动频繁的互联网界来说,就更不用说了。数月前,公司高级UI设计师因为某些原因,离职了。加上今年业务扩大,人手不足,接连招了好几个网页设计师,但都是经验尚浅的年轻小姑娘。在最近的几个小项目的配合中,发现这几个新来的设计师有些不给力:不预先做功课(如熟悉现在的网站设计元素、风格、交互等),结果辛辛苦苦做了很多无用功;有些浮夸的效果不仅增加了自己的工作量,我们前端这块也会多折腾,但设计所提升的价值却很有限。

    其实这不能完全怪这几个新人,因为设计组那边一直到现在,还没有文档化的成型的web页面设计规范,几个上海小姑娘看上去就不是那种工作拼命型的,不可能自己去花时间琢磨现有网站的边边角角。但是,不是我自夸,我花了差不多一个月时间,在内网自建一个小站点,把新版站点前端相关的所有东西——前端样式/脚本规范以及使用等网页化了。就算哪天我被我女朋友拐骗到其他城市,新来的前端工程师一看这个站点,只要一两天时间,工作就能基本上接手了。而我这个站点上涉及到了目前网站的颜色,元素,交互等内容,这正是几个新人设计师需要知道的内容(省得以后自己随便找个蓝色当文字链接色)。正由于这个契机,组织决定这个周四,我们技术部的例会上,把几个设计师召集起来,由我讲讲当前网站的通用的文字颜色,元素,通用的交互效果等;讲下当前网站的设计理念;以及分享自己对优秀的商业设计页面的看法等。以便今后合作更加顺利。

    为了整理内容和思绪,就现在我的博客上预分享下,当然,元素、颜色、交互等对于公司以外的人没有任何意义,所以这里就不讲。这里主要讲的内容有:设计风格,商业站点的设计权衡,设计的寿命等。

    //zxx:与淘宝,盛大等大公司不同,我们公司没有用户体验部。前端er属于技术部,网页/UI/交互设计师属于另外的部门。

    二、设计风格与设计理念
    网站的设计风格为:简洁。设计理念为:自由。对于前者“简洁”大家应用都有所耳闻,像是豆瓣,google,百度等网站的设计风格就是简洁风格。“简洁”二字看上去简单,说起来容易,但是真正做好确是很难的。这东西别人嚼得比较多,这里直接忽略,不予以讨论。对于“自由”是我与之前的设计师一起讨论,在一致的设计认识上制定的。这种“自由”の风格换句话讲就是“少做限制”。举N个例子表示下这个“自由”的设计理念究竟是个什么东东。

    ①字体不做限制
    所谓字体不做限制,就是不限制网页的中文字体(个别特殊处例外),可以让一些高级的用户自定义自己喜欢的字体。具体可参见我之前的“页面可用性之浏览器默认字体与CSS中文字体”一文。

    我之前见到不少博客将字体定死为了”微软雅黑”,虽说这是个人网站,人家可以根据自己的喜好随意设置,但我还是很厌恶这个站点,因为不是所有的人都喜欢整个页面都是”微软雅黑”字体的,我就是其中之一。

    ②网页宽度不做限制
    告别之前网页固定960像素的做法。我们只限定一个网页宽度范围,最小984,最大1280像素,之间的宽度我们不管。如果你是宽屏,那你就是显示1280像素,但是,如果你不喜欢1280像素,可以把浏览器拉小点,这样就是1000像素(例如)的宽度了。

    ③元素尺寸不做限制
    像按钮,选项卡等不固定宽度,不固定高度;宽度自适应里面文字的个数,大小等;高度自适应于文字的大小,周围环境的行高等。这需要设计师在设计的时候稍稍注意下就可以实现了。

    ④表单控件风格不做限制
    举个例子,单行/多行文本框的风格,边框色等不做任何设置,让系统自己玩蛋去吧,我们不管。现在的操作系统,或浏览器下的这些表单控件的UI以及交互效果越来越赞了,我们何必浪费设计师的精力,浪费我们的代码去强制用户接受你所给的文本框风格呢?例如下图,是我window7系统下FireFox 7下的单行文本框样式,inset内陷样式,圆角,鼠标经过自动蓝色边框。
    000

    但是,还是有很多设计人员,想不通,拗不过来,他们的想法是:虽然Mac,或是window最近的系统下,文本框风格还不错,但是,像是window server 2003下,文本框丑死了,这怎么行呢?

    我们都知道新浪微博吧,可以自定义背景。我们需要去担心用户如果传了个很丑的图片,那这个页面不好看吗?

    用户既然选择了这个系统这个主题,它就不会因为你的页面使用了系统自带风格的文本框而不使用你这个页面,或是去怪你这个文本框怎么这么丑的!相反,默认的文本框更具有识别性。用惯了window xp经典主题的用户如果看到边框灰色“美化”后的文本框,反而会让其产生这个框框已经被禁用的认识。且容易与不方便控制样式的单复选框样式风格统一。

    在简洁的设计风格下,你无需担心默认风格的表单控件会影响了整体风格。并且,在人力精力成本有限的时候,我们是不是应该把注意力放在更有价值的事情上。

    //zxx:注意,一些特殊的文本框是需要我们自定义的,例如大大的搜索框。

    ⑥结构不做限制
    所谓结构不做限制,就是不能限死某个模块的高度,或者是强制等高。例如淘宝首页的这个等高设计在我们站点下就不能出现。

    0000
    等高就是限制,限制了里面的内容,同时加大了前端开发的工作量和代码量,增加了后期维护出问题的风险。网站的前端架构应付这类强制等高的布局是很吃力的。建议的设计布局应该是类似豆瓣,人人网。不管里面的内容是小月月还是郭美美都不用担心布局会因内部元素霸气外露而出问题。

    ⑦其他N例子……

    三、一切在于权衡
    还记得有次,我去找设计师:“这个按钮的3像素圆角可不可以改成2像素,这样我就不需要使用图片实现,高宽都能自适应,重用性高了。”设计师的回复是:“不行,必须3像素,2像素不好看!”我立马就像霜打的茄子——蔫了。此话一出,我就懒得继续沟通了。

    我记得以前腾讯哪个设计团队的招聘信息上对人员的要求之一就是:权衡出最优解决方法的能力。

    请记住这个动词兼名词——权衡。

    不过,请允许我拐个弯,先讲下另外一个似乎不太相关的概念:最小现实成本下的商业价值收益。

    恩恩,上面加粗斜体的概念因为有些难懂,所以看上去貌似蛮专业的。但其实,我这里深刻检讨,是我自己瞎凿腾出来的。你也可以用通俗的话理解,就是:要以老板的思维看问题。

    我们在成长的过程中,老爸老妈,二爸二妈等等,应该会教育我们,要学会站在对方的角度看问题,设身处地为他人着想,要与人为善。“哇哦,鼓掌!听上去不错,其实本身是不错的。”这种教育下的优秀成果就是善解人意的好姑娘,好小伙。这样子的人做适合作伴了,男女朋友啦,长久夫妻啦,工作搭档啦!

    但是,请注意这里是个转折,我并不赞同工作合作的时候总是站在对方的角度着想,当然,更不是站在自己这边。而是把自己想象成老板,站在老板的角度权衡处理问题。毕竟我们是打工的,是职业人,是为同一个老板打工的。

    下面我们上演几出小个小小对手戏来阐释我上面究竟唾沫横飞的是什么内容(小前 – 前端工程师, 小设 – 网页/交互设计师)。

    Action 1. 如果小前是善解人意的老好人,可能会有如下的狗血剧情:
    小设:“小前,这个平滑移动的效果好酷酷哦,可以不可稍稍多点功夫,做成这样呢?我知道你行的,实现这样的效果对你来说就像是在无人的电梯里放屁屁那样轻松。”
    小前:“……行,No Problem!交给我吧。”(旁白:实际上小前已经忙得连给家里打电话的时间都没有)

    于是,我们就会在七夕的晚上,看到公司惨白灯光下,孤身一人的小前加班的消瘦身影;而此时的小设正和自己的新男友卿卿我我,打情骂俏。要知道,剧情总是很狗血的,小前好不容易加班加点做出这个酷酷地平滑动画效果,结果由于IE6下的性能和效果实在是糟糕,又被推掉重来了,于是悲剧的小前又开始了自己习以为常的加班。

    在小设看来,这个小前是很好相处很好沟通的,但是,最后的结果呢?

    Action 2. 如果小设是善解人意的老好人,可能会有如下的狗血剧情:
    小前:“小设,这个框框的圆角效果好碍眼哦,可不可以稍稍改下造型,变成那样呢?你知道你懂的,实现这样的效果对我来说就像是在老板的饭局上放响屁那样痛苦。”
    小设:“……恩,那好吧!我再改改。”(旁白,实际上小设这个圆角能很好地提高页面的活跃度和亲和力)

    于是,我们就会在七夕的晚上,看到公司惨白灯光下,孤身一人的小设加班的消瘦身影;而此时的小前正和自己的新女友卿卿我我,打情骂俏。要知道,剧情总是很狗血的,小设好不容易加班加点吧圆角设计改成平角,结果由于用户反映页面设计太死板,又被推掉重来了,于是悲剧的小设又开始了自己习以为常的加班。

    看到此刻的剧情,我们是不是可以体会到网上所流传的“每个苦逼的设计师后面都有一群指点江山的神”这句话的含义了呢~~

    00000
    OK,上面两出对手戏,看上去有人得了便宜,有人扮演了杨白劳的角色。但是,要是从老板的角度来看,单方面的妥协似乎让沟通合作还不错,而实际上最后的结果是产品质量打折扣了,人力成本增加(加班),时间成本也增加了(返工)。这其实类似于木桶原理,这并不是老板想看到的。而一味地站在自己这边,以自己的角度说话而不妥且,可能换来的就是沟通不愉快,合作不愉快,这显然也是不好的。此时,需要的就是我们权衡的能力了,而无论是设计师还是前端工程师的权衡点就是“最小现实成本下的商业价值收益”,也就是人人站在boss的角度看问题,应采取最小成本(主要是双方的人力成本),同时最大收益的策略。可能设计师需要妥协,也有可能技术这边妥协。

    这里我需要提醒下,站在老板的角度看问题,并不是指按照老板的喜好看问题,而是按老板这个身份去看问题,从高处宏观地看待设计师和前端工程师之间意见相左的部分。

    由此可见,问题沟通的关键就在于权衡。就那上面的两个Action举例:
    Action1中,炫酷效果所带来的好处(视觉),与前端工作人员的工作量、产品的性能、可维护性、对产品气质影响等之间一权衡,如果站在一个高处,从公司的成本利益角度来看,没有这个所谓的炫酷效果更实在些,这种情况下,交互/视觉/网页设计师就不能只站在自己的角度,阐述这个效果怎样怎样好,或是拿出类似情感化设计之类的理论来说服技术人员来实现;技术人员也不能认为是实现设计师设计的效果就是自己的工作职能,天经地义的事情,送个桃子往嘴里塞,送个馒头往嘴里塞,送个大便也居然网嘴里塞。
    Action2中,圆角设计对于产品提升的好处(网页的体验,亲和力)与技术实现的人力成本权衡来看,必要的圆角显然带来的收益要更大些。此时,需尊重设计。

    这嘴巴动一下所损耗的能量估计只有栋一下胳膊的千分之一。随意呢,有些事情呢,说起来简单,做起来就难咯。这权衡的能力不是男人下面的小鸡鸡——生下来就有的。显然,你需要懂设计,你还需要懂技术,然后你还需要懂产品。哟!有人要惊呼了,这不就是产品经理吗?对的,当我们询问为何要有产品经理这个职位?什么是一个好的产品经理?的时候,我们就可以用“权衡能力”这个词加以一定的解释。好的产品经理需要有好的权衡能力,而好的权衡能力需要懂设计、懂技术、懂产品,而好的权衡能力可以让产品以“最小的生产成本实现最大的收益”,这就是企业所急需要的。

    因此,可以说,一切在于权衡。

    现在回到本部分开头那个3像素,2像素圆角的例子。我为什么会觉得无语?原因如下:
    1. “我觉得3像素圆角好看”。我们一直都提倡以用户为中心的设计,你说你一个设计师觉得好看有毛用啊,除非你是引领时尚的顶尖设计师,但是,不幸的是,你不是。而且我们是商业网站,不是流行宣传时尚站点,不是可以随意表现自己设计想法的个人网站。
    2. 从权衡的角度来讲,3像素圆角降到2像素所带来的元素美观度上的下降,和工程师实现的成本,以及后期的维护等权衡来看,前者显然是轻很多的。如果说是把3像素圆角直接变成直角,那对设计的影响可就是另外一回事了,权衡来看,可能就是后者轻了。完全只会站在自己的角度看待问题,这真是让人无言以对。

    四、谁牛逼听谁的
    理想是美好的,现实是残酷的。虽说产品经理这个职位本身扮演着权衡者决策者的角色,但是,往往很多时候,产品经理是技术出身,或设计出身,在权衡做决策的时候会有失偏颇。于是难免会有诸如“这个家伙不懂技术”或“这个家伙不懂设计”这样的微言。一旦决策者失去了信任,那就可能在产品开发的时候出现不和谐的音符。

    所以,我个人并不赞同非得是产品经理做决策者,权衡者,而应该是谁牛逼听谁的。

    有些优秀的设计师,本身前端技术也很牛逼;有些优秀的前端工程师,当初做设计也很赞!像这类真正优秀的多面手,往往会制定出最佳的权衡方案。让这些人听一个半吊子产品经理让人无语的决定,不就是让赵括去率领赵军去打长平之战嘛!

    想必不少人知道目前最流行最热门的Facebook是工程师驱动的文化:产品开发流程由工程师而非产品经理主导。具体可参见csdn上的这篇文章:Facebook工程师驱动的文化。

    里面有段作者注释的话我比较感兴趣:

    我就是产品经理,当然对这一点特别关注。其实从下文可以看出,Facebook的文化其实全面吸收了产品管理实践,他们不是忽视产品管理,而是创造了一种人人对产品负责的文化。

    这与上面反复提到的“以老板的思维看问题”是一致的:人人以老板身份自居,人人对从企业利益的角度为产品负责。

    之所以Facebook是工程师驱动的文化,除了完善的运作机制外,很大一部分原因是因为Facebook的工程师足够牛逼,招聘时百里挑一,这些工程师往往感性与理性并重,都是不可多得的人才。然而,放眼国内,受大环境的影响,感性与理性并存的优秀工程师似乎要少很多,于是更多的是形成了产品经理说事的局面了。

    在看看市值惊人的乔布斯的苹果帝国,其公司是设计师地位牛逼逼啊,而不是工程师。

    从这些优秀的大公司我们其实就可以看出,没有谁规定当设计师与前端工程师出现意见冲突时就得听产品经理的,没有哪条规定说你是产品经理我就得听你的。我个人一贯的观点就是:谁牛逼听谁的!这往往才能创造最大的价值,做出最优秀的产品。

    五、网站气质
    经常在互联网上晃荡的IT从业者可能见过这样一张图片,是用两个不同的人来代表facebook和Google的这两个网站。图片中,Google使用的是一个有些富态,西装笔挺戴眼镜的沉稳的中年大叔;而facebook使用的是一个牛仔裤配休闲上衣的酷酷的小伙子。了解这两个世界级网站的人都会觉得这两个人物形象将这两个网站的气质形容得恰到好处。

    000000
    网站气质之意义不亚于产品广告商标语的重要性,我们对于李宁-一切皆有可能,或是Adidas-nothing is impossible这类商标语耳熟能详的同时也记住了这些产品。网站如何才能有气质,按照我自己比较浅薄的认识,最基本的,是要有一致的网站内部结构,统一的设计与交互体验风格,这些有利于人们建立网站的心理表征,有利于培养网站的气质。

    我们一提到豆瓣,脑中就会浮现出豆瓣那种调调的页面;一提到人人,脑中就会浮现出人人那个调调的页面;甚至提到一些垃圾站,你也可以浮现出那种调调的页面。正如乞丐也有自身的气质。关键是要有统一结构、统一设计、统一的交互。

    我们在做产品的时候,总喜欢加入自己一些新的想法,新的设计,新的技术等,因为这会增加我们的价值感,这些都是正常的。但是,作为有职业素养的人,如果不是公司给你练手的项目,不应该把产品开发作为自己的试验田,尝试各种设计。要试验,你可以自己折腾个个人网站,随便怎么折腾。

    如果一个网站各个频道的页面风格调调不一,宽度不一,交互不一,如何让用户建立网站的心理表征,这样的网站无法有深入的形象气质深入用户之心,对于网站而言,这样的产品是糟糕的。所以,我想对各位设计师说:不要在某某网站看到什么不错的交互就在新的设计页面上体现;不要每次页面改动就设计一套新的交互按钮;不要总想把页面搞成自己喜欢的调调。我实在想不通了,自己要花功夫去做新设计,工程师也要跟着受罪,且产品气质也给搞没了,为何要做这么吃力不讨好的事情呢?直接把以前通用的按钮那里,结构拿来,交互拿来,好好花功夫做排版,不很好嘛!轻轻松松,可以早早下班去陪男朋友,我们开发的也轻松,产品质量也不错。大家好才是真的好!

    六、设计寿命
    我想,就一个IT企业而言,不可能有很多闲人的,人力资源是有限的。此时,我们在做设计的时候,是不是应该考虑下自己设计的寿命问题。

    例如,你设计了一款选项卡样式。你觉得你这个设计可以存活多久?可否大规模复用?如果这个选项卡只能在某个页面某个位置使用,则,我可以拍屁股保证,这个选项卡的寿命是低的,设计师与开发人员所付出的劳力成本没有可重复利用价值,如果不是特殊设计,拿这就是个糟糕的设计。

    在我看来,好的选项卡应该是适用于各种风格各种环境,宽度自适应于内部文字,高度自适应于文字大小与行高,所谓:“能进能退,乃真正法器”。像这样子的选项卡,使用寿命就会很长,使用广度就会很广。一旦打造成型,以后的工作就很轻松了,设计师也不需要花额外精力去折腾新的选项卡样式,因为高度可改,宽度可改,自适应于周围环境,显然,开发制作人员也会很轻松。

    元素的寿命时间正是抵消我们工作的时间,也就是设计的寿命越长,随着时间的推移,我们之后开发,设计,维护的时间越短。所以,设计的时候专门花点时间考虑页面元素的寿命,权衡来看,受益更多。

    关于设计元素生命周期的问题我之前有专门的文章探讨,名为:“CSS按钮(a/button)生命周期的一些认识”,这里就不重复阐述自己的观点了。

    七、重视细节
    我是个看图说话的人,且尤其对设计图的细节非常重视。但是,公司这几个年轻的设计师貌似在设计图的细节上处理地很毛糙,可能是赶工的原因吧。举个简单的例子:
    0000000

    先不管上面这个选项卡设计的风格过于强烈,无法适用于其他环境,就设计图上可提高的设计细节就有4个:
    1. 这一点其实与设计细节无关,只是设计师未考虑到技术实现,这个渐变边框线是图片与非图片实现的关键点,看参见我之前“CSS页面重构无图片准则”一文,对于用户而言,这里是1像素白色-灰色渐变还是是单纯1像素白色边框不会对其产品使用产生影响的,但是,对于开发,甚至设计自己都是一定的工作量,且影响了产品质量。因此,这里应该使用1像素白色边框线。
    2. 直接使用photoshop画出了的去锯齿圆角,在web页面设计中,这类圆角应该是保留锯齿才是上策,这样子的颜色更纯粹,我们在制作的时候可以准确抓取颜色。而现在这个样子(白色边框线区域被粉色污染)的只能使用图片了。而好的设计师应该会把这里的颜色处理得很干净的。
    3. 文字颜色也是去锯齿的,我是个非常尊重设计图的人,如果设计图上文字长这个样子,我会认为它就是张图片的。但是,询问下指导,原来这里的上海二字是文字。如果是文字,应该就是普通浏览器下的文字模样,保留锯齿。
    4. 下边缘转角的处理,首先不管1像素的边角是边框色还是背景色,就左右两边不对称而言,就表明了设计师在做页面的时候,有些匆忙了。

    很多个这样子不注意的,不愿意花功夫处理的小细节,导致的就是一个粗糙的设计图。如果让我看到这样子的图,会影响我工作的积极性的。

    所以,我希望诸位设计师与其花大把时间去折腾新风格的按钮,交互啊什么的,还不如多花点时间把按钮,选项卡等的细节做到足够专业,对于产品而言,这才是更重要的。

    八、结语
    今天已经周四了,其实本文计划是周一就完成的。但是,天有不测风云,空间不知被谁DDOS攻击,然后被服务商给停了。然后,最近正是热恋期,一下班就去陪女朋友。后来换服务商啊,迁移数据啊,一直昨天下午才陆续恢复,然后马不停蹄把这篇文章赶上。所以文章的后半部分可能显得有些仓促。下午就要开会了,演示文档还没做,有些急啊。好了,其他一些话就不多说了。

    时间仓促,文章难免会有表述不准确的地方。欢迎指正。也欢迎有不同观点的从业人员分享您的观点。激烈的思想碰撞有利于彼此的快速成长。感谢阅读。

  • JQuery $ 未定义

    在引用Jquery时,必须得注意引用顺序

    jquery.js必须得放在最前面,不然会出现“Jquery未定义”的错误!

    html文件导入jquery库和自定义js文件时顺序出错,必须是先导入jquery库,然后再导入自定义Js文件,这样页面在解释执行时,自定义js脚本才能引用jquery库脚本。

  • HTML特殊字符大全(一)

    HTML的特殊字符我们并不常用,但是有的时候却要在页面中用到这些字符,甚至有时候还需要用这些字符来实现某种特殊的视觉效果。现在,国外的设计师Neal Chester整理了一份很全的特殊字符集,我觉得这很赞~~,共享出来供大家查阅吧。

    http://www.qianduan.net/html-special-characters-daquan.html 中文翻译

    http://ikwebdesigner.com/special-characters/ 原文

    使用方法:
    · 这些字符属于unicode字符集,所以,你的文档需要声明为UTF-8;

    · 下面符号列表的后面有两列编号,它们并不太一样,第一列是用于HTML的,你需要在前面加上&#符号;

    · 第二列可以用于CSS文件中,但是需要用反斜杠\转义;

    · 第二列也可以用于JavaScript,和CSS用法一样,不过要用\u来转义。

    需要主意的是:
    · 有的字符在不同的浏览器下表现不太一样;比如小雪人 ☃ 在Firefox和Chrome下不太一样,钻石 ◆ 在IE下要比Chrome下要大一点儿;

    · 有的字符在某个浏览器下不会显示;当然原因并不是字符代码的问题,而是浏览器的bug,比如,–在Chrome下。。。

    · 但是,98%的字符都能在所有浏览器下正常显示的,不过如果你真的要使用,最好仔细在各个浏览器下验证一番。

    · 经测试这些字符在Android/iOS等智能终端的识别度比较差,所以,使用的时候要特别注意移动浏览器~~

    各种箭头
    · ⇠ 8672 21E0

    · ⇢ 8674 21E2

    · ⇡ 8673 21E1

    · ⇣ 8675 21E3

    · ↞ 8606 219E

    · ↠ 8608 21A0

    · ↟ 8607 219F

    · ↡ 8609 21A1

    · ← 8592 2190

    · → 8594 2192

    · ↑ 8593 2191

    · ↓ 8595 2193

    · ↔ 8596 2194

    · ↕ 8597 2195

    · ⇄ 8644 21C4

    · ⇅ 8645 21C5

    · ↢ 8610 21A2

    · ↣ 8611 21A3

    · ⇞ 8670 21DE

    · ⇟ 8671 21DF

    · ↫ 8619 21AB

    · ↬ 8620 21AC

    · ⇜ 8668 21DC

    · ⇝ 8669 21DD

    · ↚ 8602 219A

    · ↛ 8603 219B

    · ↮ 8622 21AE

    · ↭ 8621 21AD

  • 底栏IE6模拟fixed div固定位置(css实现)

    .fixed-top /* 头部固定 */{position:fixed;bottom:auto;top:0px;}
    .fixed-bottom /* 底部固定 */{position:fixed;bottom:0px;top:auto;}
    .fixed-left /* 左侧固定 */{position:fixed;right:auto;left:0px;}
    .fixed-right /* 右侧固定 */{position:fixed;right:0px;left:auto;}
    /* 上面的是除了IE6的主流浏览器通用的方法 */

    * html,* html body /*

    修正IE6振动bug */{background-image:url(about:blank); /*用浏览器空白页面作为背景*/
    background-attachment:fixed; /* prevent screen flash in IE6 确保滚动条滚动时,元素不闪动*/

    }
    * html .fixed-top /* IE6 头部固定 */{position:absolute;bottom:auto;top:expression(eval(document.documentElement.scrollTop));}
    * html .fixed-right /* IE6 右侧固定 */ {position:absolute;right:auto;left:expression(eval(document.documentElement.scrollLeft+document.documentElement.clientWidth-this.offsetWidth)-(parseInt(this.currentStyle.marginLeft,10)||0)-(parseInt(this.currentStyle.marginRight,10)||0));}
    * html .fixed-bottom /* IE6 底部固定 */{position:absolute;bottom:auto;top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)));}
    * html .fixed-left /* IE6 左侧固定 */{position:absolute;right:auto;left:expression(eval(document.documentElement.scrollLeft));}

    另附:以上为boahy博客的,今天在本地原来一个项目加效果的时候,在IE6和IE7中会出现底栏水平右移。

    小结:不要在body里面加text-align:center; 因为很多时候想让外层content居中,有方法是加个text-align:center,这会导致在IE6 与IE7中模拟底栏水平右移。

    纸上得来终觉浅,绝知此事要躬行啊。哈哈

  • 盲人站长深恶痛绝的onfocus=”this.blur()”——虚线框去掉方法的慎重

    前一段时间转载了篇,如何去除虚线框的。当时有提示说对于盲人虚线框是有作用的。但是具体什么作用,不知道。幸好今天看到了这篇文章。就再次转载过来

    原文地址http://ued.taobao.com/blog/2011/04/15/onfocus-this-blur/ 淘宝ued

    —————————————————————————————————————————————————————

    杭州最美的季节里,淘宝无障碍访问改善小组有幸邀请到盲人在线站长——争渡读屏团队成员——杨永全同学和我们一起面对面交流网站无障碍访问方面的问题。杨同学使用电脑必须使用读屏软件,就像他看不到我们的脸必须靠声音识别我们一样。在谈到读屏软件操作页面时,他对我们前端的同学特别的强调:他最深恶痛绝的就是页面链接上有 onfocus=”this.blur()” 这句代码,这从何说起呢?

    0

    (图一)

    各位同学,看到这句代码有没有觉得眼熟,对的,你懂的,我们常用它来去除链接取得焦点时外围出现的虚线框(如上图一),google一下,前面几十页谈的都是这个去除虚线框的技巧。但我们也许以前从未想过:我们的这行代码给盲人用户们带来了巨大的困扰:这中断了盲人用户的Tab键路径,导致Tab光标无法聚焦页面的下一个控制器(链接、表单域、object、image map等)。测试如下:


    第一个链接
    第二个链接
    第三个链接
    第四个链接
    第五个链接
    第六个链接

    按下Tab键,第一和第二个链接都可以正常获取焦点,继续Tab到第三个链接时,悲剧出现了:此时焦点会回到第一个链接,而无法Focus到第四个链接,原因是当Focus到第三个链接时,onfocus=”this.blur()” 事件处理强制触发了失焦,焦点重新回到文档的最开始。于是不停按Tab的结果就是焦点在前面三个链接轮流转,后面的内容通过Tab键无法访问[1]。

    00(图二)
    那么,有更好的方式吗?从根源上看,加onfocus=”this.blur()”是为了去除链接获取焦点后外围的虚线框(当然chrome、safari、opera下的focus效果各异,这里姑且就这么叫吧 )。W3C关于Outline的文章里说明这个虚线框用来告诉用户当前页面获取焦点的元素。我觉得,虚线框的存在有它的合理性,但有时你也许无法回避某些”视觉洁癖”需求(如图二:虚线框使“商品”背景和下面的红色色块分隔开了),以下总结了去掉虚线框的几种常用方法:

    去除虚线框的方法优劣兼容性是否中断tabthis blur链接聚焦触发时失去焦点,js和html耦合在一起没有兼容性问题是a:focus {outline:none}或
    a{outline:none}outline由css2.1引入,去除虚线框视觉上的问题正是css的职责ie6/ie7不支持,ie8+/ff /safari/opera[2]支持否hidefocus该属性是ie的私有属性[3]ie5+支持否a { noFocusLine: expression(this.onFocus = this.blur())}可批量处理,但expression的性能问题不能忽视expression ie6/7支持,ie8+、非ie不支持是
    综合以上,去除链接虚线框的推荐方法是:ie下用hidefocus属性,ff/chorme/opera/safari下用outline:none。即:

    链接
    a:focus {
    outline:none;
    }

    杨永全同学无奈地说,如果页面因为onfocus=”this.blur()”导致tab无法访问页面全部内容,争渡读屏软件在读取页面之前会强制过滤掉这个属性,但是如果用户是在js里面动态触发this.blur(),读屏软件又要出新招来克制了。这无疑增加了读屏软件的开发工作量,为了让盲人用户们能更顺畅的访问我们的网站,尽量避免使用onfocus=”this.blur()”哦。

    注释

    [1]Safari默认情况下,按tab键是不会focus链接的,但会focus表单域,在偏好设置-高级勾选“按下tab以高亮显示网页上的每一项”可开启该功能。Opera比较特殊,它通过shift+上下左右方向键可以向上下左右focus页面焦点。

    [2]在Opera下点击链接(focus和active状态)时都不会出现所谓的虚线框,所以Opera下链接的虚线框问题可以不计。 Opera 通过shift+上下左右键产生的线框通过outline:none并不能去除,但是Opera支持outline这个属性。

    [3]hidefocus属性是ie的私有属性,虽然hidefocus属性有true or false两个值,但测试结果是ie5-ie9不管其值为true or false, 只要添加hidefocus属性,该链接都会失去虚线框。

  • ie6 ie7中input标签隐藏边框(border:none与border:0的异同)

    今天做表单,直接表格里面用input。后来因为使用户看起来表单更像文稿,把边框都去掉。按照习惯直接none。发现input text在IE6与IE7中边框并没有去掉(button类型的input有效果,边框已被去掉)。

    谨记,input[type=button]{border:0;} — 在IE6中不兼容—

    input{border:none;}/* IE8 火狐 chrome*/

    input[type=text]{ border:0; }/* 在所有input中类型是text的隐藏边框,兼容 ie7 ff chrome */

    input{border:0;}/* 包括所有input,兼容 ie6 ie7 ff chrome */

    后在网上搜索,这个border:none与border:0的区别

    border:none;与border:0;的区别体现有两点:一是理论上的性能差异二是浏览器兼容性的差异。

    1.性能差异

    【border:0;】把border设为“0”像素虽然在页面上看不见,但按border默认值理解,浏览器依然对border-width/border-color进行了渲染,即已经占用了内存值。

    【border:none;】把border设为“none”即没有,浏览器解析“none”时将不作出渲染动作,即不会消耗内存值。

    2.兼容性差异

    【border:none;】当border为“none”时对IE6/7无效边框依然存在

    【border:0;】当border为“0”时,所有浏览器都一致把边框隐藏

    总结:

    1. 对比border:0;与border:none;之间的区别在于有渲染和没渲染,感觉他们和display:none;与visibility:hidden;的关系类似,而对于border属性的渲染性能对比暂时没找测试的方法,虽然认为他们存在渲染性能上的差异但也只能说是理论上。

    2. 如何让border:none;实现全兼容?只需要在同一选择符上添加背景属性即可

    3.对于border:0;与border:none;个人更向于使用,border:none;,因为border:none;毕竟在性能消耗没有争议,而且兼容性可用背景属性解决不足以成为障碍。