CSS: верстка в колонки (задачка для профи) @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
На страницу 1 2  >  Страница 1 из 2 [ Сообщений: 59 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
Орлис
новый человек
0
Сообщения: 61
Зарегистрирован: 28.07.03
Заголовок сообщения: CSS: верстка в колонки (задачка для профи)
Сообщение Добавлено: 2 Август 2003, 00:45:48 
есть страница, http://www.orlis.ru/

<div id="#content">
ля-ля-ля

<div id="#news">
ля-ля-ля
</div>
<div id="#goods">
ля-ля-ля
</div>

</div>

<div id="toc">
ля-ля-ля
</div>

#content { margin: 0 0 0 29ex; padding: 1ex 3ex 3ex; border-left: #706 solid 0.5ex; }
#toc { position: absolute; top: 0; left: 0; width: 29ex; }

Задача:
сверстать #news и #goods в две колонки (как сделано сейчас, но без таблицы)
размеры в пикселях задавать нельзя, ибо резиновая верстка

проблема: совместимость броузеров, прежде всего с IE 5.0
amphibian Муж.
соучастник
0
Сообщения: 702
Зарегистрирован: 10.07.02
Откуда: St.Petersburg
Сообщение Добавлено: 2 Август 2003, 19:01:34 
А зачем это делать ДИВами? Ну да ладно, поступаем таким образом:

<style>
#news {position: absolute; margin: 0; padding: 1ex 3ex 3ex; left: 20%; top: 50px; width: 40%}
#goods {position: absolute; margin: 0; padding: 1ex 3ex 3ex; left: 60%; top: 50px; width: 40%}
#toc { position: absolute; top: 0; left: 0; width: 20%; }
</style>
<div id="news">
news ля-ля-ля ля-ля-ля ля-ля-ля ля-ля-ля ля-ля-ля ля-ля-ля ля-ля-ля ля-ля-ля ля-ля-ля ля-ля-ля ля-ля-ля ля-ля-ля
</div>

<div id="goods">
goods ля-ля-ля ля-ля-ля ля-ля-ля ля-ля-ля ля-ля-ля ля-ля-ля ля-ля-ля ля-ля-ля ля-ля-ля ля-ля-ля ля-ля-ля ля-ля-ля
</div>

<div id="toc">
toc ля-ля-ля
</div>

_________________
Любовь открывает кредит, который неизбежно ведет к разорению...
Sector Муж.
соучастник
22
Сообщения: 735
Зарегистрирован: 21.08.01
Откуда: Москва
Сообщение Добавлено: 2 Август 2003, 20:06:39 
amphibian, Угу, у него одна колонка с фиксированной шириной
Орлис
новый человек
0
Сообщения: 61
Зарегистрирован: 28.07.03
Сообщение Добавлено: 2 Август 2003, 22:04:06 
Решение найдено, все свободны ;)

<div id="frame">

<div id="#news">
ля-ля-ля
</div>
<div id="#goods">
ля-ля-ля
</div>

</div>

#frame { width:100%; }
#news { float:left; width:57%; padding-right: 1ex; }
#goods { float:right; width:41%; }

Если кому и в правду интересно, проверьте http://www.orlis.ru/ в 4й версиях Netscape и IE,
у меня их нет под рукой.

да и вообще в чем придется...
amphibian Муж.
соучастник
0
Сообщения: 702
Зарегистрирован: 10.07.02
Откуда: St.Petersburg
Сообщение Добавлено: 2 Август 2003, 22:40:11 
Под шкаф так не будет работать - проверил. А ссылка не открывается.

Орлис, удовлетвори любопытство: зачем так напрягаться? :) Почему не таблицами? В ногу с прогрессом?

_________________
Любовь открывает кредит, который неизбежно ведет к разорению...
CutCopyPaste Муж.
соучастник
0
Сообщения: 516
Зарегистрирован: 21.06.03
Откуда: Москва
Сообщение Добавлено: 4 Август 2003, 09:05:26 

Цитата:
Под шкаф так не будет работать - проверил



а так в нетшкафе? :
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test</title>
<style>
.frame { width:100%; background-Color: black;}
.news { float:left; width:50%; padding-right: 1ex; background-Color: green;}
.goods { float:right; width:50%; background-Color: red;}
</style>
</head>
<body>

  <layer class="frame" bgcolor=black>
  <nolayer>
<div class="frame">
  </nolayer>

  <layer class="news" bgcolor=green>
  <nolayer>
<div class="news">
  </nolayer>

  ля-ля-ля

  <nolayer>
</div>
  </nolayer>

  <layer class="goods" bgcolor=red>
  <nolayer>
<div class="goods">
  </nolayer>

  ля-ля-ля

  <nolayer>
</div>
  </nolayer>

  <nolayer>
</div>
  </nolayer>
 
 
</body>
</html>

_________________
Пьяный русский хакер практически непобедим!
amphibian Муж.
соучастник
0
Сообщения: 702
Зарегистрирован: 10.07.02
Откуда: St.Petersburg
Сообщение Добавлено: 4 Август 2003, 10:01:53 
CutCopyPaste, при изменении размеров окна схлопывается в левый угол до размера текста :) А что случилось с левой колонкой? Куда она пропала?

_________________
Любовь открывает кредит, который неизбежно ведет к разорению...
CutCopyPaste Муж.
соучастник
0
Сообщения: 516
Зарегистрирован: 21.06.03
Откуда: Москва
Сообщение Добавлено: 4 Август 2003, 15:32:07 
amphibian, она пошла погулять.…

на самом деле, у меня в шкафу все ОК,
у тя какая версия?

_________________
Пьяный русский хакер практически непобедим!
amphibian Муж.
соучастник
0
Сообщения: 702
Зарегистрирован: 10.07.02
Откуда: St.Petersburg
Сообщение Добавлено: 4 Август 2003, 15:56:36 
CutCopyPaste, 4.72 :laugh:

Цитата:
она пошла погулять.…


Вот это подход, я понимаю! :laugh: :laugh: :laugh:

_________________
Любовь открывает кредит, который неизбежно ведет к разорению...
CutCopyPaste Муж.
соучастник
0
Сообщения: 516
Зарегистрирован: 21.06.03
Откуда: Москва
Сообщение Добавлено: 4 Август 2003, 17:33:21 
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>

<style>
.frame { width:100%; background-Color: black;}
.news { float:left; width:50%; padding-right: 1ex; background-Color: green;}
.goods { float:right; width:50%; background-Color: red;}
</style>

</head>

<body>

  <layer class="frame" bgcolor=black>
  <nolayer>
<div class="frame">
  </nolayer>

  <layer class="news" bgcolor=green>
  <nolayer>
<div class="news">
  </nolayer>

  ля-ля-ля

  <nolayer>
</div>
  </nolayer>

  <layer class="goods" bgcolor=red>
  <nolayer>
<div class="goods">
  </nolayer>

  ля-ля-ля

  <nolayer>
</div>
  </nolayer>

  <nolayer>
</div>
  </nolayer>
 
 
</body>
</html>


а так?

_________________
Пьяный русский хакер практически непобедим!
CutCopyPaste Муж.
соучастник
0
Сообщения: 516
Зарегистрирован: 21.06.03
Откуда: Москва
Сообщение Добавлено: 4 Август 2003, 17:37:44 
вобщем,
пока нетскейп окончательно не сдохнет :killanasshole:
с дивами и кссами можно сильно помучиться...

_________________
Пьяный русский хакер практически непобедим!
amphibian Муж.
соучастник
0
Сообщения: 702
Зарегистрирован: 10.07.02
Откуда: St.Petersburg
Сообщение Добавлено: 4 Август 2003, 18:01:48 
CutCopyPaste, перегружать при каждом изменении размера? :) Это не может не работать! Осталось только левую колонку поставить на место и все!
Что-то я слышал что Microsoft купило Netscape и закрыло эту тему с броузерами.

_________________
Любовь открывает кредит, который неизбежно ведет к разорению...
hokum
соучастник
4
Сообщения: 637
Зарегистрирован: 21.05.02
Откуда: GMT +24:00
Сообщение Добавлено: 5 Август 2003, 08:33:15 
amphibian,
Не, AOL шкафное отделение не продало, зато заключило партнерское соглашение с Microsoft'ом - типа на аоловских дисках будет поставляться как дефолтный браузер. А шкафное отделение убыточно, часть людей ушла в opensourceовскую Мозиллу, часть еще куда. Шкафов больше не будет - факт.
CutCopyPaste Муж.
соучастник
0
Сообщения: 516
Зарегистрирован: 21.06.03
Откуда: Москва
Сообщение Добавлено: 5 Август 2003, 09:13:12 
hokum, а кстати, шкаф 7-ой версии довольно неплохой браузер

_________________
Пьяный русский хакер практически непобедим!
hokum
соучастник
4
Сообщения: 637
Зарегистрирован: 21.05.02
Откуда: GMT +24:00
Сообщение Добавлено: 5 Август 2003, 10:56:31 
CutCopyPaste, Да так себе. Все они неплохие.
Будут хорошими тогда, когда мысли научатся читать :)
Орлис
новый человек
0
Сообщения: 61
Зарегистрирован: 28.07.03
Сообщение Добавлено: 9 Август 2003, 01:34:33 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<layer class="frame" bgcolor=black>
<nolayer>
<div class="frame">
</nolayer>

код не соответствует указанному DOCTYPE, он вообще ничему не соответствует

по поводу #frame, #news, #goods:
похоже Netscape неправильно считает проценты... если б знать как он их считает, то можно ему подсовывать нужный CSS.

или просто убрать описание float, самое грамотное решение, но, наверное, не самое изящное.
amphibian Муж.
соучастник
0
Сообщения: 702
Зарегистрирован: 10.07.02
Откуда: St.Petersburg
Сообщение Добавлено: 9 Август 2003, 01:51:55 
Орлис, так все-таки, почему нужно именно слоями все решать, а не таблицами?

_________________
Любовь открывает кредит, который неизбежно ведет к разорению...
Орлис
новый человек
0
Сообщения: 61
Зарегистрирован: 28.07.03
Сообщение Добавлено: 10 Август 2003, 00:30:46 
1) w3.org не рекомендует использовать таблицы на потеху оформления
2) сайт нормально смотрится в Lynx, на Palme, PocketPC (проверено),
таблицы в этих условиях просто издевательство.
3) сайт быстрее грузится
4) это "модно", среди тех, кто разбирается :)
MiRo Муж.
дядя
26
Сообщения: 6283
Зарегистрирован: 03.01.02
Сообщение Добавлено: 10 Август 2003, 00:47:38 
Орлис, давайте честно признаемся: первые три пункта можно смело вычеркнуть.

так ведь?

_________________
Mess around, everybody's doin' the mess around
oLL
постоянный участник
12
Сообщения: 2790
Зарегистрирован: 08.09.01
Откуда: ...куда...
Сообщение Добавлено: 10 Август 2003, 01:24:45 
MiRo, как раз первые три пункта наиболее важны.
В том числе и для тех, о ком идет речь в четвертом :glasses:
Skeeve
соучастник
0
Сообщения: 349
Зарегистрирован: 26.07.03
Откуда: Bazaar
Сообщение Добавлено: 10 Август 2003, 07:22:40 
1) w3c вообще много чего рекомендует. А разве w3c рекомендует юзать слои? w3c рекомендует css и теги div/span.
И кстати оформление и сетка суть разные вещи.
Более того, сами таблицы HTML взяты из таблиц SGML, а в SGML их сделали на основе типографской сетки.

http://www.w3.org/TR/html4/struct/tables.html
http://www.w3.org/TR/html4/appendix/not … tes-tables

ИМХО, что бы кто-то там (напр. организация американского, француского и японского институтов, известная как w3c) не рекомендовал, лоб-то лучше не расшибать.

2) Хау мач оф юзерс (реальных ваших клиентов) смотрят через Lynx, Palm и PocketPC. Цифры — в студию.
Если процент будет большой, сделайте версию для экзо-клиентов.

3) А циферки?

4) Любой сайт существует заведомо дольше краткосрочной моды. И если моду понимать как «нравится, но не могу словами объяснить», то не факт, что разработчику веб-сайтов надо за такой модой следовать.
Орлис
новый человек
0
Сообщения: 61
Зарегистрирован: 28.07.03
Сообщение Добавлено: 11 Август 2003, 01:17:45 

Цитата:
w3c рекомендует css и теги div/span


об том и речь


Цитата:
А циферки?


Вы все свои решения проверяете на статистически значимой репрезентативной выборке? :D
Skeeve
соучастник
0
Сообщения: 349
Зарегистрирован: 26.07.03
Откуда: Bazaar
Сообщение Добавлено: 11 Август 2003, 01:27:45 

Орлис писал(а):
Вы все свои решения проверяете на статистически значимой репрезентативной выборке? :D


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

Потому как, в данном случае, загрузка сайта вещь измеряемая.
Подсчет посещений + браузер клиента тоже.
Без цифр такими вещами лучше не аргументировать.


Орлис писал(а):
об том и речь


У меня-то был вопрос о слоях. Они вообще не входят в спецификацию, не говоря уж о рекомендациях.
Орлис
новый человек
0
Сообщения: 61
Зарегистрирован: 28.07.03
Сообщение Добавлено: 11 Август 2003, 01:37:57 

Цитата:
<div id="frame">

<div id="#news">
ля-ля-ля
</div>
<div id="#goods">
ля-ля-ля
</div>

</div>

#frame { width:100%; }
#news { float:left; width:57%; padding-right: 1ex; }
#goods { float:right; width:41%; }


вопрос не ко мне
Skeeve
соучастник
0
Сообщения: 349
Зарегистрирован: 26.07.03
Откуда: Bazaar
Сообщение Добавлено: 11 Август 2003, 01:43:15 
Мда, мисандестендинг...

Я-то прочитав в последнем постинге о слоях,
так понял, что Вы приняли решение использовать именно их.
Сорри.

Кстати, поделитесь подробностями о пальмиках.
Как именно этот код (приведенный Вами) воспринимается на Palm или PocketPC (и чем именно он лучше таблиц).
Skeeve
соучастник
0
Сообщения: 349
Зарегистрирован: 26.07.03
Откуда: Bazaar
Сообщение Добавлено: 11 Август 2003, 01:48:44 
Кстати, задайте слоям еще параметр overflow: scroll,
чтобы они не «поехали» в случае, если получат контент больший чем их габариты.
По умолчанию overflow установлен visible, что означает, что элемент будет стараться охватить собой контент, не взирая на установленные размеры.
Орлис
новый человек
0
Сообщения: 61
Зарегистрирован: 28.07.03
Сообщение Добавлено: 11 Август 2003, 01:56:00 
В PocketPC 2002 -- IE3.x, он игнорирует описание стилей, поэтому сайт на мизерном экране верстается в академическом стиле, в один столбец без горизонтальной прокрутки.

Аналогично и на Palm, только там единого браузера нет, например, iSiloX понимает стили color, background, border-color и в нем опционально можно настроить игнорирование стилей margin, padding.
Орлис
новый человек
0
Сообщения: 61
Зарегистрирован: 28.07.03
Сообщение Добавлено: 11 Август 2003, 02:07:36 

Цитата:
параметр overflow: scroll


смысл "резиновой" верстки избежать прокрутки и заполнить все окно браузера, поэтому scroll в данном случае не подходит.
Skeeve
соучастник
0
Сообщения: 349
Зарегистрирован: 26.07.03
Откуда: Bazaar
Сообщение Добавлено: 11 Август 2003, 12:08:31 
Если туда будет положено что-то, что по размерам больше отмеренного, то ваша страница вылезет за границу окна браузера.

Этот параметр не влияет на размер, он определяет, как элементу поступать в случае превышения предписанных размеров. Типичный пример: текст из нескольких слов в теге <nobr>.
Орлис
новый человек
0
Сообщения: 61
Зарегистрирован: 28.07.03
Сообщение Добавлено: 11 Август 2003, 17:54:07 
это параметр предписывает создать горизонтальную и вертикальную полосы прокрутки, независимо от содержимого бокса
Skeeve
соучастник
0
Сообщения: 349
Зарегистрирован: 26.07.03
Откуда: Bazaar
Сообщение Добавлено: 11 Август 2003, 18:40:20 
Сорри, писал по памяти,
сейчас глянул в доку,
правильный параметр auto.
Он создаёт полосы, только когда это необходимо.
<sergio.ga>
новый человек
0
Сообщения: 102
Зарегистрирован: 13.06.03
Откуда: Харьков, Украина
Сообщение Добавлено: 12 Август 2003, 12:06:34 
По поводу скорости загрузки:
Самый распространённый броузер отображает сайт свёрстаный таблицей лишь когда загрузит всю эту таблицу.
АФАИК только Мозилла умеет отрисовывать таблицы динамически.
DIV отрисовывается по мере заргузки, поэтому контент отбражается скорее.
Кроме того при ЦСС вёрстке не проблема первым пустить контент, а навигацию и рюшечки после. Можно так таблицами?
Да и сам вес страниц уменьшается в большинстве случаев.
Пример: http://www.digital-web.com/tutorials/tutorial_2002-06.shtml
Был ещё где-то пример с первой страницей Яхи, но не помню где. Там тоже был солидный выигрыш.
Skeeve
соучастник
0
Сообщения: 349
Зарегистрирован: 26.07.03
Откуда: Bazaar
Сообщение Добавлено: 12 Август 2003, 16:04:39 

<sergio.ga> писал(а):
Кроме того при ЦСС вёрстке не проблема первым пустить контент, а навигацию и рюшечки после. Можно так таблицами?


Таблица нужна для создания сетки, а не рюшечек.
Таблица ничем не отличается от других тегов HTML по возможностям использования CSS.
Skeeve
соучастник
0
Сообщения: 349
Зарегистрирован: 26.07.03
Откуда: Bazaar
Сообщение Добавлено: 12 Август 2003, 16:19:56 

<sergio.ga> писал(а):
Пример: http://www.digital-web.com/tutorials/tutorial_2002-06.shtml
Был ещё где-то пример с первой страницей Яхи, но не помню где. Там тоже был солидный выигрыш.


Мда, офигительно солидный выигрыш — 19.6 против 21.8.
Целых 1.2 килобайта.

И это при том, что эти ребята сами подбирали пример :wink:
И сами его верстали. При этом верстали весьма своеобразно.
Их концепция вёрстки спорна.
Но даже при всём этом выигрыш получается 1.2 К.
Если они не могут дать приличный пример, то что же говорить о «полевых» условиях.
Орлис
новый человек
0
Сообщения: 61
Зарегистрирован: 28.07.03
Сообщение Добавлено: 13 Август 2003, 03:23:33 
>Skeeve
существует такая "модная" фишка как технология разделения содержимого от представления

Если всё делать по уму, то можно радикально менять оформление сайта, изменяя одинственный файл CSS
Если ты представление страницы забил в "сетку" таблицы, то переписывать придется каждую страницу.

пример: http://www.orlis.ru :)
Сначала раздел "Новости" и "Новые товары" шли один за другим, а теперь верстаются в две колонки.
содержание не изменилось, код страницы практически тоже (пришлось добавить <div id="frame"> из-за багов старых версий броузеров).

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

существуют и другие преимущества, как для разработчиков сайта, так и для тех кто на сайт ходит,
но это уже offtopic.
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
На страницу 1 2  >  Страница 1 из 2 [ Сообщений: 59 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


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