Верстка,- вывод изображения в искаженной рамке

Hocok44
На сайте с 09.04.2010
Offline
68
988

Здравствуйте уважаемые форумчане.

Нужен совет или помощь от опытных верстальщиков.

Задача для меня крайне сложная, решений ее в гугле я не нашел.

Пытаюсь набраться опыта и верстаю тестовый макетик.

Сейчас сделал вот что:

В этой верстке на данный момент три изображения-параллелограмма являются прозрачными картинками png. Но предполагаю, что готовая верстка должна обрабатывать обычные прямоугольные/квадратные jpg картинки и приводить их в этот вид, при том, что изображения искажаться не должны. Вопрос - как?

Теория и предположения:

  • Делаем два Div-блока, родительский и дочерний.
  • Родительский блок для вставки изображения с изменением его масштаба до размеров параллелограмма с сохранением пропорций этого изображения.
  • Дочерний блок формирует параллелограмм с прозрачной внутренней областью и закрывающий определенные области вне параллелограмма. При том, что закрывать цветом, эти выезжающие за пределы параллелограмма части картинки, не получится, потому как сиреневый фон является градиентом.

Требуется помощь бывалых. Я даже теорию пока написать (в код) не могу.

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

Заранее большое спасибо!

WebJunior
На сайте с 11.06.2010
Offline
155
#1

Гуглите "использование маски html". Если у вас html5 то проблемы не должно составить.

А просто прозрачной только внутреннюю область оставить? а дальше подогнать по вертикали под градиент, и всё.

Мой сайт на этом хостинге - https://tuthost.ua/?from=2558 / Верстаю шаблоны (темы с отзывами: https://searchengines.guru/ru/forum/763758, https://searchengines.guru/ru/forum/600404 ).
Hocok44
На сайте с 09.04.2010
Offline
68
#2

WebJunior спасибо большое за наводку, будем разбираться с этим способом.

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

Спасибо еще раз.

eis
На сайте с 18.10.2008
Offline
473
eis
#3

Hocok44,

1-й вариант. Каждую картинку готовить в графическом редакторе под это дело

2-й вариант. CSS3 transformation

- Здесь я покупаю вечные ссылки на свои сайты! (https://backlinkator.com) - сотни ссылок за копейки
Hocok44
На сайте с 09.04.2010
Offline
68
#4
eis:
Hocok44,
1-й вариант. Каждую картинку готовить в графическом редакторе под это дело
2-й вариант. CSS3 transformation

Вариант №1 исключается, это не есть решение задачи.

Во втором варианте, если я правильно понял, требуемый вывод реализуется по принципу моих предположений в первом посте? Если иначе, то напомню - искажение изображения недопустимо.

В любом случае спасибо за советы.

eis
На сайте с 18.10.2008
Offline
473
eis
#5

Hocok44, да, по принципу двух блоков. Блок родитель наделяется трансформацией и + overflow: hidden; и в него ложится картинка

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий