如何用行创建一行div?

时间:2015-04-09 22:10:45

标签: html css layout

我正在尝试创建一行div,其中每个div有两行。我有以下代码:

的index.html

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>Row of Divs</title>
    <link href="style.css" rel="stylesheet"/>
</head>
<body>
<div class="inline">
    <div class="block">
        <p>
            ABC
            <br>
            DEF
        </p>
    </div>
    <div class="block">
        <p>
            GHI
            <br>
            JKL
        </p>
    </div>
    <div class="block">
        <p>
            MNO
            <br>
            PQR
        </p>
    </div>
    <div class="block">
        <p>
            STU
            <br>
            VWX
        </p>
    </div>
</div>
</body>
</html>

的style.css

div.inline{
    display: inline;
}

div.block{
    display: block;
}

所以我想要以下输出:

ABC    GHI    MNO    STU
DEF    JKL    PQR    VWX

但是我得到了后续的输出:

ABC 
DEF

GHI
JKL

MNO 
PQR

STU
VWX

如何修复我的代码以保持内联为一行,如上所示?

3 个答案:

答案 0 :(得分:2)

像这样: https://jsfiddle.net/ar97yzqv/1/ CSS:

.inline{
        display: inline;
    }

    .block{
        display: inline-block;
    }

答案 1 :(得分:2)

您将.block设置为块元素,因此创建一个全宽度元素,从两侧清除所有内容。

您需要将其设置为inlineinline-block元素,并且它应该按预期工作。

&#13;
&#13;
.inline {
  display: inline;
}
.block {
  display: inline-block;
}
&#13;
<!DOCTYPE html>
<html>

<head lang="en">
  <meta charset="UTF-8">
  <title>Row of Divs</title>
  <link href="style.css" rel="stylesheet" />
</head>

<body>
  <div class="inline">
    <div class="block">
      <p>
        ABC
        <br>DEF
      </p>
    </div>
    <div class="block">
      <p>
        GHI
        <br>JKL
      </p>
    </div>
    <div class="block">
      <p>
        MNO
        <br>PQR
      </p>
    </div>
    <div class="block">
      <p>
        STU
        <br>VWX
      </p>
    </div>
  </div>
</body>

</html>
&#13;
&#13;
&#13;

答案 2 :(得分:2)

有很多方法如下。

使用inline-block (推荐)

.block { display: inline-block; } /*child*/

float

.block { float: left; } /*child*/

flex

.inline { display: flex; } /*parent*/

table + table-cell

.inline { display: table; } /*parent*/
.block { display: table-cell; } /*child*/