二月, 2010


8
二 10

跨浏览器的Firebug

标题党一把,哇哈哈哈哈~

Firebug Lite越来越好了,Chrome的Firebug Lite扩展其实就是Firebug Lite(扩展的缺点是要安装),但是我发现身边的一些人(包括大牛)对其还不太了解,下面简单介绍一下

Firebug Lite安装及使用

  1. 用需安装Firebug Lite的浏览器打开Firebug Lite安装页面
  2. 设置浏览器显示书签栏
  3. 将此链接Firebug Lite 1.3Xb拖拽到浏览器的书签栏(也可直接拖拽此链接,可能会被RSS阅读器过滤,请打开本博查看)
  4. 打开要调试的页面
  5. 点击刚才加入书签栏的Firebug Lite 1.3Xb调出即可(为远程调用要稍许等待)

注:

  • 以上方法使用于大部分浏览器(Firefox/Chrome/Safari/Opera自不在话下),可能各浏览器多书签栏的叫法有不同
  • IE等不能拖拽到收藏夹栏可以通过右键添加
  • 可自行制作离线版本,详见Firebug Lite安装页面
  • 复杂的页面调试不了…

另一个比较常用的书签工具为大牛Steve Souders的SpriteMe,用于自动生成css sprite图片

SpriteMe安装及使用

同Firebug Lite类似,将这个链接SpriteMe(可能会被RSS阅读器过滤,请打开本博查看)拖拽到书签栏即可。

让人欣喜的是,和Firebug Lite一样是开源的,可在SpriteMe项目主页下载源码并建立离线版本。

下面是来自youtube的视频介绍(后半段为SpriteMe介绍):


5
二 10

IE6/7下划线对不齐bug

这篇帖子《关于IE下英文字体跟中文字体不能对齐的根源以及解决办法》说的已经很详细了,不过不止中英文混合才会出现这个bug,比如《Internet Explorer: Broken Underlines》。

解决方法一般有以下几种:

  1. 对下划线元素使用宋体,缺点是宋体的英文数字比较难看,我个人也比较鄙视这种做法
  2. 触发下划线元素的hasLayout,缺点是inline元素会变成inline-block元素,折行时会整块掉下来
  3. 使下划线元素浮动,缺点是inline元素变成block元素,而且还要清除浮动
  4. 去除下划线元素相邻元素(相邻元素的子元素或父元素等等)的vertical-align(或重写为baseline),垂直居中用position:relative结合top来实现

在使用inline-block元素做sprite容器时经常会遇到这个问题,2、4是比较好的方案,记得要分清楚使用场合哦~

当然IE6下还会出现行高失效bug,old9给出了一种方法《A fix to the IE6 line-height/replaced element bug》,不过在某些追求精确到像素的情况下还是用PIE的方法《Microsoft Internet Explorer 6: Line-height / Replaced Element Bug》比较好。

另外,使用vertical-align:middle来垂直居中在各浏览器中差异也比较大,使用时需谨慎,而用数值则好多了,推荐阅读old9的《CSSTDG读书笔记七