CSS3中的伪类概览

CSS的目标,或者说是革命纲领就是:“将样式与内容分离”,这个目标能否实现,很大程度上依赖于CSS访问内容的能力。在CSS3中,这个任务得到了有力支持,强大的结构伪类Structural pseudo-classes出现了。提供了非常丰富的查询方式,让CSS选择器变得如此和蔼可亲了。让我们来快速概览一下,同时期待着浏览器整体换代的来到,毕竟只有最新的浏览器才支持CSS3选择器及其他特性。 支持浏览器:Firefox 3.1+, IE8+ (only in IE8 standards mode), and Safari 3.1+
CSS结构伪类

Method
Description

E:root
选择文档的根结点,在HTML文档中也就是HTML节点

E:first-child
选择该节点的第一个子节点。

E:last-child
选择该节点的最后一个子节点。

E:nth-child(n)
选择指定节点的第N个子节点。
示例:
li:nth-child(1) /*选择Li元素的第一个节点*/

E:nth-last-child(n)
和上面的伪类逆序,选择指定节点从最后一个子节点开始的第N个子节点示例:
li:nth-last-child(1) /*选择Li节点的最后一个子节点*/

E:nth-of-type(n)
选择父节点之下,所有指定类型的的节点中的第N个,有点晦涩的一句话。还是看示例比较清楚:
ul li:nth-of-type(1) /*选择当前页面上所有Ul之下的第一个Li节点,包含嵌套的Ul之下的第一个Li*/
p:nth-of-type(odd) /*选择所有的奇数项的P元素,一下子解决了表格的交替背景色问题*/

E:nth-last-of-type(n)
选择父节点之下,所有指定类型的节点中倒序的第N个节点,和上面的正好顺序相反
示例:
option:nth-last-of-type(2) /*选择所有的select下倒数第二个option节点*/
option:nth-last-of-type(-n+3) /*选择倒数3个option节点,是多重选择*/

E:first-of-type
和上面的两个伪类类似,不过这个简单版,就是取第一个或者是最后一个示例:
p>quote:first-of-type /*选在所有P节点下第一个quote节点*/

E:last-of-type
同上:
tr>td:last-of-type /*选择每一行的最后一个单元格*/

E:only-of-type
选择在父节点之下,符合所有子节点中只有一个该类型节点条件的节点。又是比较难懂的一句话,也就是说,在子节点集合中,该元素必须符合指定类型,同时仅含有一个的情况。示例:
div>p:only-of-type /*s选择Div之下,如果只含有一个P节点,选择该节点*/
input[type=”radio”]:only-of-type /*如果form中,只有一个input类型为radio的,选择该input节点*/

E:only-child
和上面类似,不过更加严格,仅当符合,该父节点下仅含有一个子节点的情况。示例:
div>p:only-child /*选择那些Div下只有一个p节点的p节点*/

E:empty
选择那些没有子节点的节点,也就是选择那些叶子节点(包含text节点). HTML注释不计入子节点数。来看一下具体例子:下面的都是空节点Empty Elements:
<p></p>
<p><!–Empty
paragraph</p>
以下都是非空节点Non Empty:
<p>Welcome to oncontextmenu=”return false;” id=KonaLink1
onmouseover=adlinkMouseOver(event,this,1);
style=”POSITION: static; TEXT-DECORATION: underline! important”
onclick=adlinkMouseClick(event,this,1); onmouseout=adlinkMouseOut(event,this,1);
href=”http://www.javascriptkit.com/dhtmltutors/structuralcss.shtml#” mce_href=”http://www.javascriptkit.com/dhtmltutors/structuralcss.shtml#”
target=_top>
style=”FONT-WEIGHT: 400; FONT-SIZE: 13px; COLOR: blue! important; FONT-FAMILY: Courier new; POSITION: static”
color=blue> style=”FONT-WEIGHT: 400; FONT-SIZE: 13px; COLOR: blue! […]

[转]原来今天是裸奔节

原文地址:http://blog.ashchan.com/archive/2008/04/05/css-naked-day/ 
 今天在整理收藏夹的时候,发现好几个国外站点都裸奔了,一开始还以为是网络问题,后来突然想起来是因为css naked day。顺便转一篇css裸奔节的资料。
第三届CSS裸奔节来了,今年(CSS Naked Day ‘08)的时间定在4月9日。
活动目的
CSS裸奔节的目的是推动Web标准。简洁为美。使用正确的(x)html,语义标记,良好的层次结构。暂时把页面设计抛弃,直接展示<body>吧。
如何参与
到这里填表报名,报名后一个小时内,你的网站会在官方列表中出现。
到了4月9日,将你网站上的CSS移除,抛掉页面设计。
你也可以在那天把以下HTML内容放置于网站顶部:
<h3>What happened to the design?</h3> <p>To know more about why styles are disabled on this website visit the <a href=”http://naked.dustindiaz.com” mce_href=”http://naked.dustindiaz.com” title=”Web Standards Naked Day Host Website”> Annual CSS Naked Day</a> website for more information.</p>
注:加上这些标注仅仅是为了向你网站的访问者说明情况,并不是为了带来流量或赚钱。CSS裸奔官方网站上没有任何广告,以后也不会放置广告。
活动日期
很多人非常关心CSS裸奔节的活动时间。今年定于4月9日,理由如下:

活动日期应该定于周二、周三或周四,这几天网站流量比较高
时间应该在4月份的第一周前后
不应该是4月1日(要不谁信呢,呵呵)
在活动通告发出至活动日期,至少有五天时间

今年来不及了,等明年了,嘿嘿

Lighttpd下的Wordpress FriendlyUrl(友好链接 永久链接)配置

WordPress本身有着非常出色Friendly Url功能,能够让文章的URL变得非常友好,也非常漂亮,甚至可以变得非常Rest。但这只是针对最为流行的Apache Server而言的。
 友好链接的实现无外乎是url_rewrite,对于apache来说,它会自动生成.htaccess文件来配置规则,非常的方便。但是恰好我选择的Lighttpd作为我的web server,主要是考虑RoR的应用部署起来效果会更好一点。简单整理了一下需要重定向的URL,可能会有遗漏,如果您发现了,不吝告我一声。

url.rewrite = (
“^/blog/feed/(feed|rdf|rss|rss2|atom)/?$” => “/blog/index.php?&feed=$1″,
“^/blog/(feed|rdf|rss|rss2|atom)/?$” => “/blog/index.php?&feed=$1″,
“^/blog/page/?([0-9]{1,})/?$” => “/blog/index.php?&paged=$1″,
“^/blog/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/([0-9]+)/\?image=([0-9|a-f]+)$” => “/blog/index.php?image=$5″,
“^/blog/(.*)/([0-9]{4})/([0-9]{2})/(.*)\.html$” => “/blog/?name=$4″,
“^/blog/tag/(.*)$” => “/blog/index.php?tag=$1″,
“^/blog/([0-9]{4})/([0-9]{2})/([0-9]{2})$” => “/blog/index.php?m=$1$2$3″,
“^/blog/([0-9]{4})/([0-9]{2})$” => “/blog/index.php?m=$1$2″,
“^/blog/category/(.*)$” => “/blog/index.php?cat=$1″,
“^/blog/about$” => “/blog/index.php?pagename=about”
)

参考:http://blog.kangkang.org/wordpress/index.php/archives/15