Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Срезание дива по диагонали (https://javascript.ru/forum/jquery/12338-srezanie-diva-po-diagonali.html)

Acrossfy 13.10.2010 00:56

Срезание дива по диагонали
 
Вложений: 1
Здравствуйте, ситуация довольно необычная. У меня имеется див статичной шириной, скажем 200 пикселей и растянутый на всю высоту странички. Диву задан повторяющийся в высоту фон, сложный паттерн с узором.
Задача - срезать нижнюю часть дива №1 (я приложил наглядную схематичную иллюстрацию) по диагонали. Диагональный срез должен быть 20 градусов, плюс поскольку за нашим дивом имеется второй див с повторяющимся с фоном, срез должен быть прозрачным.
Была идея сделать паттерн фона с прозрачным вырезанным углом снизу справа и сверху слева, но тут этот вариант не подходит, т.к. в условиях данной верстки фон обязательно должен начинаться от верхнего левого угла дива, а высота странички будет постоянно меняться(из-за длины паттерна нужной "стыковки" внизу не получится). Сделать тоже с дивом под вторым номером нельзя, т.к. на правой стороне страницы все повторится зеркальным образом.
Я начал гуглить по поводу плагинов jquery для закругления углов. Видел, что они еще и срезать углы умеют. Но почти все они делают это скриптами и срезают строго на 45 градусов. На офф сайте данного фреймворка я нашел плагины, которые используют пнг как основу для среза углов, но ни на один из этих плагинов ссылки на доки, примеры и даже на скачку уже не работают (по прошествии немалого времени). Другие найденные гуглом плагины не дают прозрачности срезанным углам, или не совместимы с дивами, у которых сложный фон.
Собственно поэтому мне ничего другого не остается, как обратиться к экспертам.
Буду благодарен за любую наводку, помощь или совет в данной ситуации (про переделать дизайн - не принимается, заказчик барин).

Octane 13.10.2010 01:07

Как вариант, постучать по голове дизайнеру за незнание основ создания макетов для веб и попросить переделать.

Еще можно посмотреть в сторону SVG/VML, но расположить SVG в виде фона растягивающегося блока сейчас только Opera умеет, придется помучиться, чтобы расположить блок с SVG под текстом.

Acrossfy 13.10.2010 01:48

Я и есть этот дизайнер) Основы верстки прекрасно знаю, на что шел тоже знал. Сделать подобный дизайн, да еще и резиновый в высоту и ширину - желание заказчицы, а иного она и видеть не хочет.
Что касается SVG, то тут я честно не специалист, работать с ним не умею. Что касается текста, то на этих блоках его совсем не будет, они чисто декоративные.

Aetae 13.10.2010 02:08

Ну можно извращаться сделав сотню дивов(каждый чуть короче) и меняя динамически бгпозищн. Но это такая бяка.
Если вы дизайнер - то постучите по голове себе.)

Пойдём от обратного: почему нельзя сделать фиксирование фона левого блока или заднего фона по низу, и соот-но срезанную картинку на угол?
Возможно эту проблему можно будет проще а главное красивее преодолеть.)

tenshi 13.10.2010 02:18

хороший повод разобраться с svg

Acrossfy 13.10.2010 02:21

Aetae, я писал, что подобный вариант не подходит, т.к. по дизайну фон всегда обязательно должен фиксироваться сверху у левого блока. А у нижнего это не прокатит, из-за того, что с правой его стороны будет тоже угол, тоже зеркальный.

Aetae 13.10.2010 02:29

Так я специально выделил слово "почему": что за абстрактные нужды дизайна?)
Впрочем пустое - мучайте svg и будет вам счастье.)

Acrossfy 13.10.2010 14:53

Про SVG честно пытался гуглить, но ничего кроме фотошопа и графического формата не находит. Был бы признателен, если бы меня ткнули носом в статью о применении SVG в верстке.
Насчет асбстрактных нужд дизайна я с вами полностью согласен. Но я уже говорил, заказчик-барин, приходится искать выход)
В свое оправдание скажу, что дизайн изначально планировался статичный в ширину, тогда бы проблемы не было. Но у меня потребовали еще и в ширину тянуть, поэтому и возникла головная боль.

subzey 13.10.2010 16:47

Вложений: 1
Мсье знает толк в извращениях.

Держите. Под IE, как обычно, работать не будет.

sysya 13.10.2010 19:15

Ещё можно капнуть в сторону canvas


Часовой пояс GMT +3, время: 17:49.