Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: хитрая тянучка.  (Прочитано 14445 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Chuda
Гость
« : 26-02-2007 12:28 » 

Задача такая.
Сайт, страница которого имеет минимальную ширину 1004 пикселя. Три колонки(классика). В случае, если окно расширяется на 30 пикселей, левая колонка расширяется на 30 пикселей, а если окно расширяется дальше, то тянется средняя колонка.
Как можно реализовать такое? Таблицами или блоками - всё равно.
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 26-02-2007 13:19 » 

Наверно надо писать JavaScript. Вешать обработчик события на document.onresize (если есть такой) Улыбаюсь
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 26-02-2007 14:04 » 

Chuda, точно. Чтоб везде работало - только JS наверно.
Скрипт нужно запускать после загрузки страницы (onload или скрипт в самом конце страницы) и на onsize тоже повесить.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Chuda
Гость
« Ответ #3 : 26-02-2007 17:41 » 

а если забить на очерёдность?
т.е. чтоб в зависимости от ширины окна левая колонка менялась от 220px до 250px, правая оставалась неизменной, а средняя просто тянулась.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 26-02-2007 17:52 » 

Chuda, попробуй с float. Третья колонка без float. Ей достанется остальное место, но поведение прдсказать не могу - все зависит от браузера и контента. Лучше используй JS.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Chuda
Гость
« Ответ #5 : 27-02-2007 11:18 » 

хорошо. JS.
Но как в JS узнать ширину окна браузера???
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 27-02-2007 15:57 » 

window.innerWidth
для IE - document.body.scrollWidth
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Chuda
Гость
« Ответ #7 : 28-02-2007 15:38 » 

спасибо.
вопрос уже решён так:
Код:
function zspb_resize(){
var w = 0;
var pd = 0;
var wmin = 1004; // минимальная ширина страницы
var p1 = 1034; // первый порог тянучки
var lwmin = 240; // минимальная ширина левой колонки

if(document.body.clientWidth){
w = document.body.clientWidth;
}else if(window.innerWidth){
w = window.innerWidth;
}
if(w > p1){
pd = 30;
}else if(w <= wmin){
lwnew = lwmin;
pd = 0;
}else{
pd = w - wmin;
}
pdstr = pd.toString() + 'px';
document.getElementById('left').style.paddingLeft = pdstr;
}
критика? замечания к такому решению?
в действии можно смотреть здесь: http://www.zagorodspb.ru
« Последнее редактирование: 15-12-2007 20:35 от Алексей1153++ » Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #8 : 28-02-2007 20:51 » 

Chuda, Кстати, а почему именно 1004 пикселя? Есть люди, у которых экран стоит с расширением 800*640 или вообше 320*240
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 28-02-2007 21:04 » 

Finch, веб-дизайн - штука сложная в этом плане. Расчитывать на 640х480 или мобилы нет смысла - для них обычно упрощенные варианты делают - дополнительно к основному сайту. Даже на 800х600 можно не развернуться. Конечно все зависит от целевой аудитории и условий задания.
Вполне логично на сегодня расчитывать на 1024х768 - все современные дешевые мамки со встроенным видео его поддерживают и даже 14" мониторы могут это отобразить.

По моему субъективному опыту, сайты расчитанные на 800 пикселей ширины плохо масштабируются на больших разрешениях - это выглядит некрасиво. Или в бок уходит, или на середину выносит, но все равно много места пустует. Несколько лучше выглядят сайты со столбцами  с шириной в процентах. Если сайт сильно растягивается на очень больших разрешениях, то это тоже ухудшает читаемость.
Баланс трудно найти.
« Последнее редактирование: 28-02-2007 21:06 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Chuda
Гость
« Ответ #10 : 01-03-2007 15:08 » new

правильный в плане дизайна сайт здесь: http://www.lib.ru
то есть, конечно же, это не единственный сайт с хорошим дизайном, но таких по пальцам пересчитать, которые одинаково хороши на любом разрешении.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines