情况如上图所示:
外层div容器宽度固定,ul宽度随li(li宽度固定)的增加而撑开,但是当ul中li的宽度之和大于div时,ul没有撑开,而是li换行了,如何使li不换行?
ul样式如下:
#pic_list
{
display:inline;
white-space: nowrap;
}
li样式如下:
#pic_list li
{
width:80px;
height:80px;
margin:3px;
float:left;
background:red;
display:block;
}
补充说明:即使我将ul的宽度设置为大于div容器宽度的固定值,但是li依然会在div容器的边缘之前换行。
经过研究,应该是float惹的祸,w3cschool的资料如此描述“浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止”,我认为li在浮动时并没有碰到ul的框,而是碰到了ul的父容器div的框,但是依然会换行。
回复讨论(解决方案)
去掉
float:left;
改成
display:inline-block;
nbsp;html>#pic_list{display:block;white-space:nowrap;width:500px;overflow:auto;}#pic_list li{width:80px;height:80px;margin:3px;background:red;display:inline-block;}
登录后复制
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2843639.html