inline-block

A collection of 5 posts

inline-block

YUI 3 Grids

YUI 3的grids使用了inline-block,不过在实际使用中要注意两个小问题: IE6/7下划线对不齐bug 间隙问题,YUI是这么写的 .yui3-g { letter-spacing: -0.31em; /* webkit: collapse white-space between units */ *letter-spacing: normal; /* reset IE < 8 */ word-spacing: -0.43em; /* IE < 8 && gecko: collapse white-space between units */ } 这个数值跟字体有关,之前总结过 不过每次都跟字体来调有些麻烦,写为-.5em或者更大就可以一劳永逸了 .yui3-g { letter-spacing: -.5em;

  • ytzong
    ytzong
Bug

IE6/7下划线对不齐bug

这篇帖子《关于IE下英文字体跟中文字体不能对齐的根源以及解决办法》说的已经很详细了,不过不止中英文混合才会出现这个bug,比如《Internet Explorer: Broken Underlines》。 解决方法一般有以下几种: 对下划线元素使用宋体,缺点是宋体的英文数字比较难看,我个人也比较鄙视这种做法 触发下划线元素的hasLayout,缺点是inline元素会变成inline-block元素,折行时会整块掉下来 使下划线元素浮动,缺点是inline元素变成block元素,而且还要清除浮动 去除下划线元素相邻元素(相邻元素的子元素或父元素等等)的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

  • ytzong
    ytzong
Bug

用display:inline-block做产品列表

由于D2的关系看到这篇文章《[纯技]产品列表到底应该怎么做?》,评论发不成功,又恰逢最近频繁遇到类似的项目,总结如下: 传统的实现方式是用float来实现,换一种思路用display:inline-block,比如这篇《Cross-Browser Inline-Block》(中文翻译)。在Firefox/Safari/Chrome/IE8中会遇到《说说display:inline-block》提到的第一个空隙问题,不过现在已经有了解决方法(详见《Firefox Bug: inline/inline-block的间隙》的评论并略作改进): ul{letter-spacing:-.25em} li{letter-spacing:normal;} 同时我也尝试了《Layout of repeating blocks》提到的word-spacing,不过仅Firefox/IE8有效,而在Chrome/Safari中无效

  • ytzong
    ytzong
CSS

自适应圆角

前言 有时候我们不得不面对圆角,也很傻很天真的认为利用 CSS3 的新特性对浏览器分级支持是最好解决方案,但现实≠理想… 需求 3px 圆角 宽度自适应(随着文字字数扩展宽度并自动换行) 换肤 不使用图片(对可维护性/性能均有影响) 困惑 经典的解决方案看起来像这样: <!DOCTYPE html> <html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <title&

  • ytzong
    ytzong
Bug

说说display:inline-block

前言: Firefox 3发布后,我开始肆无忌惮的使用inline-blcok… 基本用法: inline元素的inline-block: span{displsy:inline-blcok;} block元素的inline-block: div{displsy:inline-blcok;#displsy:inline;#zoom:1;} 开头的为针对IE6/7的hack,多数人用*,用*的话我使用的格式化工具会出错。 遇到的几个问题: **代码格式化对间距的影响:**HTML: <ul> <li class="current">1</li> <li>2<

  • ytzong
    ytzong