Я думаю, что это можно сделать без jQuery. Основная проблема заключается в учете переменной высоты элементов.
ссылка здесь: http://jsfiddle.net/uqZgt/1/
HTML:
<div class="container">
<div class="box-1">
This box has alot of content. This box has alot of content. This box has alot of content.
</div>
<div class="box-2">
This box has a little bit of content. This box has a little bit of content. This box has a little bit of content. This box has alot of content. This box has alot of content. This box has alot of content.
</div>
</div>
CSS:
.container {
width: 242px;
}
.container div {
width: 100px;
background: #ff0000;
float: left;
padding: 10px;
border-right: 2px solid #000
}
.box-1 + .box-2 {
border-right: none;
border-left: 2px solid #000
}
.box-1 ~ .box-2 {
margin-left: -2px
}
в этом примере все div в div .container
имеют сплошную черную рамку шириной 2 пикселя справа. Однако элемент с классом box-2
, который непосредственно следует за элементом с .box-1
, будет иметь сплошную черную границу слева толщиной 2 пикселя и границу справа нет. Пока это создает границу в 3 пикселя между двумя элементами.
Теперь .box-1 ~ .box-2
выбирает любой .box-1
, который непосредственно предшествует .box-2
, и устанавливает для его левого поля значение -2px. Это перетащит его на два пикселя влево, что фактически приведет к перекрытию границ обоих элементов.
Ширина блока .container
равна сумме ширины двух элементов (200 пикселей) плюс отступы (по 10 пикселей справа и слева = 20 пикселей) плюс ширина одной границы (2 пикселя). 242px, поэтому два элемента идеально подходят друг другу.
Независимо от того, какой элемент div содержит больше содержимого, граница будет охватывать высоту элемента div с наибольшим содержанием.
person
HandiworkNYC.com
schedule
18.01.2012