Блоки расширяют страницу в бок @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 24 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
Inviz Муж.
соучастник
0
Сообщения: 687
Зарегистрирован: 05.04.05
Заголовок сообщения: Блоки расширяют страницу в бок
Сообщение Добавлено: 25 Август 2005, 14:33:36 
Здравствуйте, опять-таки давно не появлялся, вот вопрос:
Допустим, я решил сделать сайт который мотается по горизонтали (не спрашивайте зачем, это пример).

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

Т.е. имеем неограниченное число столбиков, с переменной шириной (т.е. нестатичной) и так чтобы каждый новйы располагался справа от предыдущего.

На таблицах это сделать легко, таблица имеет свойство расширять страницу по горизонтали, если ни одна даже ширина не указана, только контетом в ячейках. Но с таким подходом мы теряем много плюшек с позиционированием, position:relative к ячейкам присваевается некорректно и прочее-прочее. Да и не стоит вопрос о таблицах.

На цсс, есть несколько вариантов, но все они ен подходят по разным причинам:

-вариант, блоки абсолютно позиционируются от левого края. Но нам нужно знать ширину каждого блока-колонки, вычислять ее и .., вообщем, куча ненужных расчетов.

-вариант с float:left не срабатывает, потому что блоки не влезающие по ширине будут переноситься на следующую строку.

-поставить html { overflow:hidden } а для body {width:6000px;} чтобы иметь возможность флоатить блоки неограниченно вправо, не срабатывает в некоторых браузерах, кое где не появлояется прокрутка и прочее.

было еще несколько идей, уже не помню, вообщем пришлось сверстат на таблицах, а этого делать я не люблю

У кого-нибудь есть идеи?

_________________
критиковать человека не имеет смыла, потому что критика заставляет его защищаться и, как правлио искать оправданий. критиковать человека опасно, так как критика наносит удар его гордости, задевает чувство собственной значитмости и обижает его. (Дейл Карнеги)
Акела Муж.
Констататор
17
Сообщения: 7419
Зарегистрирован: 15.11.04
Сообщение Добавлено: 25 Август 2005, 14:58:10 
Inviz, сорри, прочёл стартовый пост невнимательно. Ессно переносятся, это я из другой задачи.


Последний раз редактировалось Акела 25 Август 2005, 15:22:47, всего редактировалось 1 раз.
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Заголовок сообщения: Re: Блоки расширяют страницу в бок
Сообщение Добавлено: 25 Август 2005, 15:02:44 
Хе-хе.… типа, поставить в style дива white-space: nowrap? :-)
Акела, ммм... а если display:inline применить и к диву, а не только к списку?

_________________
Keep in touch. Andrey Alexeev.
Inviz Муж.
соучастник
0
Сообщения: 687
Зарегистрирован: 05.04.05
Сообщение Добавлено: 25 Август 2005, 15:17:44 
инлайн элементы переносятся :)

вайт спейс один раз пробовал, но помоему с ним были проблемы. ща еще потыкаюсь

_________________
критиковать человека не имеет смыла, потому что критика заставляет его защищаться и, как правлио искать оправданий. критиковать человека опасно, так как критика наносит удар его гордости, задевает чувство собственной значитмости и обижает его. (Дейл Карнеги)
Inviz Муж.
соучастник
0
Сообщения: 687
Зарегистрирован: 05.04.05
Сообщение Добавлено: 25 Август 2005, 15:23:58 
Просто вайт-спейс не работает, как и прост инлайновые элементы.

Но вкупе получается как нужно.

Но, возникает куча новых проблем.

Вложенный блочный элемент в такой блок пихнуть невозможно (он его расширит до ширины auto).

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


Последний раз редактировалось Inviz 25 Август 2005, 15:29:59, всего редактировалось 1 раз.
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 25 Август 2005, 15:24:50 
Inviz, white-space поставить у дива, который будет окружать всё соддержание...

_________________
Keep in touch. Andrey Alexeev.
Inviz Муж.
соучастник
0
Сообщения: 687
Зарегистрирован: 05.04.05
Сообщение Добавлено: 25 Август 2005, 15:30:34 
да да, я так и сделал, постваил к body вайтспейсинг. Пост выше обновил. т.е. инлайновое решение не дает гибкости

_________________
критиковать человека не имеет смыла, потому что критика заставляет его защищаться и, как правлио искать оправданий. критиковать человека опасно, так как критика наносит удар его гордости, задевает чувство собственной значитмости и обижает его. (Дейл Карнеги)
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 25 Август 2005, 15:39:59 
Inviz, конечно, неплохо бы посмотреть жЫвой код примера. И потом, а если так:
Код:
<html>
   <body>
<div style="white-space:nowrap;display:inline;overflow:scroll;">
…. а вот тут размещаем вcе остальные дивы …
<div>
   </body>
</html>

_________________
Keep in touch. Andrey Alexeev.
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 25 Август 2005, 15:50:36 
afair, у Кирсанова и Алексея Андреева внутренние страницы выполнены с горизонтальным скроллом. Но, надо смотреть, какой там код. Может, и таблицы. Которые могут быть лучшим, в данном варианте, выходом...

_________________
Keep in touch. Andrey Alexeev.
Акела Муж.
Констататор
17
Сообщения: 7419
Зарегистрирован: 15.11.04
Сообщение Добавлено: 25 Август 2005, 16:00:02 
tentoys, таблицы, таблицы. Ещё журнал "Салон" можно вспомнить, не знаю как сейчас у них. Но на самом деле вопрос чисто теоретический, бо горизонтальный скролл это выкидыш. Если б предлагать это как некий ход году в 1995-м - тогда можно было б рассуждать. Сейчас это бессмыслено, ни один пользователь не станет искать горизонтально расположеный контент.
Inviz Муж.
соучастник
0
Сообщения: 687
Зарегистрирован: 05.04.05
Сообщение Добавлено: 25 Август 2005, 16:04:43 
Акела,
Да-да, это, естественно, никому не нужно.

Но для меня этот вопрос интересен чисто теоретически.

http://inviz.personart.ru/tests/test.htm - вариант инлайновый аутер + блоки с float
http://inviz.personart.ru/tests/test2.htm - вариант блочный аутер + инлайновые блоки (гы), работает, но блочные блоки (гы) сделать невозможно.

_________________
критиковать человека не имеет смыла, потому что критика заставляет его защищаться и, как правлио искать оправданий. критиковать человека опасно, так как критика наносит удар его гордости, задевает чувство собственной значитмости и обижает его. (Дейл Карнеги)
Акела Муж.
Констататор
17
Сообщения: 7419
Зарегистрирован: 15.11.04
Сообщение Добавлено: 25 Август 2005, 16:09:37 
Inviz, вот видишь! А спрашивал! ;) Я не понял, а зачем первый вариант? Он как не работал, так и не работает. А со вторым всё естественно, нельзя чередовать блок с инлайном. :)
Inviz Муж.
соучастник
0
Сообщения: 687
Зарегистрирован: 05.04.05
Сообщение Добавлено: 25 Август 2005, 16:14:00 
ога, первый вариант в ответ на пост tentoys,


Цитата:
<html>
<body>
<div style="white-space:nowrap;display:inline;overflow:scroll;">
…. а вот тут размещаем вcе остальные дивы …
<div>
</body>
</html>



Т.е. не работает.

Еще задачка, которая меня мучает долго долго.
Нужно чтобы ширина дива стремилась к нулю, но нуля достичь ей мешал бы контент. Как у инлайнового элемента, то есть. Но иметь все свойста блоков при этом. без использования float и прочих извращителей потока. Тогда и эту искомую задачу можно решить будет.

_________________
критиковать человека не имеет смыла, потому что критика заставляет его защищаться и, как правлио искать оправданий. критиковать человека опасно, так как критика наносит удар его гордости, задевает чувство собственной значитмости и обижает его. (Дейл Карнеги)
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 25 Август 2005, 16:17:03 
Акела, согласен. Сегодня это -- либо позёрство, либо пережитки прошлого :-)

_________________
Keep in touch. Andrey Alexeev.
Акела Муж.
Констататор
17
Сообщения: 7419
Зарегистрирован: 15.11.04
Сообщение Добавлено: 25 Август 2005, 16:26:13 
Inviz, нифига не понял! Задачу ещё раз подробнее плз! Ширина это контент + отступы (padding) + границы (border) + поля (magin) Что должно стремиться к нулю?
Inviz Муж.
соучастник
0
Сообщения: 687
Зарегистрирован: 05.04.05
Сообщение Добавлено: 25 Август 2005, 16:34:06 
ширина.

<div style="background:#ccc">
1
</div>

чтобы ширина блока была равна ширине цифры 1 :) или количеству контента внутри

_________________
критиковать человека не имеет смыла, потому что критика заставляет его защищаться и, как правлио искать оправданий. критиковать человека опасно, так как критика наносит удар его гордости, задевает чувство собственной значитмости и обижает его. (Дейл Карнеги)
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 25 Август 2005, 16:36:52 
Inviz, :laugh:
http://www.issociate.de/board/post/2166 … lling.html

_________________
Keep in touch. Andrey Alexeev.
Акела Муж.
Констататор
17
Сообщения: 7419
Зарегистрирован: 15.11.04
Сообщение Добавлено: 25 Август 2005, 16:46:12 
Inviz, тоже мне, бином Ньютона! ;) Контейнеру ставишь width: 0% и всё работает. Теперь засады: фон будет отображаться только в ИЕ. Теперь засовываем в контейнер span и даём фон ему - теперь работает в мозиллах, но не работает в Опере. Итого: Опера ближе всего к стандартам и нех их нарушать! :)
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 25 Август 2005, 16:55:34 
Акела, а почему не работает в Опере -- где тут нарушение: в том, что у спана, инлайнового элемента, прописан фон? Чего-то не въезжаю, может, переработал...

_________________
Keep in touch. Andrey Alexeev.
Акела Муж.
Констататор
17
Сообщения: 7419
Зарегистрирован: 15.11.04
Сообщение Добавлено: 25 Август 2005, 16:58:21 
tentoys, в том, что 0%. Это изнасилование. По идее вообще не должно б показывать.
tentoys Муж.
постоянный участник
121
Сообщения: 2940
Зарегистрирован: 06.08.02
Откуда: МКАДонутряк
Сообщение Добавлено: 25 Август 2005, 16:59:44 

Акела писал(а):
tentoys, в том, что 0%. Это изнасилование. По идее вообще не должно б показывать.


А! А если min-width=0; то заработает?

_________________
Keep in touch. Andrey Alexeev.
Акела Муж.
Констататор
17
Сообщения: 7419
Зарегистрирован: 15.11.04
Сообщение Добавлено: 25 Август 2005, 17:05:53 
tentoys, а меня чего спрашивать? ;) И что, у нас ИЕ уже min и max поддерживает?
Inviz Муж.
соучастник
0
Сообщения: 687
Зарегистрирован: 05.04.05
Сообщение Добавлено: 25 Август 2005, 17:57:03 
с извращениями-то поддерживает. А это не совсем вариант, когда не в полной мере правильно работает блок.

Вариант с width и maxwidth можно сделать, но в ие он не будет стремиться к нулю.

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


Последний раз редактировалось Inviz 25 Август 2005, 17:58:43, всего редактировалось 1 раз.
Inviz Муж.
соучастник
0
Сообщения: 687
Зарегистрирован: 05.04.05
Сообщение Добавлено: 25 Август 2005, 17:58:00 
tentoys,
по ссылке - фиксированное решение. Т.е. ширина уже известа и количество.

_________________
критиковать человека не имеет смыла, потому что критика заставляет его защищаться и, как правлио искать оправданий. критиковать человека опасно, так как критика наносит удар его гордости, задевает чувство собственной значитмости и обижает его. (Дейл Карнеги)
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 24 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100