深入了解float与inline-block
2018-06-24 01:08:37来源:未知 阅读 ()
这篇文章主要介绍了深入了解float与inline-block,分别从兼容性,对父元素的影响等方面进行了分析,推荐给小伙伴参考下
最近工作比较轻松,所以一直在写自己的canvas库..也没啥好知识点写博客,停滞了有2个月了吧.故今天决心花些时间来写一篇css的博文,刚好最近项目写界面的时候碰到这2个家伙...所以就和大家一起来半深入的理解下
首先是兼容性
float的话完全不用担心什么浏览器都能兼容,比较是一个很老的属性了.
inline-block则在IE8以上(包括8)才能使用,查了下资料,其实IE5.5的时候就已经有inline-block了,只是实现不一样,所以想要兼容低版本的IE就只能用额外的代码
display:inline; //强行不换行
zoom:1; // 用来触发hasLayout,有兴趣深入理解的猴子可自行了解
其次是对父亲元素的影响
inline-block的话,没什么好说的,唯一要注意的就是每个设置了inline-block的元素直接都会有空隙,可以在父亲元素里设置
font-size: 0;
来消除,不过后果是什么大家都知道,不过我依然觉得这是最简单暴力的方法,当然也有其他方法,还是请自行查找
float的话,设置了该属性的元素会脱离文本流,也就是说和position:absolute一样,不过对于一样设置了该属性的元素则不会.所以带来的问题就是父亲元素并不会随着子元素的大小改变长宽,但是如果父亲元素设置为inline-block的话,则长宽会随着子元素变化(前提是浏览器兼容inline-block,如果兼容的话我就直接用inline-block了~).
所以在不给父亲元素设置inline-block属性的时候就需要清除浮动.
在父亲元素结束前最后一个浮动元素后.clear:both下(原理大概就是用一个有文本流的元素定位父亲元素的大小),这样父亲元素的高度就会随浮动元素改变
最后是一点其他的小区别
基线:float和inline-block的基线不一样
float的基线是浮动元素紧贴顶部
inline-block的基线是默认的基线,所以比较灵活可以配合vertical-align.
最后的最后...就个人而言还是喜欢用inline-block多点,用float的地方多数可以用inline-block来代替,唯有当要围绕某个元素时float是唯一的解决方法
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:一个切图仔的工作日常
下一篇:1、HTML常用标签
- CSS中的float和margin的混合使用 2020-06-11
- 相邻元素margin的自动合并与float的坑 2020-04-30
- 关于前端开发,你真的了解吗? 2020-04-10
- 4.CSS中float导致的高度坍塌问题及解决方法 2020-04-09
- HTML5开发工具有哪些?准备的这些HTML5开发工具赶紧了解一下! 2020-04-07
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash