html 设置li的高度,li或div高度不同产生错位的解决办法

我们常常会用到float:left的方式使得div或者li按照行的形式显示,但是有时候没有设置固定高度,就会产生由于高度不同而错位的问题。

我用代码来表示一下:

li或div高度不同产生错位的解决办法

.test{ margin:0; padding:0; list-style:none; width:500px;}

.test li{ padding:5px; min-height:20px; max-height:40px; min-width:40px; max-width:200px; margin:5px; border:1px solid #999; background:#CCC; font-size:12px; margin:5px; vertical-align:top; overflow:hidden; float:left; }

  • When Brazil needed him most, Neymar, the face of this World Cup
  • What's happening? And why?
  • Brazil sneaks nervy win
  • Where did ISIS come from, and how did they become the world's most dangerous militants?
  • How the day's action unfolded
  • Join World Cup chat

效果如下:

ae4ab1c6acda9e9469a1459173fda5e7.png

红色圆圈的部分就是由于第一个li太高了,导致第三个li没有排列到第一个li的下面,错位了。

那个该如何解决这个问题呢?就是不要使用 float:left 的方法,而直接用 display:inline-block 属性。这个属性是在CSS2.1增加的,目前大部分浏览器都支持它。表示“行内块元素”。

部分代码稍微修改一下:

.test li{ padding:5px; min-height:20px; max-height:40px; min-width:40px; max-width:200px; margin:5px; border:1px solid #999; background:#CCC; font-size:12px; margin:5px; vertical-align:top; overflow:hidden;/* float:left; */ display:inline-block; }

见红色部分

再看效果:

978902102915a1157312475a78ce3cbc.png

看看这样子是不是就正常了呢?

如果高度是固定的,是不会有这个问题产生的,所以如果高度能够确定,还是可以继续使用float:left的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值