Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / HTML в Википедии / 16 сообщений из 16, страница 1 из 1
24.11.2012, 20:56
    #38051833
Владимир Саныч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML в Википедии
Мое почтение присутствующим и благодарность заранее.

Пытаюсь сделать некую диаграмму в Википедии. Основная сложность в том, что окончательный HTML составляет их движок на основании написанного мной кода на их языке. Возможность влиять на этот HTML у меня есть, но ограниченная. На данный момент имеется следующий HTML:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
<!DOCTYPE html>
...
<table style="background-color:lightblue;" cellpadding="0" cellspacing="0" border="1">
<tr valign="top">
<td style="color:white;font-size:50%;padding:0px;margin:0;">
<div style="padding:0;margin:0;height:8px;border:1px solid red;"><b>Upper level</b></div>
</td>
</tr>
<tr valign="middle">
<td style="white-space: nowrap;">
<div style="padding:0;margin:0;height:5px;"><img src="HT_N.png" width="55" height="5" /></div>
</td>
</tr>
<tr valign="middle">
<td style="white-space: nowrap;">
<div style="padding:0;margin:0;height:5px;border:1px solid red;"><img src="HT_A1.png" width="55" height="5" /><img src="HT_S2.png" width="55" height="5" /></div>
</td>
</tr>
<tr valign="middle">
<td style="white-space: nowrap;">
<div style="padding:0;margin:0;height:8px;border:1px solid red;"><img src="HP1_S1.png" width="55" height="8" /><img src="HP1_S2.png" width="55" height="8" /></div>
</td>
</tr>
<tr valign="middle">
<td style="white-space: nowrap;">
<div style="padding:0;margin:0;height:8px;border:1px solid red;"><img src="HP2_S1.png" width="55" height="8" /><img src="HP2_S2.png" width="55" height="8" /></div>
</td>
</tr>
<tr valign="middle">
<td style="white-space: nowrap;">
<div style="padding:0;margin:0;height:5px;border:1px solid red;"><img src="HT_S1.png" width="55" height="5" /><img src="HT_A2.png" width="55" height="5" /><img src="3/3e/HL_L.png/11px-HL_L.png" width="11" 

height="5" /></div>
</td>
</tr>
<tr valign="middle">
<td style="white-space: nowrap;">
<div style="padding:0;margin:0;height:5px;border:1px solid red;"><img src="HT_N.png" width="55" height="5" /></div>
</td>
</tr>
</table>


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

Примечания.
1. Если убрать <!DOCTYPE html> в самом начале, то проблема решается одним махом, но убрать это я не могу, это вставляет движок.
2. div'ы я поставил для борьбы с этим же <!DOCTYPE html> - без них все td получаются очень большой высоты (хотя та высота, которую я задал у div'ов, просто равна высоте img'ей и без <!DOCTYPE html> всё работает и так).
3. Бордеры у div'ов и таблиц я сделал для отладки, чтобы было видно, где что. Видно, что таблица рисуется правильно, а вот img'и оказываются ниже своих клеток. Причем img'и высотой 5 пикселей съезжают вниз на 10 пикселей, а высотой 8 - на 7.
4. Картинка такая мелкая потому, что в более крупном масштабе этой проблемы нет.
5. Пробовал в разных браузерах (Хром, ФФ, ИЭ), проблема одна и та же.
6. Проверено, что проблема решается, если всем img'ам задать style="vertical-align:top;". Однако у меня такой возможности нет.
...
Рейтинг: 0 / 0
24.11.2012, 21:20
    #38051849
Владимир Саныч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML в Википедии
Владимир Санычimg'и высотой 5 пикселей съезжают вниз на 10 пикселей, а высотой 8 - на 7.
А в сумме всегда 15. То есть дело явно в выравнивании по вертикали. Ищется способ задать его не через сами img'и, которые надо выравнивать и которые мне не подчиняются, а через объемлющий div, который я полностью пишу сам, или через что-нибудь на уровне таблицы.
...
Рейтинг: 0 / 0
24.11.2012, 22:31
    #38051899
Владимир Саныч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML в Википедии
Нашел некрасивое решение. У div'ов добавляется в style:

если height:5px; - то top:-10px;position:relative;
если height:8px; - то top:-7px;position:relative;
...
Рейтинг: 0 / 0
24.11.2012, 23:44
    #38051945
Владимир Саныч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML в Википедии
А вот и красивое решение. У div'ов добавляется в style:

line-height:0;
...
Рейтинг: 0 / 0
25.11.2012, 01:07
    #38052009
iConst
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML в Википедии
Владимир Саныч,

Если со стилями заморачиваться, то таких cellpadding="0" cellspacing="0" вещей не стоит допускать. Они, вообще-то, деприкейтд в 5-ке...
...
Рейтинг: 0 / 0
25.11.2012, 01:18
    #38052018
Владимир Саныч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML в Википедии
iConstВладимир Саныч,

Если со стилями заморачиваться, то таких cellpadding="0" cellspacing="0" вещей не стоит допускать. Они, вообще-то, деприкейтд в 5-ке...
Понял, большое спасибо.
...
Рейтинг: 0 / 0
25.11.2012, 01:36
    #38052035
Владимир Саныч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML в Википедии
А вот не получается. Если через css, то надо либо задавать padding, border и border-spacing для каждой ячейки, что сильно утяжеляет код, либо создавать стайл на уровне документа, чего мне движок не даст.
...
Рейтинг: 0 / 0
25.11.2012, 01:42
    #38052039
mage.lan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML в Википедии
Владимир Саныч,

Стили каскадные, пользуйтесь.
...
Рейтинг: 0 / 0
25.11.2012, 02:01
    #38052046
Владимир Саныч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML в Википедии
mage.lanВладимир Саныч,

Стили каскадные, пользуйтесь.
Вот именно про это я и написал выше. Читайте всё, что я написал про движок Википедии.
...
Рейтинг: 0 / 0
25.11.2012, 13:39
    #38052126
iConst
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML в Википедии
Владимир СанычА вот не получается. Если через css, то надо либо задавать padding, border и border-spacing для каждой ячейки, что сильно утяжеляет код, либо создавать стайл на уровне документа, чего мне движок не даст.Незнание CSS не освобождает от изучения: border-spacing неприменим к ячейкам - это свойство тега table .
Уж проще, чем с таблицами работать - не придумать. Самые предсказуемые и покладистые контейнеры.

А что, эта самая википедия не дает применять классы?
...
Рейтинг: 0 / 0
25.11.2012, 14:42
    #38052161
Владимир Саныч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML в Википедии
Применять существующие - да. Описывать свои - нет.
...
Рейтинг: 0 / 0
25.11.2012, 15:36
    #38052188
st_st
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML в Википедии
iConstУж проще, чем с таблицами работать - не придумать. Самые предсказуемые и покладистые контейнеры.

У меня с ними наоборот, мучения, в основном из-за того, что постоянно забываю, что таблицы, ячейки не являются блочными элементами + их особенности, по привычке к td лепишь overflow:hidden, position:relative и т.д., а потом чешешь репу почему же это всё не работает.
...
Рейтинг: 0 / 0
25.11.2012, 21:12
    #38052401
iConst
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML в Википедии
Владимир СанычПрименять существующие - да. Описывать свои - нет.Ужос!
И все-таки - следует привести код к спецификации html5 (убрать всякие valign-ы и пр.) и потом уже бодаться...

Потом - препарация страницы в фаербаге/хроме/etc... должна показать проблему...
...
Рейтинг: 0 / 0
25.11.2012, 23:20
    #38052477
Владимир Саныч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML в Википедии
iConstИ все-таки - следует привести код к спецификации html5 (убрать всякие valign-ы и пр.) и потом уже бодаться...
В принципе, часть этой работы делает тот же движок, например заменяет nowrap на style="white-space: nowrap;". Думаю, когда это станет критично, они начнут так обрабатывать и cellpadding/cellspacing.
...
Рейтинг: 0 / 0
26.11.2012, 01:59
    #38052553
mage.lan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML в Википедии
Владимир СанычПрименять существующие - да. Описывать свои - нет.Что-то слабо верится.
Это наколеночный самопис или все же нормальное решение? Может вы какую доку не дочитали, как темплейты описывать?
...
Рейтинг: 0 / 0
26.11.2012, 02:25
    #38052558
Владимир Саныч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML в Википедии
mage.lanМожет вы какую доку не дочитали, как темплейты описывать?
Ну, такой шанс всегда есть...
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / HTML в Википедии / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]