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,有评论12
2008.0617
是时候不用考虑基于字体大小(em)的设计了

今天是Firefox3的2008下载日(貌似北京时间是6.18的凌晨1:00),这就意味着Firefox3正式发布了。Firefox3有众多的改进和新功能,我最关注的功能之一是“全页面缩放(Full page zoom)”。这就意味着Firefox3和Opera以及IE7+都可以让用户“完全控制显示内容的大小同时自动调整页面布局和结构”,说白了就是可以让整个页面直接放大或缩小却不会乱掉。这就意味着我们不用再考虑为了可访问性而整个页面是基于字体大小(em)的设计了。

阅读全文 »

标签:, , , ,
在2:23发表于HTML & CSS,有评论21
2008.0422
IE对CSS样式表的限制和解决方案

HTML文档与CSS的关联常见有4种方式:

  1. 使用link标记

    <link rel="stylesheet" type="text/css" href="sheet.css" />
  2. 使用style元素

    <style type="text/css">
    body{background:#fff;}
    h1{font-size:2em;}
    </style>
  3. 使用@import指令

    <style type="text/css">
    @import url(sheet1.css);
    @import "sheet2.css";
    </style>
  4. 使用style属性的内联样式(inline style)

    <p style="color:#f00;">这是红色的字</p>

在实际应用中,使用style属性的内联样式是不推荐使用的,XHTML1.1已经将其标准为不建议使用,原因很简单这种方式不比font标记强多少,削弱了CSS集中控制整个文档外观的优点。前3种方式利用了link标记和style标记,在IE(包括IE6、IE7和IE8 beta1)中有如下限制:

阅读全文 »

标签:, , , ,
在16:39发表于HTML & CSS, Javascript & DOM & AJAX,有评论8
2008.0417
Firefox的默认样式表

每个浏览器都有自己的默认样式,这是一段预定义的CSS,用以简单地呈现网页。在Firefox中的地址栏中输入resource://gre/res/html.css即可以看到该浏览器的默认样式。在Firebug 1.2 Alphas的styles中就可以看到默认样式对页面定义样式的影响。毫无疑问,理解和学习浏览器的默认样式能更好的理解浏览器对解析样式和呈现页面。Firefox3和Firefox2相比,默认样式仅有8处不同,但这些改变也可以让我们感觉到Firefox3在样式上的改进:

阅读全文 »

标签:, ,
在0:31发表于HTML & CSS,有评论1
2008.0405
display:inline-block的应用两例

CSS的display有属性值inline-block{display:inline-block;},下面是应用其来实现用图片替代文字的两个例子:

请看例一

Markup

<i class="arrow-1 replacement">箭头1</i>
<a href="http://dancewithnet.com" class="arrow-2 replacement">箭头2</a>
<p class="arrow-3 replacement">箭头3</p>

CSS

阅读全文 »

标签:, , , , ,
在9:17发表于HTML & CSS,有评论6
2007.1030
CSS{display:inline-block}

2002年W3C推出CSS2.1规范时,给元素的display属性增加了inline-block值。其作用是“这个值导致一个元素产生一个块状盒模型(block box),而本身作为单一的内联盒模型(inline box)流动排列(flow),类似一个被替代的元素。Display值为inline-block的元素内部形成一个块状盒模型,而本身形成类似一个内联的被替代元素”[1]。即display为inline-block的元素既可以像块状元素一样定义高度宽度,又可以和内联元素(比如文字)排列在一行。

这个效果在页面设计的时候,很多地方都可以带来便利,最常见的莫过于设计导航时,既可以像inline元素那样实现居中,又可以设置像block元素那样设置单个菜单大小,还可以通过text-indent来隐藏文字显示背景图片。请看 演示实例>>>>

阅读全文 »

标签:, ,
在22:02发表于HTML & CSS,有评论9
2007.0726
CSS设置IE6中容器高度BUG

在IE6中设置display:block的空容器一个较小高度时,如<p style="height:1px;"></p>,会发现其高度不能小于某个值,比如在字体大小为12px时这个值是15px,在浏览器默认字体大小时这个值为19px,如演示1,你可以通过调整IE6中的“查看>字体大小”来观看这个高度的变化。解决方案:

阅读全文 »

标签:,
在0:19发表于HTML & CSS,有评论6
2007.0419
跨浏览器的CSS固定定位{position:fixed}

不知道您是否留意了,浏览本站时,浏览器右下角有一个标着top的黑色直角三角形,可以点击它返回到正在浏览的网页页眉。当滚动网页时,它的位置一直没有任何改变,您感觉它怎么样?这就是通过CSS的定位属性{position:fixed}来实现的,通过它可以让HTML元素脱离文档流固定在浏览器的某个位置。

阅读全文 »

标签:, ,
在1:00发表于HTML & CSS,有评论30
2006.0518
IE, FireFox, Opera 浏览器支持CSS实现Alpha半透明的方法

1、对于IE使用filter,对于非IE浏览器使用png背景图填充

先请看如下代码:

阅读全文 »

标签:, , ,
在3:13发表于HTML & CSS,有评论2
2005.0607
常用CSS缩写语法总结

使用缩写可以帮助减少你CSS文件的大小,更加容易阅读。

css缩写的主要规则如下:

阅读全文 »

标签:,
在19:31发表于HTML & CSS,有评论0
回到页眉