利用width百分比布局为什么百分之百的情况下会出现换行

有两个div,分别用width百分比分配25%,以及75%。但第二个div竟然移动到了下一行,不只是什么原因,还请各位高手告知,谢谢!

图片描述

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>inline-blockSample</title>
    <style>
      * {
        box-sizing: border-box;
      }
      .container {
        position: relative;
        border: 3px solid green;
      }
      .nav {
        display: inline-block;
        border: 3px solid red;
        width: 25%;
      }
      .column {
        display: inline-block;
        border: 3px solid red;
        width: 75%;
      }
    </style>
  </head>
  <body>
    <div class="container">
      <div class="nav">
        <ul>
          <li>Home</li>
          <li>Taco Menu</li>
          <li>Draft List</li>
          <li>Hours</li>
          <li>Directions</li>
          <li>Contact</li>
        </ul>
      </div>
      <div class="column">
        <section>
          <p>Tada!</p>
        </section>
        <section>
          <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus imperdiet, nulla et dictum interdum, nisi lorem egestas odio, vitae scelerisque enim ligula venenatis dolor. Maecenas nisl est, ultrices nec congue eget, auctor vitae massa. Fusce luctus vestibulum augue ut aliquet. Mauris ante ligula, facilisis sed ornare eu, lobortis in odio. Praesent convallis urna a lacus interdum ut hendrerit risus congue. Nunc sagittis dictum nisi, sed ullamcorper ipsum dignissim ac. In at libero sed nunc venenatis imperdiet sed ornare turpis. Donec vitae dui eget tellus gravida venenatis. Integer fringilla congue eros non fermentum. Sed dapibus pulvinar nibh tempor porta. Cras ac leo purus. Mauris quis diam velit.</p>
        </section>
      </div>
    </div>
  </body>
</html>
阅读 5.4k
2 个回答

div 边框有3px宽度啊

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>inline-blockSample</title>
    <style>
        * {
            box-sizing: border-box;
        }
        .container {
            position: relative;
            border: 0px solid green;
        }
        .nav {
            display: inline-block;
            border: 0px solid red;
            width: 25%;
        }
        .column {
            display: inline-block;
            border: 0px solid red;
            width: 75%;
        }
    </style>
</head>
<body>
<div class="container">
    <div class="nav">
        <ul>
            <li>Home</li>
            <li>Taco Menu</li>
            <li>Draft List</li>
            <li>Hours</li>
            <li>Directions</li>
            <li>Contact</li>
        </ul>
    </div><div class="column">
        <section>
            <p>Tada!</p>
        </section>
        <section>
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus imperdiet, nulla et dictum interdum, nisi lorem egestas odio, vitae scelerisque enim ligula venenatis dolor. Maecenas nisl est, ultrices nec congue eget, auctor vitae massa. Fusce luctus vestibulum augue ut aliquet. Mauris ante ligula, facilisis sed ornare eu, lobortis in odio. Praesent convallis urna a lacus interdum ut hendrerit risus congue. Nunc sagittis dictum nisi, sed ullamcorper ipsum dignissim ac. In at libero sed nunc venenatis imperdiet sed ornare turpis. Donec vitae dui eget tellus gravida venenatis. Integer fringilla congue eros non fermentum. Sed dapibus pulvinar nibh tempor porta. Cras ac leo purus. Mauris quis diam velit.</p>
        </section>
    </div>
</div>
</body>
</html>

eg:你可以看一下,这两个div之间有明显的间隙,
inline-block水平呈现的元素间,换行显示或空格分隔的情况下会有间距,所以你边框改为0px的同时还需要去除两个div之间的空格

<style>
    .nav {
        display: inline-block;
        /*border: 1px solid red;*/
        width: 20%;
        background-color: aqua;
    }
    .column {
        display: inline-block;
        /*border: 1px solid red;*/
        width: 75%;
        background-color: red;
    }
</style>
<div class="container">
    <div class="nav">
        this is the first div
    </div>
    <div class="column">
        this is the second div
    </div>
</div>
<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>inline-blockSample</title>
    <style>
        * {
            box-sizing: border-box;
        }

        .container {
            position: relative;
            border: 3px solid green;
        }

        .nav {
            display: inline-block;
            border: 3px solid red;
            width: 25%;
        }

        .column {
            display: inline-block;
            border: 3px solid red;
            width: 75%;
        }
    </style>
</head>

<body>
    <div class="container">
        <div class="nav">
            <ul>
                <li>Home</li>
                <li>Taco Menu</li>
                <li>Draft List</li>
                <li>Hours</li>
                <li>Directions</li>
                <li>Contact</li>
            </ul>
        </div><div class="column">
            <section>
                <p>Tada!</p>
            </section>
            <section>
                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus imperdiet, nulla et
                    dictuminterdum, nisi lorem egestas odio, vitae scelerisque enim ligula venenatis dolor. Maecenas
                    nisl est,ultrices nec congue eget, auctor vitae massa. Fusce luctus vestibulum augue ut aliquet.
                    Mauris anteligula, facilisis sed ornare eu, lobortis in odio. Praesent convallis urna a lacus
                    interdum uthendrerit risus congue. Nunc sagittis dictum nisi, sed ullamcorper ipsum dignissim ac. In
                    at liberosed nunc venenatis imperdiet sed ornare turpis. Donec vitae dui eget tellus gravida
                    venenatis.Integer fringilla congue eros non fermentum. Sed dapibus pulvinar nibh tempor porta. Cras
                    ac leopurus. Mauris quis diam velit.</p>
            </section>
        </div>
    </div>
</body>

</html>

字符之间是有距离的每个div之间有距离,你把他们放一行就行了

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