float布局的元素为什么会换行,如何解决

如图所示:
图片描述

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .main{
            width:740px;
            margin:0 auto;
            position: relative;
            background:lightsalmon;
            height:800px;
        }
        .wrap{
            position: absolute;
            left: 50%;
            bottom: 4px;
            color: #9DA2AD;
            z-index: 3;
            padding: 0px 16px;
            height: 24px;
            border-radius: 16px;
            background: lightblue;
            transform:translateX(-50%);
        }
        .wrap div{
            line-height: 24px;
            float:left;
        }
    </style>
</head>
<body>

<div class="main">
    <div class="wrap">
        <div class="left1">sample text</div>
        <div class="left2">left2 content left2</div>
        <div class="left31">left31 left31 left31 left31 left31 </div>
        <div class="left32">left32</div>
        <div class="left">left33</div>
        <div class="left4">left4 content</div>
    </div>
</div>

</body>
</html>
阅读 4.9k
3 个回答

.wrap的定位,left为50%,所以宽度只剩下了50%,也就是370px,再去掉左右padding,还剩338px,显示不下了啊,不换行才怪...

是你这个.wrap不够宽,就挤下来了
图片描述

宽度不够,放不下,所以换行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题