Jump to content
  • 0

PNG-градиенты и слои


gridbyte
 Share

Question

Приветствую.

Подскажите, пожалуйста, в общих чертах, как реализовать следующую вещь.

Есть страница, с чёрным фоном. Требуется в центре отобразить картинку, заранее неизвестно, каких размеров (предположим, PHP рандомно генерирует адрес из каких-то существующих вариантов, поэтому привязываться к размеру не хочется).

sunsetqz.jpg

Причём картинку хочется отобразить не просто так, а с дивами, использующими градиентный полупрозрачный PNG (два используют PNG с горизонтальным направлением градиента, а два других - с вертикальным. Как здесь, В общем:

sunset2d.jpg

Пытался сделать 4 дива, каждый следующий - вложен в предыдущий, а в конце внутри - картинка. Каждый див бэкграудом имеет PNG-шки. Не получается. Картинка в центре перекрывает их всех, и выставление z-index'ов не помогает.

Подскажите, как корректно это делать? Я не прошу делать это за меня, а в двух словах намекнуть, как это лучше сделать. Может, я совсем неправильно делаю.

Заранее спасибо :rolleyes:

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Я тебе бы посоветовал сделать картинку-пнг, у которой будут места для повторения, т.е. по середине.

И сделать потом, как тут, например рамка http://psywalker.ru/SAITS/Leonardo%20da%20Vinci/gallery-page1.html#

Тебе даже полегче будет, у тебя там фон чёрный и т.д.

Link to comment
Share on other sites

  • 0

<div width height center>

<img width height absolute z-index>

<img width height>

</div>

Объясняю свою не понятную идею:) :

т.к. твоя картинка получается через PHP можно узнать её размеры и выставить их для наших объектов жестко (width, height)

первый img - это png c прозрачным центром и плавно переходящим в чёрное к краям, она у нас абсолютная и слоем выше, чтобы накрыть вторую картинку

второй img - это сама картинка

зная размеры обёртки (div) мы можем его выровнять и по горизонтали и по вертикали через top left margin

первый img можно разбить на четыре картинки, как ты и хотел, и при желании сделать через div background

так же наложение градиента можно повесить на javascript - это получится наверно более красивой и удобной реализацией

Link to comment
Share on other sites

  • 0

Вроде всё понял кроме вот этого:

первый img можно разбить на четыре картинки, как ты и хотел, и при желании сделать через div background

Зачем разбивать(ведь можно и вправду сделать картинку с PNG-маской) и если разбивать, то как делать через div background?

Link to comment
Share on other sites

  • 0

Браузеры пока не умеют с картинками кроссбраузерно работать кроме как ресайзить и уголки отрезать (впрочем, тоже весьма некроссбраузерно). Маски никакие он не положит.

Link to comment
Share on other sites

  • 0

Новые браузеры умеют рисовать box-shadow:inset..., им картинка вообще не нужна, имхо. А для старых IE действительно можно сделать одну картинку-рамку (из фонового цвета по краям в полную прозрачность в центре) и положить ее поверх целевой картинки через filter:alphaImageLoader с параметром <чего-то там> scale...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy