1. 文档流(Document flow):浮动元素会脱离文档流,并使得周围元素环绕这个元素。而inline-block元素仍在文档流内。因此设置inline-block不需要清除浮动。当然,周围元素不会环绕这个元素,你也不可能通过清除inline-block就让一个元素跑到下面去。
  2. 水平位置(Horizontal position):很明显你不能通过给父元素设置text- align:center让浮动元素居中。事实上定位类属性设置到父元素上,均不会影响父元素内浮动的元素。但是父元素内元素如果设置了 display:inline-block,则对父元素设置一些定位属性会影响到子元素。(这还是因为浮动元素脱离文档流的关系)。
  3. 垂直对齐(Vertical alignment):inline-block元素沿着默认的基线对齐。浮动元素紧贴顶部。你可以通过vertical属性设置这个默认基线,但对浮动元素这种方法就不行了。这也是我倾向于inline-block的主要原因。
  4. 空白(Whitespace):inline-block包含html空白节点。如果你的html中一系列元素每个元素之间都换行了,当你对这些元素设置inline-block时,这些元素之间就会出现空白。而浮动元素会忽略空白节点,互相紧贴
  5. IE6和IE7:Ie67对此属性部分支持。如果你要兼容这些浏览器,必须解决这个问题。这不是个大问题,但值得留意一下。

  

  关于第4条空白节点的解决方案

  1. 删除html中的空白:不要让元素之间换行,这可能比较蛋疼,但也是一种方法,特别是你元素不多的时候。
  2. 使用负边距:你可以用负边距来补齐空白。但你需要调整font-size,因为空白的宽度与这个属性有关系。我认为是0.25em,但我不确定。如果有人知道可以留言告诉我。
  3. 给父元素设置font-size:0:不管空白多大,由于空白跟font-size的关系,设置这个属性即可把空白的宽度设置为0.在实际使用的时候,你还需要给子元素重新设置font-size。

  

最新文章

  1. myeclipse10.05安装aptana
  2. 关于SVN下载代码和Android Studio里面导入别人代码build tools不一致问题总结
  3. 【转】【iOS知识学习】_视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear等的区别及用途
  4. Android(java)学习笔记210:采用post请求提交数据到服务器(qq登录案例)
  5. perl encode_utf8 和decode_utf8
  6. JPA 系列教程6-单向多对多
  7. MyBatis 源码分析——映射结果
  8. Cocos2d-x 3.2 环境搭建
  9. 使用Redis实现分布式锁
  10. idea 远程调试 tomcat web应用
  11. JavaScript(第五天)【流程控制语句】
  12. Java中“==”和“equals()”的区别
  13. GDAL——命令使用专题——gdalinfo命令
  14. myeclipse无法部署项目的解决
  15. 打开和写入word文档
  16. mongodb 数据库操作--备份 还原 导出 导入(转)
  17. Oracle卸载之Win7操作系统下Oracle11g 数据库卸载过程图解
  18. Java生成HTML文件
  19. POJ 3691 DNA Sequence (AC自动机 + 矩阵 有bug,待修改)
  20. 如何查找EI 及SCI 索引

热门文章

  1. NUnit TestFixtureSetup 和 TestFixtureTearDown
  2. POJ - 2942 Knights of the Round Table (点双联通分量+二分图判定)
  3. Kotlin学习记录2
  4. maven Eclipse实战材料整理
  5. ng-click得到当前元素,
  6. 【hihocoder】01背包
  7. Python3:读取配置dbconfig.ini(含有中文)显示乱码的解决方法
  8. Python3.x:获取登录界面校验码图片
  9. Linux中Nginx安装部署
  10. MapReduce:输入是两个文件,file1代表工厂表,包含工厂名列和地址编号列;file2代表地址表,包含地址名列和地址编号列。要求从输入数据中找出工厂名和地址名的对应关系,输出"工厂名----地址名"表