Розміщення нижньої частини кордону до div-html, css

У мене є проблема з плаваючою елементами, до якої я хочу надати фонове зображення в кінці вікна, як це:

+--------------------+    +-------------------+     +---------------------+
|                    |    |                   |     |                     |
|                    |    |                   |     |                     |
+--------------------+    +-------------------+     +---------------------+
================           ==============            =================

Але це, мабуть, таке:

===========================================================================
+--------------------+    +-------------------+     +---------------------+
|                    |    |                   |     |                     |
|                    |    |                   |     |                     |
+--------------------+    +-------------------+     +---------------------+
===========================================================================

Я використовую властивість кордону, а не зображення тут. DEMO

Відповіді:

1 для відповіді № 1

Ось рішення про те, що ви хочете досягти. Я просто змінив ваш CSS і HTML. Перевірте цю скрипку: http://jsfiddle.net/sarfarazdesigner/p7mBk/5/

CSS

.cf:before, .cf:after {
display: table;
content: " ";
}
.cf:after {
clear: both;
}
.cf {
zoom: 1;
}
.mainb {
width: 1000px;
}
.fleft {
float: left;
width: 300px;
}
.fright {
float: right;
width: 300px;
}
.midcol {
margin: 0 310px;
}
.cmnbrd {
border: 1px solid red;
margin-bottom:20px;
}
.spacer {
border: 1px solid gray;
border-top: 0;
background: blue;
height: 2px;
margin: 0 12px;
}

І HTML є

<div class="mainb cf">
<div class="fleft">
<div class="cmnbrd">
<h3>Latuis Congue Estaer</h3>
<img src="/images/" alt="" />
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur congue blandit diam sed ullamcorper. Morbi vitae metus a purus rhoncus egestas ac sit amet velit. Sed ac eros eu tellus adipiscing consectetur a ut mi. Nunc imperdiet pretium metus ac auctor. </p>
<p class="alt"><a href="#">More</a></p>
</div>
<div class="spacer"></div>
</div>
<div class="fright">
<div class="cmnbrd">
<h3>Latuis Congue Estaer</h3>
<img src="/images/" />
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur congue blandit diam sed ullamcorper. Morbi vitae metus a purus rhoncus egestas ac sit amet velit. Sed ac eros eu tellus adipiscing consectetur a ut mi. Nunc imperdiet pretium metus ac auctor. </p>
<p class="alt"><a href="#">More</a></p>
</div>
<div class="spacer"></div>
</div>
<div class="midcol">
<div class="cmnbrd">
<h3>Latuis Congue Estaer</h3>
<img src="/images/" />
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur congue blandit diam sed ullamcorper. Morbi vitae metus a purus rhoncus egestas ac sit amet velit. Sed ac eros eu tellus adipiscing consectetur a ut mi. Nunc imperdiet pretium metus ac auctor. </p>
<p class="alt"><a href="#">More</a></p>
</div>
<div class="spacer"></div>
</div>
</div>

1 для відповіді № 2

Вам потрібно додати clear до вашого spacer:

.spacer {clear: both;}

http://jsfiddle.net/p7mBk/7/


0 для відповіді № 3

Я змінив ваш код і розмістив всі елементи. Ось результат: http://jsfiddle.net/p7mBk/3/

CSS

.cf:before, .cf:after{display: table; content: " ";}
.cf:after{clear: both;}
.cf{zoom: 1;}

.mainb{width: 1000px;}
.fleft{float: left; width: 300px;}
.fright{float: left; width: 300px;}
.midcol{float: left;width:310px;}
.fleft, .fright, .midcol{border: 1px solid red;}
.spacer{border: 1px solid gray; border-top: 0; background: blue; height: 2px; margin: 0 12px;}

HTML

<div class="mainb cf">
<div class="fleft">
<h3>Latuis Congue Estaer</h3>
<img src="/images/" alt="" />
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur congue blandit diam sed ullamcorper. Morbi vitae metus a purus rhoncus egestas ac sit amet velit. Sed ac eros eu tellus adipiscing consectetur a ut mi. Nunc imperdiet pretium metus ac auctor. </p>
<p class="alt"><a href="#">More</a></p>
<div class="spacer"></div>
</div>
<div class="fright">
<h3>Latuis Congue Estaer</h3>
<img src="/images/" />
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur congue blandit diam sed ullamcorper. Morbi vitae metus a purus rhoncus egestas ac sit amet velit. Sed ac eros eu tellus adipiscing consectetur a ut mi. Nunc imperdiet pretium metus ac auctor. </p>
<p class="alt"><a href="#">More</a></p>
<div class="spacer"></div>
</div>

<div class="midcol">
<h3>Latuis Congue Estaer</h3>
<img src="/images/" />
<p>Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Curabitur congue blandit diam sed ullamcorper. Morbi vitae metus a purus rhoncus egestas ac sit amet velit. Sed ac eros eu tellus adipiscing consectetur a ut mi. Nunc imperdiet pretium metus ac auctor. </p>
<p class="alt"><a href="#">More</a></p>
<div class="spacer"></div>
</div>
</div>

Це може бути те, що ви хочете.


0 для відповіді № 4

Оскільки всі, котрі запропонували, поки я написав це, потрібно помістити спейсер всередині div. В іншому випадку, він не знає, де вона належить, і яку ширину вона буде використовувати. Якщо ви хочете мати червоні межі за межами spacer, просто додайте ще один розділ для вмісту:

<column>
<border>
<text/>
</border>
<spacer/>
</column>

Схожі запитання
Найбільш популярний