Форум hotibo.ru

Сайты - по стандартам, но не стандартные сайты!






#1 15.08.2011 22:10

XXXVII
Новичок
Зарегистрирован: 15.08.2011
Сообщений: 13

4 diva по всей высоте body

Отчаялся искать решение, надеюсь, здесь мне помогут.
Мне нужно расфасовать 4 крупных картинки (почти по пол-экрана) по 4 углам страницы. При этом, если вертикального скролла нет, то картинки в углах, а если скролл появляется, то картинки уезжают вниз вместе с контентом.
Разумеется я решил разместить картинки бэкграундами в 4 вложенных друг  друга div, каждый из которых имеет ширину и высоту страницы. Но возникла проблема: я успешно справился с задачей в html 4.01 (без указания dtd), но в xhtml (в котором необходимо сверстать) реализовать не удалось.
Вот наиболее удачный код из всех, что мне удалось реализовать:






     Untitled
     




     

         

               

                   

                   

               

         

     





Данный код не прошел проверку в Mozilla при высоте контента меньшем, чем высота страницы.

Нет на форуме

 

#2 15.08.2011 23:52

MT
Опытный
Откуда: Moscow
Зарегистрирован: 23.11.2009
Сообщений: 241
Вебсайт

Re: 4 diva по всей высоте body

Динамически меняйте высоту самого внутреннего блока при помощи JavaScript.


браузер | блог

Нет на форуме

 

#3 16.08.2011 08:40

XXXVII
Новичок
Зарегистрирован: 15.08.2011
Сообщений: 13

Re: 4 diva по всей высоте body

Неееет. Уж Javascript точно не выход...

Нет на форуме

 

#4 16.08.2011 15:37

MT
Опытный
Откуда: Moscow
Зарегистрирован: 23.11.2009
Сообщений: 241
Вебсайт

Re: 4 diva по всей высоте body

Тогда без вариантов.


браузер | блог

Нет на форуме

 

#5 16.08.2011 15:38

XXXVII
Новичок
Зарегистрирован: 15.08.2011
Сообщений: 13

Re: 4 diva по всей высоте body

Не может быть:о

Нет на форуме

 

#6 16.08.2011 17:30

alemiks
Опытный
Откуда: Voronezh
Зарегистрирован: 09.04.2010
Сообщений: 256
Вебсайт

Re: 4 diva по всей высоте body

qurksmode, 4 вложенные таблички, как в старые добрые времена wink

Нет на форуме

 

#7 16.08.2011 20:34

XXXVII
Новичок
Зарегистрирован: 15.08.2011
Сообщений: 13

Re: 4 diva по всей высоте body

Не ожидал, что на форуме hotibo.ru мне предложат верстать табличками;)

Нет на форуме

 

#8 16.08.2011 20:53

alemiks
Опытный
Откуда: Voronezh
Зарегистрирован: 09.04.2010
Сообщений: 256
Вебсайт

Re: 4 diva по всей высоте body

XXXVII написал:

Не ожидал, что на форуме hotibo.ru мне предложат верстать табличками;)

а вы табличные макетики не предлагайте wink

Нет на форуме

 

#9 17.08.2011 16:06

morozov
Новичок
Откуда: Minsk
Зарегистрирован: 22.11.2009
Сообщений: 12
Вебсайт

Re: 4 diva по всей высоте body

Ну можно поиздеваться с position:absolute

Нет на форуме

 

#10 17.08.2011 16:08

XXXVII
Новичок
Зарегистрирован: 15.08.2011
Сообщений: 13

Re: 4 diva по всей высоте body

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

Нет на форуме

 

#11 17.08.2011 21:14

dark-demon
Moderator
Зарегистрирован: 23.02.2011
Сообщений: 229

Re: 4 diva по всей высоте body

гм.. гигантский паддинг и отрицательный гигантский марджин?

Нет на форуме

 

#12 17.08.2011 22:43

tapazukk
Опытный
Зарегистрирован: 16.01.2010
Сообщений: 349
Вебсайт

Re: 4 diva по всей высоте body

dark-demon написал:

гм.. гигантский паддинг и отрицательный гигантский марджин?

Тоже хотел подобное подсказть, вот рецепт на всякий случай (по англицки тут).

Отредактированно tapazukk (17.08.2011 22:46)

Нет на форуме

 

#13 20.08.2011 02:32

morozov
Новичок
Откуда: Minsk
Зарегистрирован: 22.11.2009
Сообщений: 12
Вебсайт

Re: 4 diva по всей высоте body

Да ну. Не надо юзать для этого все колонки. я ее использую, когда совсем приспичит.

А вообще. На боди вешаешь height:100%. На главный див height:100%; min-width:100%

И уже там начинаешь позиционировать твою четыре картинки. попутно играясь с z-index.

Достаточно просто должно быть. если будут проблемы. там на сайте (morozoff.info) аська указана. можешь стукнуться. подробнее распишу.

Нет на форуме

 

#14 20.08.2011 11:58

alemiks
Опытный
Откуда: Voronezh
Зарегистрирован: 09.04.2010
Сообщений: 256
Вебсайт

Re: 4 diva по всей высоте body

morozov написал:

Да ну. Не надо юзать для этого все колонки. я ее использую, когда совсем приспичит.

А вообще. На боди вешаешь height:100%. На главный див height:100%; min-width:100%

И уже там начинаешь позиционировать твою четыре картинки. попутно играясь с z-index.

не забудьте выложить решение, интересно wink

Нет на форуме

 

#15 20.08.2011 20:30

morozov
Новичок
Откуда: Minsk
Зарегистрирован: 22.11.2009
Сообщений: 12
Вебсайт

Re: 4 diva по всей высоте body

Ну ко мне не писали в аську. Но вот вот я чутка накорябал. Суть должна быть ясна. В ie даже наглядней получилось. smile

http://morozoff.info/examples/four-bg/

Нет на форуме

 

#16 21.08.2011 11:33

XXXVII
Новичок
Зарегистрирован: 15.08.2011
Сообщений: 13

Re: 4 diva по всей высоте body

Спасибо преогромное!!! Это действительно работает и помогло мне разобраться с моей задачей:) Я безумно рад, что удалось обойтись без таблиц в данном случае

Нет на форуме

 

#17 21.08.2011 18:03

morozov
Новичок
Откуда: Minsk
Зарегистрирован: 22.11.2009
Сообщений: 12
Вебсайт

Re: 4 diva по всей высоте body

Да няма за что wink минус пару таблиц в интернете smile

Нет на форуме

 

#18 21.08.2011 22:07

Бизон
Разбирающийся
Откуда: г. Жуковский МО
Зарегистрирован: 13.04.2010
Сообщений: 94
Вебсайт

Re: 4 diva по всей высоте body

Читаем вот это /2005/10/18/footer-stick/ и делаем по аналогии (по сути задача к макету с подвалом сводится).

А еще желательно вот это: /2005/12/12/body_height_research/ чтобы понимать, где body по высоте экрана, а где - по высоте содержимого.

ЗЫ: а я бы абсолютным позиционированием такое делал. Но не советуют и самому привычнее иными способами

Нет на форуме

 

#19 22.08.2011 11:13

alemiks
Опытный
Откуда: Voronezh
Зарегистрирован: 09.04.2010
Сообщений: 256
Вебсайт

Re: 4 diva по всей высоте body

morozov написал:

Но вот вот я чутка накорябал.

в 8 опере фона вообще нет

Нет на форуме

 

#20 22.08.2011 11:34

morozov
Новичок
Откуда: Minsk
Зарегистрирован: 22.11.2009
Сообщений: 12
Вебсайт

Re: 4 diva по всей высоте body

Обновил страницу.
добавить надо тока min-height:50%; и все

Отредактированно morozov (22.08.2011 11:34)

Нет на форуме

 

#21 22.08.2011 12:04

alemiks
Опытный
Откуда: Voronezh
Зарегистрирован: 09.04.2010
Сообщений: 256
Вебсайт

Re: 4 diva по всей высоте body

не помогло, по-прежнему белый фон (op8.54)

Нет на форуме

 

#22 22.08.2011 12:10

klochked
Новичок
Зарегистрирован: 17.07.2011
Сообщений: 2

Re: 4 diva по всей высоте body

Посжимай в IE6 страницу вертикально и удивишься:))) картинки фантастически себя вести начинают

Нет на форуме

 

#23 22.08.2011 12:36

morozov
Новичок
Откуда: Minsk
Зарегистрирован: 22.11.2009
Сообщений: 12
Вебсайт

Re: 4 diva по всей высоте body

Ну вы ж поймите. это всего-то как пример. Я даже не видел макета. Просто накидал как вариант. По хорошему можно вместо 50% прописать допустим 150px и все будет великолепно работать. Потом как-нить вечером посижу поразбираюсь, бо тот пример который я выкинул занял минут 5 времени, но отталкиваться от него можно, а не брать подчистую. smile

Нет на форуме

 

#24 24.08.2011 22:41

Ice_Spirit
Новичок
Зарегистрирован: 24.08.2011
Сообщений: 2

Re: 4 diva по всей высоте body

Спасибо, взял код за основу, это как раз очень подходящее мне решение. Правда никак не могу сделать, чтобы минимальная высота была 100%, но не менее определенного значения, например,  - 1000px. Может решение и простое, только уже у меня голова не варит?

Нет на форуме

 

#25 24.08.2011 23:46

morozov
Новичок
Откуда: Minsk
Зарегистрирован: 22.11.2009
Сообщений: 12
Вебсайт

Re: 4 diva по всей высоте body

Можешь внутренний див сделать с min-height:1000px для нормальных и height:1000px для ie браузеров

Нет на форуме

 

#26 25.08.2011 13:51

Ice_Spirit
Новичок
Зарегистрирован: 24.08.2011
Сообщений: 2

Re: 4 diva по всей высоте body

Посидел немного и попробовал так

Код:

body {
  margin:0px;
  padding:0px;
  height:auto !important;
  height:100%;
  min-height:100%;
  text-align:center;
}

Все слои вкладываю в

Код:

#spacesaver {
  position: relative;
  height:auto !important;
  height: 736px;
  min-height: 736px;
}

а слой с контентом такой

Код:

#content {
  position: relative;
  height:auto !important;
  height: 736px;
  min-height: 736px;
  width: 100%;
}

Вроде, так работает.

Если кому интересно, то структура такая: слой на потолок, слой на пол, слой для ширины сайта и центровки, внутри - слой на потолок, слой на пол, слой с контентом:

Код:



контент

фоны примерно такие:

Код:

#back_bottom {
  position: absolute;
  left: 0px;
  bottom: 0px;
  background: url(/images/back_bottom_grad.gif) repeat-x left bottom;
  width:100%;
  height:356px;
  min-height:356px;
}

Нет на форуме

 

#27 30.08.2011 10:07

XXXVII
Новичок
Зарегистрирован: 15.08.2011
Сообщений: 13

Re: 4 diva по всей высоте body

Если интересно, здесь я реализовал решение morozov'а

Нет на форуме

 

#28 30.08.2011 14:18

alemiks
Опытный
Откуда: Voronezh
Зарегистрирован: 09.04.2010
Сообщений: 256
Вебсайт

Re: 4 diva по всей высоте body

XXXVII написал:

Если интересно, здесь я реализовал решение morozov'а

если интересно, в 8 опере фона нет (хотя может в техзадании и нет этого браузера)

Нет на форуме

 

#29 30.08.2011 14:25

morozov
Новичок
Откуда: Minsk
Зарегистрирован: 22.11.2009
Сообщений: 12
Вебсайт

Re: 4 diva по всей высоте body

Ну как я уже сказал. Заменить % на px и все будет хорошо.

Нет на форуме

 

Board footer