1

内部に 2 つのフローティング div がある div に background-color を適用しようとしていますが、適用されていません。コンテナ内の両方のdivがクリアされ、希望するように並べて表示されますが、全体的な背景色が適用されていません

ここでjsfiddle

 <div class="contactformcontainer">
    <div class="maincontactform">
      <h4>SEND US A MAIL</h4>
      <form>
        <input type="text" placeholder="What is your name ?">
        <input type="text" placeholder="Email">
        <textarea type="text" placeholder="What is your message to us ?"></textarea> 
        <input type="submit" value="submit">
      </form>
    </div>
    <div class="maincontactdetails">
      <h4>Email : </h4><p>office@blah.org</p>
      <h4>Tel : </h4><p>(434)-5564-63443534</p>
      <h4>Address : </h4><p>blah blah blah.</p>
    </div>
    </div>

CSS

 .contactformcontainer{
width:100%;
background-color: green;
}

.maincontactform{
width: 47%;
padding: 24px;
float:left;
background-color: blue;
clear:both;
  }

 .maincontactdetails{
width: 40%;
padding: 24px;
background-color: red;
float:right;
}
4

3 に答える 3

3

float: left; .contactformcontainer:)

.contactformcontainer{
  float: left;
  width:100%;
  background-color: green;
}
于 2013-08-04T22:16:55.753 に答える
1

追加position: absolute;すると問題が解決する場合があります。

このフィドルを参照してください。

于 2013-08-04T22:22:42.730 に答える
1

ここでは、古き良き clearfix の「ハック」が必要です。コンテナにその子を強制的に自己クリアさせるには、div にcontactformcontainerのクラスを指定し、別のクラスのclearfixを指定して、これらのスタイルを追加します。

.clearfix:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0;
}

.clearfix {
display: inline-block;
}

html .clearfix { height: 1%; }
.clearfix { display: block; }

または、外側のコンテナを左に浮かせてください:)

于 2013-08-04T22:17:52.810 に答える