分类“HTML & CSS”的存档

2013.0130
从可编程到跨终端的Web

“跨终端的Web”是我为QConbeijing2013的前端专题定的主题。infoQ中文站发表了《从可编程到跨终端——QCon北京2013“跨终端的Web”专题出品人专访》中比较详细的解释了为什么,现在转一份过来,欢迎探讨。同时,今天在Twitter上发布征集讲师送价值4200元的门票一张的消息,欢迎自荐或推荐。1)优先送给选上讲师所对应的推荐者,2)如果没有讲师被选上,会送给第一个提交正式主题大纲的讲师所对应的推荐者阅读全文 »

标签:, , , ,
在1:21发表于HTML & CSS, UX & Usability, 设计,有评论1
2011.0619
HTML5@电子商务.com

经过2009到2010年全球领先的互联网企业Google、Apple、Facebook等等在HTML5上的大力推进和应用,今年在国内业界开始真正地热起来,4.10 QConBeijing2011的12个专题之一就是HTML5开发平台4.18 由W3CTech主办的“拥抱HTML5” 又是国内业界另一个顶级的HTML5大会,这次的HTML5 in China是今年第3个关于HTML5的国内业界顶级会议,还有即将到来的7.9 D2前端技术论坛 也将会有部分HTML5相关的内容。在这么短的时间内国内组织了这多次和HTML5相关的大规模顶级会议,几乎涉及到国内所有最领先的互联网企业,从中可以看出HTML5的热度。

HTML5引起业界如此重视这是好事,但短时间内过热反而说明了业界对于HTML5的理解程度不够,这点和2005年言必称标准和ajax非常类似,等大家真正对标准和ajax深刻理解并应用到生产实践的时候反而在谈论的是利用标准和ajax成就了某项产品而不仅仅是技术本身,HTML5也正经历这样一个过程。现在最热的讨论之一就是在移动平台上使用原生开发还是使用HTML5,如果只是讨论两者的技术优势这个问题估计永远没有答案,因为我们的目标真的不是那种技术更好,而是哪种技术更能适合我们用来快速的解决用户的需求,一个复杂游戏比如极品飞车当然用HTML5来做当然不是最佳的方案,但类似Google Reader之类数据展现性和简单交互的应用当然用HTML5开发比较好,其实如果你稍加留意就连Apple自己的App Store这个应用的本身就是用HTML5开发的。本次会议前面有两位同学介绍使用phoneGap + HTML5来重构新浪微博的iPad客户端,两个人利用一周的业余时间大致实现了这个iPad客户端的全平台覆盖(Web、Mobile Web、Android、iPhone和iPad),我想新浪微博的同学看到这个应该会有一些不一样的感触吧。

我把这次每张幻灯片要讲的内容都写到幻灯片的注释中,有兴趣的同学可以对照看会更明白一些,同时也在blog中列出每张幻灯片要讲的内容。另外,几乎每张幻灯片的后面都了一两个链接,这些链接很多都非常精彩,强烈推荐大家看看。

阅读全文 »

标签:, ,
在3:50发表于HTML & CSS,有评论13
2009.1122
默认Web字体样式

通常用户看到的页面的样式会受到三层控制,第一层是浏览器的默认样式,第二层是网页定义样式,第三层是用户自定义样式。和CSS一样,后面的优先级高于前面的,也就是说网页定义样式可以覆盖浏览器的默认样式,而用户自定义样式优先级最高。实际情况是虽然浏览器都或多或少提供了用户自定义样式的功能,但是极少数会有用户去自定义,一般用也是高级用户。而浏览器默认的样式往往在不同的浏览器、不同的语言版本甚至不同的系统版本都有不同的设置,这就导致如果直接利用默认样式的页面在各个浏览器下显示非常不一致,于是就有了类似YUI的reset之类用来尽量重写浏览器的默认设置保证各个浏览器样式一致性的做法。

拿字体来说,各个浏览器默认的字体种类、字体大小和字体行高都不一样,比如IE8的中文版在Windows XP下显示网页时默认字体是宋体,而英文版肯定不会如此。所以我们需要统一设置默认的字体样式,以便实现一致的显示效果来保证设计的一致性和提高开发效率。

以后准备使用如下默认字体样式:

body{
  font: 12px/1.5 arial;
}

阅读全文 »

标签:, , , ,
在18:36发表于HTML & CSS,有评论59
2009.0910
IE中选择符的4095限制

去年曾总结了《IE对CSS样式表的限制和解决方案》中限制的第4条写道“一个CSS文件的不能超过288kb?”,这是一个疑问句,当时没有重现出来且参考来自Internet Explorer CSS File Size Limit。今天终于看到了IE在CSS上的另一个限制:IE中每个style标签或css文件的选择符个数不能超过4095。其实style属性也应该有这个限制,但是几乎不可能发生。这个限制在IE6、IE7和IE8中存在。请看IE关于4095个选择符限制的DEMO

阅读全文 »

标签:, , , ,
在23:42发表于HTML & CSS,有评论25
2009.0906
CSS实现HTML元素透明的那些事

CSS3草案中定义了{opacity:<length> | inherit;}来声明元素的透明度,这已经得到了大多数现代浏览器的支持,而IE则很早通过特定的私有属性filter来实现的,所以HTML元素的透明效果已经无处不在了。首先看看A级浏览器所支持的用CSS实现元素透明的方案

阅读全文 »

标签:, , , , , , , ,
在23:44发表于HTML & CSS, Javascript & DOM & AJAX,有评论38
2009.0815
Data URI 和 MHTML

Data URI

Data URI是由RFC 2397定义的一种把小文件直接嵌入文档的方案。通过如下语法就可以把小文件变成指定编码直接嵌入到页面中:

data:[<MIME-type>][;base64],<data>
  1. MIME-type:指定嵌入数据的MIME。其形式是[type]/[subtype]; parameter,比如png图片对应的MIME是image/png。parameter可以用來指定附加的信息,更多情況下是用于指定text/plain和text/htm等的文字编码方式的charset参数。默认是text/plain;charset=US-ASCII。
  2. base64:声明后面的数据的编码是base64的,否则数据必须要用百分号编码(即对内容进行urlencode)。

阅读全文 »

标签:, , ,
在0:54发表于HTML & CSS,有评论53
2009.0614
用doctype激活浏览器模式

为了处理根据Web标准创作的网页和根据在20世纪90年代末流行的陈旧实践创作的网页,现代的Web浏览器实现了各种不同的引擎模式。本文说明了那些模式是什么以及如何触发它们。

原文:Henri SivonenActivating Browser Modes with Doctype2009.05.19

文档范围

本文包括的模式转换(mode switching)适用于Firefox和其他基于Gecko的浏览器,Safari、Chrome和其他基于Webkit的浏览器,Opera、 Konqueror、Mac版Internet Explorer、Windows版Internet Explorer和内嵌IE的浏览器。避免提及浏览器引擎的名字,取而代之的是使用该引擎最知名浏览器的名字。

本文着重介绍模式的选择机制,而不是记录每个模式的确切行为。

阅读全文 »

标签:, , ,
在15:19发表于HTML & CSS,有评论59
2008.1227
border-radius与圆角

两年前发表的《The visual design of Web 2.0》中提到“Rounded everything”,圆角因使人感觉舒适的友好风格而变得无处不在。这个无处不在也让很多前端工程师累个半死,YAHOO Performance Research Engneer Team的Nicole在讲演《Designing Fast Websites》中用的副标题是don’t blame the rounded corners!,从侧面也说明了圆角给实现者带来的困扰:实现麻烦、兼容困难、性能不佳。而W3C早在2002年的CSS3草案中就加入了一个叫border-radius的属性,通过它可以直接来定义HTML元素的圆角。 阅读全文 »

标签:, , ,
在19:25发表于HTML & CSS,有评论16
2008.1204
连续字符自动换行的解决方案

文本的排版依据语言的不同会有一些格式上的要求,比如简体中文中类似逗号、分号等标点符号不会出现在一行的开头,对于英文来讲就是一个完整单词不会在两行显示,浏览器会依据类似这样的原则来显示文本。但是由于网页有宽度限制的,连续的超长的字母、数字或标点符号超出其所在区域宽度的限制而导致影响页面视觉,如例1所示。这个问题在显示用户输入信息时尤为突出,这里就是要说如何解决这个问题。

CSS3草案中,对文本的处理新增了两个新属性word-wrapword-break来解决这个问题:

  1. {word-break:break-all;} :依照亚洲语言和非亚洲语言的文本规则,允许在字内换行,且允许非亚洲语言文本行的任意字内断开
  2. {word-wrap:break-word;}: 内容将在边界内换行,如需要则词内换行(word-break)也行发生

阅读全文 »

标签:, , , , , ,
在0:16发表于HTML & CSS, Javascript & DOM & AJAX,有评论19
2008.0712
CSS Hacks

Java一直标榜一句老话叫“编写一次,到处运行(Write Once,Run Anywhere)”,CSS也差一点点做到了。但就是为了差的一点点往往需要大量的工作,虽然这并不是CSS的错。基本上别妄想兼容所有的解析器了,仅仅是为了让网页在YUI中列举的A级浏览器呈现一致就不是一件特别容易的事情。虽然通过精心的组织HTML结构加上使用最合适最通用的CSS代码可能实现多浏览器呈现一致,但当在视觉的过度设计、精确到像素的规定和前端快速实现的要求的前提下,可能你不得不为不同的浏览器写不同的CSS代码,这就是CSS Hacks了。我们的目标是保持CSS简洁和没有CSS Hacks,但即使多年以前就呼吁Keep CSS simple的PPK也不得不在他的网站中使用CSS Hacks,即便如此其站点在所有的A级浏览器中也无法保持一致的呈现。所以,下面这个我常用的CSS Hacks列表或许有些用: 阅读全文 »

标签:,
在3:05发表于HTML & CSS,有评论17

回到页眉