最近工作比较轻松,所以一直在写自己的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是唯一的解决方法

标签:
float,inline-block

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“深入了解float与inline-block”
暂无“深入了解float与inline-block”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。