Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Резиновая верстка в таблицах

13K
26 февраля 2007 года
Anton Kharlamov
48 / / 06.02.2007
Граждане, хочу спросить ваше мнение, какой из двух методов вы предпочитаете, да и какой правильнее
Вариант 1
[HTML]<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title></title>
</head>

<body style="margin: 0px; padding: 0px;">

<table cellpadding="0" cellspacing="0" border="2" width="100%">
<tr>
<td width="400">logo</td>
<td width="*">table has attribute - width="100%"</td>
</tr>
</table>
</body>
</html>[/HTML]


Вариант 2

[HTML]<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title></title>
</head>

<body style="margin: 0px; padding: 0px;">

<table cellpadding="0" cellspacing="0" border="2" width="100%">
<tr>
<td width="400">logo</td>
<td>table has attribute - width="100%"</td>
</tr>
</table>
</body>
</html>[/HTML]

Разница между ними не велика, в первом примере во второй ячейке таблицы стоит параметр WIDTH="*" а во втором примере етого параметра попросту нет. Валидатор Xhtml воспринимает и то и другое правильно. Но все таки как по вашему правильнее сделать когда мы хотим чтобы ячейка тянулась на все оставшееся пространство. Жду мнений с нетерпением!!!!
Спасибо!
13
26 февраля 2007 года
RussianSpy
3.0K / / 04.07.2006
Звездочку убрать - не припомню такого обозначения в стандартах.
352
26 февраля 2007 года
skywalker
694 / / 10.02.2006
Цитата: Anton Kharlamov

Разница между ними не велика, в первом примере во второй ячейке таблицы стоит параметр WIDTH="*" а во втором примере етого параметра попросту нет. Валидатор Xhtml воспринимает и то и другое правильно.


А как и то и другое воспринимает валидатор CSS?
Да и зачем нужно:

 
Код:
width="*"

если без него работает верно?
239
27 февраля 2007 года
Dolonet
1.7K / / 20.05.2000
По факту надо писать 100%, если требуется занять 100% от всей растягиваемой (изменяемой) части таблицы.
Например, если вся таблица 100% на экране, шириной 800px, первый td 200px, второй 50%, третий 300px, четвертый 50%, то второй и четвертый поделят пополам изменяемую часть (800-200-300=)300px и будут по 150px. Для экрана 1024 изменяемая часть будет (1024-200-300=)524px, а значит обе части будут по 50% от 524, то есть по 262px.

Это если подробно.
13K
27 февраля 2007 года
Anton Kharlamov
48 / / 06.02.2007
Цитата: Dolonet
По факту надо писать 100%, если требуется занять 100% от всей растягиваемой (изменяемой) части таблицы.



я как понял имеется ввиду записть типа <td width="100%"> Но - это не есть правильно.

13K
27 февраля 2007 года
Anton Kharlamov
48 / / 06.02.2007
Цитата: skywalker
А как и то и другое воспринимает валидатор CSS?
Да и зачем нужно:
 
Код:
width="*"

если без него работает верно?



а причем тут валидатор CSS я ведь стилей в данном случае не прописывал:)

Ну а раз Валидатор xhtml воспринимает запись width="*" валидной, то по большому разницы нет между писать звездочку или нет, но я вижу в написании оной большой плюс - так чисто визуально в коде сразу легче увидеть и понять, где находится тянущаяся ячейка:)

352
27 февраля 2007 года
skywalker
694 / / 10.02.2006
Цитата: Anton Kharlamov
а причем тут валидатор CSS я ведь стилей в данном случае не прописывал:)

Ну а раз Валидатор xhtml воспринимает запись width="*" валидной, то по большому разницы нет между писать звездочку или нет, но я вижу в написании оной большой плюс - так чисто визуально в коде сразу легче увидеть и понять, где находится тянущаяся ячейка:)


Значит, проверки на валидность данного CSS не было? :).

13K
27 февраля 2007 года
Anton Kharlamov
48 / / 06.02.2007
Цитата: skywalker
Значит, проверки на валидность данного CSS не было? :).



секундочку, о какой валидности CSS мы говорим если я привожу XHTML код:)
Причем в данном коде нет ни единой строчечки CSS

Соврал, есть конечно, в боди маргины и паддинги, но это даже не по теме :-)

308
27 февраля 2007 года
Комаджу
850 / / 26.07.2006
Цитата: Dolonet
По факту надо писать 100%, если требуется занять 100% от всей растягиваемой (изменяемой) части таблицы.
Например, если вся таблица 100% на экране, шириной 800px, первый td 200px, второй 50%, третий 300px, четвертый 50%, то второй и четвертый поделят пополам изменяемую часть (800-200-300=)300px и будут по 150px. Для экрана 1024 изменяемая часть будет (1024-200-300=)524px, а значит обе части будут по 50% от 524, то есть по 262px.
Это если подробно.

По факту так писать не надо. 100% расчитывается не от свободного пространства, а от общей ширины таблицы. Логика расчета не верна. Кроме того, отображаться будет совершенно не так как Вы описали.

13K
27 февраля 2007 года
Anton Kharlamov
48 / / 06.02.2007
Цитата: Комаджу
По факту так писать не надо. 100% расчитывается не от свободного пространства, а от общей ширины таблицы. Логика расчета не верна. Кроме того, отображаться будет совершенно не так как Вы описали.



про что и речь, вообще писать 100% можно только в самом <Table> но никак не в ячейках, именно с этим у меня раньше были проблемы, ну а значок * никто не запрещал:)

239
27 февраля 2007 года
Dolonet
1.7K / / 20.05.2000
Цитата: Комаджу
По факту так писать не надо. 100% расчитывается не от свободного пространства, а от общей ширины таблицы. Логика расчета не верна. Кроме того, отображаться будет совершенно не так как Вы описали.


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

308
27 февраля 2007 года
Комаджу
850 / / 26.07.2006
Цитата: Anton Kharlamov
про что и речь, вообще писать 100% можно только в самом <Table> но никак не в ячейках, именно с этим у меня раньше были проблемы, ну а значок * никто не запрещал:)


Ну, если относиться так: "Что не запрещено - разрешено", то можно даже так написать -

 
Код:
width="ж*па"

;)
308
27 февраля 2007 года
Комаджу
850 / / 26.07.2006
Цитата: Dolonet
Как же тогда?
Давайте я сейчас попробую написать такую табличку Это быстро делается.
Возможно, я действительно не прав.


Указывается ширина таблицы и ширина фиксированной ячейки, вторая ячейка "растекается" на оставшуюся площадь.
Если же делать второй ячейке 100%, то она "подомнет" фиксированную, ужав ее до ширины контента.

239
27 февраля 2007 года
Dolonet
1.7K / / 20.05.2000
Вы правы.
Сдаюсь.:)
13
27 февраля 2007 года
RussianSpy
3.0K / / 04.07.2006
Цитата: Комаджу
Указывается ширина таблицы и ширина фиксированной ячейки, вторая ячейка "растекается" на оставшуюся площадь.
Если же делать второй ячейке 100%, то она "подомнет" фиксированную, ужав ее до ширины контента.



Вы правы отчасти - такое поведение сильно зависит от DOCTYPE.

13K
27 февраля 2007 года
Anton Kharlamov
48 / / 06.02.2007
Цитата: Комаджу
Ну, если относиться так: "Что не запрещено - разрешено", то можно даже так написать -
 
Код:
width="ж*па"

;)


а вы пробовали валидировать width="*" и width="ж*па" ,если нет то давайте попробуем проверить:)

Сдаюсь, валидны даже со словом ж-па, хотя оч странно :-( Буду верстать без WIDTH

92
27 февраля 2007 года
Тень Пса
2.2K / / 19.10.2006
я ничего не указываю в свойствах резиновых ячеек (всмысле width св-во)

пока не жаловался )
13K
27 февраля 2007 года
Anton Kharlamov
48 / / 06.02.2007
Цитата: Тень Пса
я ничего не указываю в свойствах резиновых ячеек (всмысле width св-во)

пока не жаловался )



вот и валидатор WC3 не жалуется, а зря:)

20K
27 февраля 2007 года
Nuxx
14 / / 25.10.2006
Цитата: Anton Kharlamov
вот и валидатор WC3 не жалуется, а зря:)



вот вы все ахтунги)))
Действительно, никто не запрещал такие записи как width="*" или width="ж*опа",
просто дело в том, что валидатор проверяет не свойства а синтаксис конструкций. Вот если бы вы написали width=* -- валидатор естестно бы взругался))) А так хоть что пиши :p

13K
27 февраля 2007 года
Anton Kharlamov
48 / / 06.02.2007
Цитата: Nuxx
вот вы все ахтунги)))
Действительно, никто не запрещал такие записи как width="*" или width="ж*опа",
просто дело в том, что валидатор проверяет не свойства а синтаксис конструкций. Вот если бы вы написали width=* -- валидатор естестно бы взругался))) А так хоть что пиши :p



надеюсь те кто разрабатывал валидатор задумаюццо об этой проблеме:)

832
27 февраля 2007 года
Carpus
390 / / 14.04.2005
Цитата: Nuxx
вот вы все ахтунги)))
Действительно, никто не запрещал такие записи как width="*" или width="ж*опа",



Это как это "никто не запрещал"? В стандарте четко прописано, что значение Lenth должно быть либо числом, указывающим ширину в пикселах, либо процентным соотношением. http://www.w3.org/TR/html4/types.html#h-6.6. И в DTD об этом написано:

<!ELEMENT table
...
<!ATTLIST table
%attrs;
summary %Text; #IMPLIED
width %Length; #IMPLIED

<!ENTITY % Length "CDATA">
<!-- nn for pixels or nn% for percentage length -->

Цитата:
просто дело в том, что валидатор проверяет не свойства а синтаксис конструкций. Вот если бы вы написали width=* -- валидатор естестно бы взругался))) А так хоть что пиши :p



Так ведь валидаторы разные бывают. CSE HTML Validator проверяет значения атрибутов и эту ошибку отлавливает -- The "width" attribute has an invalid attribute value "*". Так что "хоть что" лучше на сараях писать.

13K
28 февраля 2007 года
Anton Kharlamov
48 / / 06.02.2007
я проверял на валидность вот здесь http://validator.w3.org/
832
28 февраля 2007 года
Carpus
390 / / 14.04.2005
Антон, если валидатор w3c не видит неправильного значения атрибута, это вовсе не значит, что ошибки нет.
13K
28 февраля 2007 года
Anton Kharlamov
48 / / 06.02.2007
Цитата: Carpus
Антон, если валидатор w3c не видит неправильного значения атрибута, это вовсе не значит, что ошибки нет.



это я уже понял:) а есть ли где такой валидатор, который проверяет и все сразу?

832
28 февраля 2007 года
Carpus
390 / / 14.04.2005
CSE HTML Validator Pro проверяет HTML, CSS, ссылки (на битость), accessability (Section 508, WCAG 1 - не особенно полезно). Редактор с подстветкой синтаксиса. Бесплатная лайт версия и таблица сравнения версий здесь.
13K
28 февраля 2007 года
Anton Kharlamov
48 / / 06.02.2007
Цитата: Carpus
CSE HTML Validator Pro проверяет HTML, CSS, ссылки (на битость), accessability (Section 508, WCAG 1 - не особенно полезно). Редактор с подстветкой синтаксиса. Бесплатная лайт версия и таблица сравнения версий здесь.



спасиб огромное, эта штука мне пригодиться:)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог