Jump to content
  • 0

Сложная растягиваемая разметка


andrewQwer
 Share

Question

В общем существует следующая проблемка:

Есть хэдер, у него есть скажем 5 частей:

АБ центр ВГ

где А,Б,В,Г - рисунки

при разрешении экрана 800х600 должно быть видно только

Б центр В

а если выше то появляется

АБ центр ВГ причем АБ обязательно находится в крайней левом положении страноицы

а ВГ крайнем правом (сама растяжка)

т.е. в зависимости от разрешения видна либо половина рисунка справа и слева либо полный рисунок притянутый по краям... центральная часть остается на месте..

вот такая хитрая штука, может кто сталкивался и может на примерчике показать как такая растяжка делается? заранее СПАСИБО,

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 0
В общем существует следующая проблемка:

Есть хэдер, у него есть скажем 5 частей:

АБ центр ВГ

где А,Б,В,Г - рисунки

при разрешении экрана 800х600 должно быть видно только

Б центр В

а если выше то появляется

АБ центр ВГ причем АБ обязательно находится в крайней левом положении страноицы

а ВГ крайнем правом (сама растяжка)

т.е. в зависимости от разрешения видна либо половина рисунка справа и слева либо полный рисунок притянутый по краям... центральная часть остается на месте..

вот такая хитрая штука, может кто сталкивался и может на примерчике показать как такая растяжка делается? заранее СПАСИБО,

Если А и Г плавно должны появляться - можно сделать несколько ДИВов (4), в середине пара с заданной шириной (верояно, около 800), оборачивается парой ДИВами без указания ширины, и на всех на них грамотно расставить соответствующие бекграунды.

Edited by Justnewone
Link to comment
Share on other sites

  • 0

Min-width не для всех браузеров подходит, IE кажись его не понимает, а нужно по 3 основных идеальное отображение

с div большого опыта не имею, но если с таблицей нельзя буду пробывать

Link to comment
Share on other sites

  • 0

Вообще я думаю, что тут и без скриптов не обойтись. Даже если делать таблицами все равно не получится, иначе не получится прятать самую левую колонку. У нее же надо ставить отрицательный маргин если разрешение равно 800х600. А динамически ставить отрицательный маргин без скриптов не получится как не извращайся.

Хотя что-то сейчас подумал - есть один выход: сделать обе крайние колонки (А и Г) тянущимися но при этом поставить у них max-width и overflow: hidden;. Тогда если разрешение будет больше 800х600 колонки (и их содержимое) сожмутся, а если разрешение будет больше - колонки растянутся по ширине только до максимального указанного значения (пускай 100px).

Min-width не для всех браузеров подходит

Очень даже подходит, для дебильных браузеров (ИЕ) есть специальный хак через expression.

Link to comment
Share on other sites

  • 0
Вообще я думаю, что тут и без скриптов не обойтись. Даже если делать таблицами все равно не получится, иначе не получится прятать самую левую колонку. У нее же надо ставить отрицательный маргин если разрешение равно 800х600. А динамически ставить отрицательный маргин без скриптов не получится как не извращайся.

Хотя что-то сейчас подумал - есть один выход: сделать обе крайние колонки (А и Г) тянущимися но при этом поставить у них max-width и overflow: hidden;. Тогда если разрешение будет больше 800х600 колонки (и их содержимое) сожмутся, а если разрешение будет больше - колонки растянутся по ширине только до максимального указанного значения (пускай 100px).

Очень даже подходит, для дебильных браузеров (ИЕ) есть специальный хак через expression.

без Js пока не обошлось, попробую ваш вариант еще, спасибо за идею :huh:

Link to comment
Share on other sites

  • 0
есть один выход: сделать обе крайние колонки (А и Г) тянущимися но при этом поставить у них max-width и overflow: hidden;. Тогда если разрешение будет больше 800х600 колонки (и их содержимое) сожмутся, а если разрешение будет больше - колонки растянутся по ширине только до максимального указанного значения (пускай 100px).

Отличный способ, но есть 1 проблема и если ее решить будет все ок:у левой картинки затирается правая часть при уменьшении экрана (т.е. overflow прячет не ту часть картинки), а нужно чтобы пропадала и появлялась левая

может знаете что подправить нужно?

а так идея зашибенная и без JS

Edited by andrewQwer
Link to comment
Share on other sites

  • 0

<table width="100%" border="1">
<tr>
<td align="left" style="overflow:hidden; max-width:200px;">
<img src="images/header_01.jpg" />
</td>
<td > 
<img src="images/header_01.gif" />
</td>
<td align="right" style="max-width:200px; overflow:hidden;">
<img src="images/header_01.jpg" />
</td>

</tr>
</table>

у правой картинки поведение ИДЕАЛЬНОЕ, то что нужно...

а у левой с какой стороны браузера не растягивай окно, затирается правая часть рисунка, а должна левая :huh: в чем проблема-то??

Edited by andrewQwer
Link to comment
Share on other sites

  • 0

Попробуйте лучше картинку в фон запихнуть, примерно так:

<table width="100%" border="1">
<tr>
<td style="overflow:hidden; max-width:200px; background:url('images/header_01.jpg') right repeat-y;"></td>
<td>
<img src="images/header_01.gif" />
</td>
<td style="max-width:200px; overflow:hidden; background:url('images/header_01.jpg') left repeat-y;"></td>
</tr>
</table>

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