menu

CSS3 Media Queries 详解

说起CSS3的新特性,就不得不提到 Media Queries 。最近 Max Design 更新的一个泛读列表里,赫然就有关于 Media Queries 的文章。同时位列其中的也有前天我刚刚翻译的 IE9, Opacity 和 Alpha

虽然标题相同,但本文并不是列表上 CSS3 Media Queries 的译文,因为原版有Demo有例子有图片,全文不长而且不难看懂,所以我也就不翻译了。基于自己已经了解到一定程度,所以就打算自己写。

CSS2中有已经定义了 Media 的部分,包括类型、组别和规则等。CSS并非为了显示器而创造,而是应用于各种各样的媒体,比如常见的显示器,越来愈多的手持设备,可能略显过时的电视机等等。

而 Media Queries 的引入,其作用就是允许添加表达式用以确定媒体的环境情况,以此来应用不同的样式表。换句话说,其允许我们在不改变内容的情况下,改变页面的布局以精确适应不同的设备。

引用CSS3 Media Queries里的直观的 DEMO,当浏览器宽度改变时,应用的CSS发生变化。而这一切,原本需要 JavaScript 的控制才能做到。

Web移动化的趋势越加明显,各种手持设备的发展现在完全引领着整个互联网的发展。虽然国内受到很多制约,但是这种浪潮却无法阻挡。前段时间jQuery宣布mobile计划,也加速了这种变化。Media Queries 不久的将来应该就会被广泛使用,以更好的支持新兴设备比如iPad。事实上, jQuery 甚至有 Media Queries的插件

下面来看看 Media Queries 做了什么。

Read more... »

IE9,Opacity 和 Alpha

译自同名IEBlog:IE9, Opacity, and Alpha,关于IE9和透明度兼容CSS和JS代码。日期是昨晚(8/17)6:15。

以下为我的译文:

IE9引入了 CSS3 Color Module 的支持,包括其中已普遍使用的透明度( opacity )属性。如同我们已经完成的其他基于标准的特性,为了在其他浏览其中的相同的标记能工作在IE9的标准模式下,IE9实现了透明度。

IE8以及其之前的版本实现了另一种替代的机制,使用IE特定的滤镜( filter )属性中的 alpha filter 来应用透明度。这就形成了一个兼容性的挑战,因为IE9标准模式只支持 opacity,而不支持 alpha filter ( IE9的兼容即怪异模式,7和8仍然支持 alpha filter 但不支持实现opacity )。

对于使用最佳实践特性检测法的站点,兼容性不是问题。它们会检测 opacity 在IE9中是否被支持并使用 opacity 替代滤镜。问题在于那些使用了浏览器检测的站点以及那些错误的假设了IE总是使用透明度滤镜而不是opacity并在脚本中只使用滤镜的站点。那些站点里的web页面,在IE9默认的9的文档模式下,透明度效果会失效。解决方法是先检测基于标准的 opacity 特性,然后是浏览器特定滤镜,就如同我们之前文章里描述的那样

Read more... »

WordPress主题swordis

终于下决心挤个时间出来做个wordpress主题。但是即使做出来估计自己也不会用的囧,因为我是bito主题的铁杆fans!

用了半天时间出了个PSD设计稿,又用了半天时间HTML化。还好设计的时候就着眼于简单,所以虽然搞了一天有些头晕,但还算比较快。基于wp的default,总的来说除了comment以外的CSS都重写了。

当然,因为刚刚写好的关系,背景图还么有整合,CSS也没有优化,并且还有众多的bug。不过没关系,作为自己第一个wp主题,慢慢琢磨就行了~

已知的问题有:

  • 虽然一开始写完测试环境是通过HTML5验证的,不过自己博客上的文章一加上就超多error。
  • 只用IE6和chrome开发的,所以其他浏览器情况完全未知,尽管我都尽可能的按标准来。
  • 颜色问题还值得推敲,排版也有很多要微调下。
  • 还有好几个小图标在绘制中,所以标签、分类、评论前面现在都还是空的。
  • 功能还不全,比如搜索、RSS,还没来得及赶上去。

现在先拿出来用几天,过些时候总结出一堆问题后就可以着手改进。目标版本0.5,基本实现功能完整~

CSS定位机制之一:普通流

文档流,其实标准里根本就没有这个词。如果把文档流直译为英文就是 document flow ,但标准里只有另一个词,叫做普通流( normal flow ),或者称为常规流。但似乎大家更习惯文档流的称呼,因为很多中文翻译的书就是这么来的。比如《CSS Mastery》,英文原书中至始至终都只有普通流 normal flow 这一词,从来没出现过文档流 document flow 。但是中文译本“普通流”和“文档流”却是交替出现的。

那么什么是普通流?

Read more... »

漫谈font-size

起因仅仅是下面的这句话:

font-size: 75%; /* Resets 1em to 11px */

这是我最喜欢的wordpress主题 Bito 的第一句CSS。我想那可能是作者的笔误。因为印象里还是记得默认值是16px,那么75%就是12px了。不常写CSS,但是喜欢挖点东西出来。一开也没想到一个属性值可以挖出这么多,最后导致这篇东西组织起来都有些麻烦: )

Read more... »

Web书评

整理行装的时候,瞥见这张一年半前的照片,然后在柜子了浏览了一下这些见证过往的书籍。原来也曾这么这么地努力过:)。现在,书更多了一些,有几本书借出去了,所以合影似乎没多大的意义。所以仍旧用这张照片,怀念下阳光里,一本书,一首曲子的时光。

以前总是看别人的书评。当然在不看书评前,自己总是乱买书,结果总是有几本书比较糟糕。但好在数量不是很多。在即将重新启程的当前,自己也该写个书评总结回顾下。题外话,书看多了,也没啥好的囧。

《JavaScript 权威指南》— David Flanagan

《JavaScript DOM 编程艺术》— Jeremy Keith

《JavaScript 高级程序设计》— Nicholas C. Zakas

《Ajax 高级程序设计》— Nicholas C. Zakas, Jeremy McPeak, Joe Fawcett

《精通 CSS 高级Web标准解决方案》— Andy Budd, Cameron Moll, Simon Collison

《Eric Meyer 谈 CSS(卷1)》— Eric A. Meyer

《Eric Meyer 谈 CSS(卷2)》— Eric A. Meyer

《XML 基础教程 入门、DOM、Ajax与Flash》— Sas Jacobs

《PHP 程序设计》— Rasmus Lerdorf, Kevin Tatroe, Pter MacIntyre

《PHP & MySQL Web 数据库应用开发指南》— Hugh E. Williams

《Flash ActionScript 3 殿堂之路》— 孙颖

Read more... »

浏览器模式

关于浏览器模式,一直以来的理解是这样的:浏览器厂商出于那些老站点的向后兼容的目的,创建了两种模式。即标准模式(standards mode)和怪异模式(quirks mode)。在标准模式里,浏览器按照规范渲染页面,而在怪异模式里,浏览器以一种老式的或者是模拟老式浏览器的渲染方式表现页面。

这些并没有错,但是还不够全面和深入。当我回顾《CSS Mastery》的时候,也让我想起了很多渐渐淡忘的、并且也可能是无关紧要的其他碎片。
比如,两种模式最大的差异的例子就是IE盒模型的解释。IE如此,Opera 7也是如此。再比如,Mozilla和Safari的第三种“准标准模式(almost standards mode)”,只是在处理表格的方式上有些细微的差异,其他与标准模式无异。等等。

一直以来,确保DOCTYPE的正确也是非常重要的事。浏览器根据DOCTYPE是否存在以及是何种DOCTYPE来确定渲染方式。如果总结如表,应该是这个样子。

DOCTYPE MODE
XHML + 形式完整DOCTYPE 标准模式
HTML 4.01 + strict DTD 标准模式
DOCTYPE包含URL和transitional DTD 标准模式
DOCTYPE只包含transitional DTD 怪异模式
DOCTYPE不存在或形式不完整 怪异模式

这张由我根据《CSS Mastery》一书所列出的表并不怎么完整,Alastair Campbell有一个更加全面的关于IE浏览器模式和DOCTYPE的表格

另外一个可能有点过时的,是Eric Meyer关于DOCTYPE switching的表格。多年之后我再去看这个链接的时候,发觉它居然还在:)
而现在,我更喜欢看QuirksMode上的资料。

Read more... »

跨浏览器边框探索

虽然起了一个看似很牛逼的题目,但本文可以说完全是蛋疼的人的一种消遣~通常开发人员都有自己的放松方式。写文章用不了太久,倒是图材准备了老半天。谨以此文,让我们来消遣下各个浏览器对于边框的理解方式。

参与此次测试的浏览器包括windows下的几乎全部:ie6,ie7,ie8,ie9preview,chrome,firefox,safari,opera,seamonkey。各版本皆为网上下载的最新版。并且由于这次的测试里,IE678的表现一致,firefox和seamonkey又是裙带,所以合并作IE8和firefox。

Read more... »

10个糟糕的IE Bug及其修复

国外有很多优秀的文章可以用来学习,我决定花些时间翻译。我并不知道这篇文章有没有人翻译过,原文名 10 Awful IE Bugs and Fixes,我希望能有更多人能看到这些优秀的文章。外国人很幽默,所以我也就全文翻了。

———-以下为译文———-

我列举了10个常见的IE bug和解决方法。我相信这将能够帮助你减少调试IE布局不一致时花掉的时间。
作者:kevin

简介

在处理IE方面每个人都有他们自己的故事。作为一个开发者我不得不面对大量的IE的古里古怪的问题并且有的时候你只是想用头撞墙。但是随着时间的推移,我们慢慢吃一堑长一智(有些时候那不是我们的错,是IE的错!)并且开始接受和理解IE的怪异行为。我们不得不这样因为仍然有数量可观的IE6用户。最好的做法是一开始就不断的从不同的浏览器测试你的网站。从一开始就解决布局问题要比在数千行html和css代码之后容易的多。

Read more... »
Page 2 of 212