Sep 27 2007

浏览器打印

Posted by neio

Tags: , , , ,

–Neio

@media print
{
.Noprint { DISPLAY: none;}
}

在浏览器打印的时候,想要隐藏某些元素,如上设置CSS即可。

例如 :

<input class=”Noprint” value=”不打印” type=”button”></input>

这个按钮就不会被打印了

Filed under : Worklog, 汉语 | No Comments »
Aug 07 2007

CSS优先级问题

Posted by neio

Tags: ,

—-非原创,摘录自 原文

优先权问题其实就是一个冲突解决的问题,当同一个元素(内容)被CSS选择符选中时,就要按照优先权取舍不同的CSS规则,这其中涉及到的问题其实很多。

首 先就是CSS规则的specificity(特殊性),CSS2.1有一套关于specificity的计算方式,用一个四位的数字符串(CSS2是三 位)来表示,最终specificity越高的规则越特殊,在优先级判定时也就越有优势。关于specificity的具体计算在各种情况下的数字加成有 如下一般规则:

Read more »

Filed under : Reference, 汉语 | No Comments »
Jul 20 2007

IE中PHP + Smarty + UTF-8字符编码造成CSS的混乱

Posted by neio

Tags: , , , ,

[for web developers]今天在用 PHP + Smarty 写动态网页的时候发现,UTF-8的Unicode签名BOM (即十六进制中的 “EF BB BF “)会影响CSS,IE 6和 IE 7 都会受影响。

例如 margin: 0px auto; 的样式就会受到影响。

进一步还发现,开头只有一个BOM 的时候显示还是正常,一旦多于1个这样的字符串的时候样式就会混乱。

所以,平时如果不用Smarty的话,用PHP 即使输出了 BOM 十六进制流, 也不会对CSS造成任何影响,然而用 PHP + Smarty + UTF-8字符编码的时候,因为出现了不止一个的 BOM 流,就出现了混乱了。

解决办法是将所有的 PHP,HTML模版前面的BOM去掉就行。

如果不知道怎么做,我这里可以提供一个方法: EmEditor 打开那个文件,另存为的时候,将BOM框去掉选择,再保存就行。

或者用十六进制编辑器 比如HEdit , UE等,直接把前面三个自己删除就行。

名词解释:

A Byte Order Mark (BOM) is the character at code point U+FEFF (”zero-width no-break space”), when that character is used to denote the endianness of a string of UCS/Unicode characters encoded in UTF-16 or UTF-32 and/or as a marker to indicate that text is encoded in UTF-8, UTF-16 or UTF-32. [link]

Filed under : Worklog, 汉语 | No Comments »