Дмитрий184
Мастер
Дата регистрации:
29.06.2012 08:48:56
Сообщений: 225
Здравствуйте!
Столкнулся с такой проблемой. Создал контейнер родитель, задал ему относительное позиционирование. В этом контейнере создал параллелограмм и задал ему абсолютное позиционирование относительно контейнера родителя. И возникает проблема - когда я через firebug увеличиваю высоту параллелограмма, то он почему-то начинает выезжать из контейнера родителя?
Может кто подскажет как увеличивать высоту параллелограмма, чтобы он не "выезжал" за контейнер?
<html>
<head>
<style type="text/css">
#wrapper {
position: relative;
border: 3px solid #080;
width: 500px;
padding-top: 50px;
}
#parallelogram {
position: absolute;
top: 0;
right: 0px;
border: 3px solid #800;
font: 20px arial, sans-serif;
-webkit-transform: skew(-20deg);
-moz-transform: skew(-20deg);
-o-transform: skew(-20deg);
background-color: #ff8;
min-height: 20px;
}
span {
display: inline-block;
-webkit-transform: skew(20deg);
-moz-transform: skew(20deg);
-o-transform: skew(20deg);
}
</style>
</head>
<body>
<div id="wrapper">
<div id="parallelogram">
<span>ТЕКСТ</span>
</div>
</div>
</body>
</html>
Admin
Администратор
Дата регистрации:
27.05.2010 21:23:42
Сообщений: 3063
Вылезает, раз не умещается в контейнер. Можно поставить overflow на родительский контейнер, чтобы это ограничить.
Дмитрий184
Мастер
Дата регистрации:
29.06.2012 08:48:56
Сообщений: 225
А как он может не умещаться?
Контейнер родитель width: 500px, а параллелограмм width: 140рх.
К слову, если вместо параллелограмма сделать обычный прямоугольник, а потом увеличивать ширину прямоугольника, то все нормально увеличивается и ничего не вылезает за контейнер родитель.
qlipoth
Новичок
Дата регистрации:
23.08.2013 23:00:10
Сообщений: 12
например так http://jsfiddle.net/cYj5a/
Дмитрий184
Мастер
Дата регистрации:
29.06.2012 08:48:56
Сообщений: 225
Посмотрел пример. только не понял. как вы решили ситуацию, по-моему как было так и осталось. только при увеличении высоты параллелограмма, часть параллелограмма что выходит за рамку контейнера-родителя не видна - угол параллелограмма обрезается, т.к. вы задали свойство overflow: hidden Или я ошибаюсь?
qlipoth
Новичок
Дата регистрации:
23.08.2013 23:00:10
Сообщений: 12
Насколько я понял у вас была проблема с тем что вы не могли увеличить высоту параллелограмма из за того что он выходил за границы родительского блока. Я отменил абсолютное позиционирование и сдвинул параллелограмм в нужную позицию при помощи margin предварительно увеличив его высоту.
Дмитрий184
Мастер
Дата регистрации:
29.06.2012 08:48:56
Сообщений: 225
Спасибо за попытку помочь!
Но здесь ситуация другая - нужно чтобы при наполнении параллелограмма текстом его высота увеличивалась (т.е. высота динамически меняется) и при этом чтобы параллелограмм не сдвигался.
Дмитрий184
Мастер
Дата регистрации:
29.06.2012 08:48:56
Сообщений: 225
Нашел такое решение проблемы - пишу, если кому-то пригодится. Чтобы параллелограмм мог динамически изменять высоту, и при этом не сдвигался в сторону, контейнер родитель этого параллелограмма, нужно сделать таким же параллелограммом.
qlipoth
Новичок
Дата регистрации:
23.08.2013 23:00:10
Сообщений: 12
т.е. wrapper тоже свернуть? а если нам не нужно чтобы родитель был параллелограммом?
Дмитрий184
Мастер
Дата регистрации:
29.06.2012 08:48:56
Сообщений: 225
Контейнер-родитель параллелограмма должен быть параллелограммом. И этот Контейнер-родитель параллелограмма вы можете поместить в другой контейнер, который не будет параллелограммом. Контейнер-родитель параллелограмма вы никак не выделяйте (ни фоновый цвет, ни рамки) тогда он будет совершенно не видим на странице. т.е. Контейнер-родитель параллелограмма находится на странице, но его не видит посетитель сайта. Виден только сам параллелограмм, т.к. ему задается рамка. И при увеличении высоты, параллелограмм всегда остается на одном месте.