模拟兼容性的 inline-block 属性

作者:blank 来源:怿飞博客 时间:2008-04-08 12:37:00 

一年前网上还找不到关于 inline-block 属性的文章,为了方便大家更好的理解该属性,当时总结整理了篇《display:inline-block的深入理解》

而现在对于 inline-block 属性运用的需求也越来越多,可惜依旧只有 Firefox3 beta、IE8 beta、Opera、Safari 支持 inline-block 属性(注:原来只有 Opera、Safari 支持),但 IE6、IE7 可以通过触发 hasLayout 来模拟,Firefox2 有-moz-inline-box 和 -moz-inline-stack 私有属性(这两个属性的比较引用自秦歌的《display:inline-block的应用两例》)。

在实际应用中 -moz-inline-box 会存在元素间的对齐等问题,虽然 Firefox 还有一个私有属性 -moz-box-align 来帮助解决对齐问题,但依旧难以预料问题多多,而相对来说 -moz-inline-stack 的表现更像 inline-block ,这点可以在 Firefox3 中测试出来。但 -moz-inline-stack 使用时也会有一个 bug ,如果一个 display:-moz-inline-stack; 的元素外层元素是 display:inline; 即会使 Firefox 中其包含的链接不可点,这个需要用 position:relative; 来解决。

最终我们模拟的代码如下:



display:inline-block; /*Firefox3 beta、IE8 beta、Opera、Safari 支持,IE 下触发 inline 元素的 hasLayout*/
display:-moz-inline-stack; /* Firefox 的私有属性,也可以用 -moz-inline-box */

zoom:1; /*IE 下触发 hasLayout*/
*display:inline; /*一旦IE 下触发了 hasLayout,设置 block 元素为 inline 会使 display:inline 效果与 display:inline-block 相似*/

/*text-indent:-9999px;
font-size:0;*/ /* 如需隐藏文字,可用这两个属性 */

overflow:hidden; /* 隐藏溢出的内容 */

vertical-align:middle; /* 行内垂直居中,针对 Opera 比较大的偏离 */

width:?px; /*?为任意非auto值*/
height:?px; /*?为任意非auto值*/

扩展阅读:

标签:inline-block,兼容,display,css
0
投稿

猜你喜欢

  • 详解Tensorflow数据读取有三种方式(next_batch)

    2023-08-10 07:30:42
  • 在python中实现求输出1-3+5-7+9-......101的和

    2022-10-08 16:33:14
  • Python打包方法Pyinstaller的使用

    2022-06-08 13:25:21
  • Python使用Scrapy保存控制台信息到文本解析

    2022-04-12 20:29:00
  • Python爬虫实现“盗取”微信好友信息的方法分析

    2023-01-16 09:37:33
  • Python3实现自定义比较排序/运算符

    2023-04-15 23:32:25
  • MySQL 整表加密解决方案 keyring_file详解

    2024-01-18 07:50:31
  • Python Cookie 读取和保存方法

    2021-01-21 15:57:51
  • javascript 三 级下拉选择菜单Levels对象

    2023-09-05 03:28:48
  • MAC下MYSQL5.7.17连接不上的问题及解决办法

    2024-01-15 00:35:32
  • python的列表List求均值和中位数实例

    2023-07-09 13:06:16
  • js控制图片闪烁代码

    2008-07-30 12:35:00
  • python 多线程死锁问题的解决方案

    2023-12-28 03:35:31
  • IE9四大渲染引擎模式

    2010-04-20 16:57:00
  • mysql如何让左模糊查询也能走索引

    2024-01-16 09:20:32
  • js 原型对象和原型链理解

    2024-04-23 09:20:23
  • Perl使用Tesseract-OCR实现验证码识别教程

    2022-04-22 07:52:05
  • Windows系统下实现pycharm运行.sh文件(本地运行和打开服务器终端)

    2021-03-04 23:53:45
  • 基于Pytorch实现的声音分类实例代码

    2021-01-04 21:42:28
  • MSSQL中递归SQL查询语句实例说明-

    2011-09-30 11:42:43
  • asp之家 网络编程 m.aspxhome.com