Проблема с css

kruzer25

<html>
<head>
<style>
body {
font-size:50pt;
text-decoration:underline;
}
</style>
</head>
<body>
<p>test1</p>
<table><tr><td>test2</td></tr></table>
</body>
</html>

И в ИЕ (7.0.5730.11 и в ФФ (2.0.0.1) результат один и тот же - и test1, и test2 полдчёркиваются; но у test2 стандартные размеры, а у test1 - заданные 50pt.
Если в ФФ через Web Developer отключить Browser Default Styles - оба текста будут подчёркнуты, и у обоих будут стандартные размеры.
Firebug про ячейку таблицы говорит, что её стиль унаследован от body, и что font-size у неё 50pt (в реальности - стандартные 16px).

Petrovich_on_T3

А как этот текст должен отображаться по-твоему и почему?

kruzer25

По-моему, test2 тоже должен отображаться размером 50pt, потому что его стиль наследуется от стиля body.

pitrik2

а какой у ячейки фонт по умолчанию?
ты уверен, что font:inherit ?

banderon

У ячейки-то наверно inherit, тут скорее надо у table смотреть.
PS: из дефолтного .css стиля для konqueror (в нем кстати test2 даже не подчеркивается ):
table {
white-space: normal;
line-height: normal;
color: -khtml-text;
font-size: medium;
empty-cells: hide;
text-align: -khtml-auto;
font-weight: initial;
}

kruzer25

Я целиком привёл весь html, который даёт такой эффект.
Если ты засунешь содержимое блока code в свежесозданный html-файл - увидишь именно такой "неправильный" результат.
Так что, никакой фонт по умолчанию для ячейки мной не задавался.
ЗЫ: ИЕшный Developer Toolber говорит, что font-size содержимого ячейки берётся из body; но в body чёрным по белому написано "font-size:50pt", а для ячейки IE Developer Toolbar говорит "font-size:12pt".

kruzer25

Да, сорри, я тут переусердствовал с минимальным примером - в ИЕ содержимое ячейки ещё и не подчёркивается, text-decoration:none (хотя trace style для её text-decoration указывает на тот же body с записью "text-decoration:underline")

kruzer25

Да, ещё немного инфы - для table, tbody, tr пишется font-size:50pt; а вот для td font-size по умолчанию уже не выводится, выводится только если поставить "show default style values" (и там как раз и появляется font-size:12pt)

pitrik2

Я целиком привёл весь html, который даёт такой эффект.Если ты засунешь содержимое блока code в свежесозданный html-файл - увидишь именно такой "неправильный" результат.Так что, никакой фонт по умолчанию для ячейки мной не задавался.
вот jerry меня понял а ты нет
не ты задаешь дефолтный фонт, а W3C
а в тех местах где W3C молчит - его создает сам браузер
для W3C нашел вот: http://www.w3.org/TR/CSS21/sample.html
Default style sheet for HTML 4
как видишь font-size для td тут не указан, значит браузеры сами вправе его создавать или
td { font-size: 12px}
или
td { font-size: inherit}
table { font-size: inherit}
стандарты разрешают оба варианта, и даже вариант jerry
td { font-size: inherit}
table { font-size: 12px}

kruzer25

То есть, надо везде руками писать font-size:inherit?

kruzer25

Наверное, я тебя не совсем не понял... так что мне надо сделать, чтобы размер текста в ячейке был такой же, как и у всего остального (если я при этом не хочу для ячейки явно указывать эти 50pt)?

pitrik2


<html>
<head>
<style>
body {
font-size:50px;
text-decoration:underline;
}
table {
font-size:inherit;
}

</style>
</head>
<body>
<p>test1</p>
<table><tr><td>test2</td></tr></table>
</body>
</html>

kruzer25

Я ещё при написании предыдущего поста попробовал - хрен.
Даже если навтыкать эти font-size:inherit и на строку, и на ячейку...

pitrik2

Я ещё при написании предыдущего поста попробовал - хрен.
ну не знаю
у меня так работает в лисе 1.5 и в опере 9
для оперы надо еще добавить: table{ text-decoration:underline;}
в ие не работает
но ведь известно же что он с CSS не дружит
кстати, хотел добавить:
Firebug и ie developer - они же тупые, на них равняться тут никак не стоит

pitrik2

кстати, если ты хочешь это сделать по стандарту, то нужно делать так

<html>
<head>
<style>
body {
font-size:50px;
text-decoration:underline;
}
table {
font-size:inherit;
text-decoration:underline;
}
tbody {
font-size:inherit;
text-decoration:underline;
}
tr {
font-size:inherit;
text-decoration:underline;
}
td {
font-size:inherit;
text-decoration:underline;
}
</style>
</head>
<body>
<p>test1</p>
<table>
<tbody>
<tr><td>test2</td></tr>
</tbody>
</table>
</body>
</html>

ну или почитать стандарт получше, возможно для td,tr,tbody по умолчанию inherit уже заданы
мне лень в стандарте рыться

artimon

Напиши правильный DOCTYPE и не парь мозги…
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

либо
.. deleted ..

kruzer25

О, круто, оказывается, в ФФ действительно работает.
Но, всё-таки, как насчёт ИЕ? Всё же 80% (и я в том числе) им пользуются...
В МСДН ничего внятного по этому поводу не нашел (мб, не туда смотрел?)...

artimon

Что бы что-то делать по стандарту, для начала надо указать этот стандарт, т.е. написать DOCTYPE.

pitrik2

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<style>
body {
font-size:50px;
text-decoration:underline;
}
table {
font-size:inherit;
text-decoration:underline;
}
</style>
</head>
<body>
<p>test1</p>
<table><tbody><tr><td>test2</td></tr></tbody></table>
</body>
</html>

kruzer25

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Спасибо!
Помогло...

artimon

В случае с правильным DOCTYPE извращения с inherit не нужны.
Оставить комментарий
Имя или ник:
Комментарий: