为什么第五个li,不能与同一行的li标签对齐
例子:
http://jsfiddle.net/3abjkz1h/
6个li元素分2行显示,li元素宽度使用的百分比,当body宽度不足时,为什么字数多的li元素出现了窜行
拉面拉面哟
10 years, 2 months ago
Answers
inline元素的对齐方式是由
vertical-align
控制的。而默认值
vertical-align: baseline
则会有这样的结果:
绿线为baseline。
解决方案:给
li
加上
vertical-align: top;
http://jsfiddle.net/3abjkz1h/6/
overflow:hidden
也能让它们对齐的原因,是因为它为每一个li创建了BFC(Block Formatting Context),从此隔绝了内部文本的baseline和外部的baseline(因为上下文完全变化了)。
像这样:
关于BFC,可以读一下 这一篇 ;关于FC,可以读一下 W3Help的常规流介绍 。
float:left
从来都是顶对齐的。
zatff
answered 10 years, 2 months ago