0

私がしたいのは、<div>withcontainerクラスと固定幅を持ち、<div>withblockクラスを保持して、他のコンテンツが不均等な空白スペースに侵入するのを防ぎ、次に 2 つの列 ( <div>'s) を 内に並べてblock、の幅の 50% block

これを作成すると、最初のブロックの後にマージンのように見えるものが表示されますが、これは望ましくありません。ブロックをぎゅっと詰めて、余白をなくしたい。

ここに私がこれまでに持っているものの例があり、ここにコードがある場合:

<html>
<head>
<title>Columns</title>
<style>
    div {
        margin: 0;
        padding: 0;
}
    .container {
        background: #DDD;
        width: 1200px;
        margin: 0 auto;
        padding: 2% 0;
}
    .block {
        background: #555;
        width: 100%;
        display: block;
}
    .col {
        width: 49%;
        display: inline-block;
        background: #333;
}
</style>
</head>
<body>
<div class="container">
<div class="block">

    <div class="col left">
        <h1>Left</h1>
    </div>

    <div class="col right">
        <h1>Right</h1>
    </div>

</div>
</div>
</body>
</html>
4

2 に答える 2

5

あなたの問題はによって引き起こされinline-blockています、これを使用すると間にスペースが表示されます。

これを回避するために使用float:leftしてみてください:

jsFiddleで見る

.col {
    width: 50%;
    float: left;
    box-sizing: border-box;
    background: #333;
}

追加したことに注意してください。box-sizing:border-box;これは、使用すると、その上ではなくpadding、に含まれることを意味しますwidth。余分なインナーなしで効果的に使用できるようにしますdiv

フロートを「クリア」するためにも、後で明確な修正を含めることを忘れないでください。

CSS

.clear {
    clear:both;
}

HTML

<div class="block">
    <div class="col left">
         <h1>Left</h1>

    </div>
    <div class="col right">
         <h1>Right</h1>

    </div>
    <div class="clear"></div>
</div>
于 2013-03-06T23:38:36.123 に答える
2

これらのクラスを置き換えてみてください:

.block {
    background: none repeat scroll 0 0 #555555;
    display: block;
    overflow: auto;
    width: 100%;
}

.col {
    width: 49%;
    float: left;
    background: #333;
}
于 2013-03-06T23:42:24.977 に答える