Почему блок выежает за пределы родительского DIV?

Доброго времени суток.

Столкнулся с проблемой в CSS, когда блок выходит за пределы родителя. У родителя и ребенка задана ширина 100%. Назначение родителю конкретной ширины, например 500px, проблему решает, но у меня резиновый контейнер, ограниченный по max-width и блок нужен на всю ширину контейнера. Назначение родителю overflow:hidden - тоже не вариант, так как съедает часть ребенка (Жутко звучит :)). Подскажите, пожалуйста, можно ли решить это не прибегая к JS? Вот пример: jsfiddle.net/vhwWw/13
  • Вопрос задан
  • 55838 просмотров
Решения вопроса 2
Scumtron
@Scumtron Автор вопроса
Add: Усовершенствовал JS код.

var adjust_size = function() {
	var a = $('.btn-toolbar').width();
	var b = Math.min(a -154);
	$('.btn-breadcrumb .btn:last-child').width(b);
};
adjust_size();
$(window).resize(adjust_size);


Благодарю за помощь :)
Ответ написан
Комментировать
@telegraphnij_stolb
display: table-cell элементам. jsfiddle.net/vt3Rx
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
0neS
@0neS
Чем не устраивают display: table > display: table-row > display: table-cell?
jsfiddle.net/vhwWw/19
Ответ написан
Комментировать
cha-cha
@cha-cha
box-sizing: border-box; Так ваша кнопка влезет как надо. Но учитывая что там есть еще 2, то либо JS либо calc()
Ответ написан
А он у вас и будет вылазить за пределы. Что происходит у вас в коде
.btn-breadcrumb .btn:last-child {
  padding:6px 18px 6px 24px;
  width: 100%;
}

тут вы указываете что кнопка будет размером с родительский элемент, оно и строит его размером как родительский элемент, а поскольку перед нею еще 2 кнопки, то оно сдвигает ее.
Вам тогда уж нужно рассчитывать размеры двух предыдущих кнопок и от 100% отнимать их значение, то что в итоге выйдет и будет размером последней кнопки, тогда она не будет вылазить за пределы.
Ответ написан
Комментировать
Убрали бы лишнее из кода, и показали бы наглядно блоками...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы