Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Explorer показывает тег H1 большим шрифтом, несмотря на кокретное указание размера в таблице стилей
 
 автор: myas   (19.06.2007 в 09:51)   письмо автору
 
 

Проблема в том, что на некоторых компьютерах с большими экранами Internet Explorer рисует слово «НОВОСТИ» большим шрифтом, несмотря на конкретное обозначение размера шрифта в файле описания стилей. На других же компьютерах с таким же экраном рисует нужным размером шрифта. Я понимаю, что он видит, что это заголовок и выделяет его, но, наверное он не должен игнорировать конкртное указание на размер шрифта! Помогите разобраться в чем проблема и как с этим бороться.

Фрагмент скрипта:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>

<LINK rel="stylesheet" type="text/css" href="style.css">

<TABLE cellpadding="0" cellspacing="0" width="490" height="30">
<TR>
<TD height="14"><H1 class="text_mainhead">
НОВОСТИ
</H1></TD>
</TR>
<TR>
<TD><HR color="#009442"></TD>
</TR>
</TABLE>
</BODY>

</HTML>

Фрагмент таблицы стилей (style.css):
.text_mainhead { color: #008000; font-family: Arial; font-size: 8pt; text-decoration: none; text-align:left;
vertical-align: top; margin-left: 10px; font-weight:bold; margin-bottom: 0 }

Спасибо заранее!

   
 
 автор: elenaki   (19.06.2007 в 10:11)   письмо автору
 
   для: myas   (19.06.2007 в 09:51)
 

может, на первом компе не подключились стили?

   
 
 автор: Myas   (19.06.2007 в 13:04)   письмо автору
 
   для: elenaki   (19.06.2007 в 10:11)
 

Нет. Я привел пример ниже.
Текст в тегах <P> с таким же стилем на одной странице выводится нормально, а в тегах <H1> очень крупно!!!

   
 
 автор: sim5   (19.06.2007 в 11:18)   письмо автору
 
   для: myas   (19.06.2007 в 09:51)
 

Визуальный размер шрифта на экране будет зависеть от установленного разрешения.
Почитайте например тут http://www.seoweb.ru/web/SSI-CSS/unit/

   
 
 автор: Myas   (19.06.2007 в 13:01)   письмо автору
 
   для: sim5   (19.06.2007 в 11:18)
 

Думаю, это все не решает проблемы.
Потому что, если взять для примера такой скрипт:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>

<LINK rel="stylesheet" type="text/css" href="style.css">

<TABLE cellpadding="0" cellspacing="0" width="490" height="30">
<TR>
<TD height="14"><H1 class="text_mainhead">
НОВОСТИ H1
</H1></TD>
</TR>
<TR>
<TD><HR color="#009442"></TD>
</TR>
<TR>
<TD height="14"><P class="text_mainhead">
НОВОСТИ P
</H1></TD>
</TR>
<TR>
<TD><HR color="#009442"></TD>
</TR>
</TABLE>
</BODY>

</HTML>

То получается, что на некоторых мониторах (или версиях, настройках IE??) ВСЕ РАВНО надпись «НОВОСТИ H1» выводится более крупным шрифтом, чем надпись «НОВОСТИ P»!!!

   
 
 автор: Lelik   (19.06.2007 в 13:38)   письмо автору
 
   для: Myas   (19.06.2007 в 13:01)
 

пробуй так.

h1.text_mainhead { color: #008000; font-family: Arial; font-size: 8pt; text-decoration: none; text-align:left;
vertical-align: top; margin-left: 10px; font-weight:bold; margin-bottom: 0 }
p.text_mainhead { color: #008000; font-family: Arial; font-size: 8pt; text-decoration: none; text-align:left;
vertical-align: top; margin-left: 10px; font-weight:bold; margin-bottom: 0 }


наверное после (в ИЕ) или ранее (в других браузерах) уже заданы стили для заголовков первого уровня.
также можно попробовать использовать !important, но это не спортивно ;)

font-size: 8pt !important;

   
 
 автор: Myas   (20.06.2007 в 17:13)   письмо автору
 
   для: Lelik   (19.06.2007 в 13:38)
 

Во-первых, спасибо большое за информацию!
Честно!

Но... Все равно ничего не получается!
Вот реальный пример, который на реальном компе надпись "НОВОСТИ H1" выводит КРУПНЕЕ чем "НОВОСТИ P"!!!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<LINK rel="stylesheet" type="text/css" href="stylenew.css">
</HEAD>

<BODY>
<TABLE cellpadding="0" cellspacing="0" width="490" height="30">
<TR><TD height="14"><H1 class="text_mainhead">НОВОСТИ H1</H1></TD></TR>
<TR><TD height="14"><P class="text_mainhead">НОВОСТИ P</H1></TD></TR>
</TABLE>
</BODY>

</HTML>

Файл stylenew.css:

h1.text_mainhead { color: #008000; font-family: Arial; font-size: 8pt; text-decoration: none; text-align:left; vertical-align: top; margin-left: 10px; font-weight:bold; margin-bottom: 0 }
p.text_mainhead { color: #008000; font-family: Arial; font-size: 8pt; text-decoration: none; text-align:left; vertical-align: top; margin-left: 10px; font-weight:bold; margin-bottom: 0 }

Вроде по вашему описанию должно помочь. Но не работает, фигня, блин!

   
 
 автор: sim5   (19.06.2007 в 13:55)   письмо автору
 
   для: Myas   (19.06.2007 в 13:01)
 

У меня этот фрагмент выводит две строки с одинаковым визуальным размером шрифта и в IE, и в FF, как на ЭЛТ мониторе, так и на ЖК, с разрешением на обеих 1024 х 768 96 dpi. Если в FF, например, увеличивать его размер то увеличивается размер обеих строк - классу они пренадлежат одному, как они могут разный размер иметь?

   
 
 автор: ilyaILF   (19.06.2007 в 18:50)   письмо автору
 
   для: sim5   (19.06.2007 в 13:55)
 

Это все действительно так бывает, когда шрифт задается в точных величинах (px, pt) - у мониторов разный размер точки-пиксела, попробуйте задать размер шрифта в процентах. Например базовый шрифт взять за 100%:
body
{
font-size: 100%;
}
а остальные уже будут производными от него, тоже в процентах, так вы несколько абстрагируетесь от задания точных значений и весь сайт у вас будет по крайней мере пропорционален по шрифтам (их размерам).

   
 
 автор: sim5   (19.06.2007 в 19:14)   письмо автору
 
   для: ilyaILF   (19.06.2007 в 18:50)
 

Как бывает, чтобы у элементов Р и Н1, у которых один и тот же класс прописаный в стиле, были при этом визуально разные размеры?

   
 
 автор: Lelik   (19.06.2007 в 19:35)   письмо автору
 
   для: sim5   (19.06.2007 в 19:14)
 

это бывает в случае, когда для, в данном случае, заголовка задан стиль, в часности размер шрифта

<style>
h1{
font-size:25px;
}
.aaa{
font-size:10px;
}
</style>
<h1 class="aaa">header</h1>

   
 
 автор: sim5   (19.06.2007 в 19:42)   письмо автору
 
   для: Lelik   (19.06.2007 в 19:35)
 

Вот его стиль, судя по посту автора более у него ничего не имеется кроме этого

.text_mainhead { color: #008000; font-family: Arial; font-size: 8pt; text-decoration: none; text-align:left;
vertical-align: top; margin-left: 10px; font-weight:bold; margin-bottom: 0 }

вот что автор он дает в последствии:

<H1 class="text_mainhead">НОВСТИ Н1</H1>
<P class="text_mainhead">НОВОСТИ Р</P>

есть правда лишний </H1> в коде, но это не важно. Обе строки у меня выводят визуально одинаковым размером. Как они могут оказаться при такой записи разными?

   
 
 автор: Lelik   (19.06.2007 в 20:06)   письмо автору
 
   для: sim5   (19.06.2007 в 19:42)
 

браузеры довольно специфически читают стили, а именно в ИЕ последующий стиль перебивает предыдущий, а в остальных первый стиль перебивает последующие. Хотя, иногда это поведение не поддается никакому объяснению

Пример

<style>
h1{
font-size:20px;
}
.text_mainhead{
font-size:10px;
}
</style>
<H1 class="text_mainhead">НОВСТИ Н1</H1>
<P class="text_mainhead">НОВОСТИ Р</P>

по-хорошему, в данном случае, h1 в ИЕ выводится размером в 10рх, а в остальных 20рх.

ЗЫ. хотя в ИЕ бывает заскок и он отдает инициативу первому заданому стилю.

   
 
 автор: CNT   (20.06.2007 в 02:45)   письмо автору
 
   для: Lelik   (19.06.2007 в 20:06)
 

Объяснение простое - по умолчанию у тега H1 иной, чем у прочих элементов, не только font-size, но и font-weight:
<?
<html><head>
<
script>
onload = function ()
{
with (document.all
var 
myHed.currentStyle
myPar.currentStyle
myDiv.currentStyle
mySpn.currentStyle
document.body.currentStyle;
alert ('Tag\tSize\tWeight\n\n<H1>\t' +
 
h.fontSize '\t' h.fontWeight 
'\n<P>\t' p.fontSize '\t' +
 
p.fontWeight '\n<DIV>\t' d.fontSize 
'\t' d.fontWeight '\n<SPAN>\t' 
s.fontSize '\t' s.fontWeight 
'\n<BODY>\t' b.fontSize '\t' +
 
b.fontWeight);
}
</script>
</head><body>
<h1   id="myHed">HEAD#1   </h1>
<p    id="myPar">PARAGRAPH</p>
<div  id="myDiv">DIV      </div>
<span id="mySpn">SPAN     </span>
<br             >BODY
</body></html> 
>

Чтобы "уравнять" H1 с прочими элементами, необходимо в стилях указать правило и для font-weight

   
 
 автор: Lelik   (20.06.2007 в 11:13)   письмо автору
 
   для: CNT   (20.06.2007 в 02:45)
 

если вы внимательно посмотрите самый первый пост в этой теме, то заметите в стилях которые приводят в качестве примера есть font-weight :)

после таких стилей всегда все шрифты одного размера (во всяком случая у меня всегда так)

<style>
* {
font-size:100.01%;
}
body{
font-size:0.8em;
}
</style>
<h1>Header</h1>
<p>Paragraph</p>

   
 
 автор: Myas   (20.06.2007 в 17:17)   письмо автору
 
   для: Lelik   (20.06.2007 в 11:13)
 

Во-первых, спасибо большое за информацию!
Честно!

Но... Все равно ничего не получается!
Вот реальный пример, который на реальном компе надпись "НОВОСТИ H1" выводит КРУПНЕЕ чем "НОВОСТИ P"!!!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<LINK rel="stylesheet" type="text/css" href="stylenew.css">
</HEAD>

<BODY>
<TABLE cellpadding="0" cellspacing="0" width="490" height="30">
<TR><TD height="14"><H1 class="text_mainhead">НОВОСТИ H1</H1></TD></TR>
<TR><TD height="14"><P class="text_mainhead">НОВОСТИ P</H1></TD></TR>
</TABLE>
</BODY>

</HTML>

Файл stylenew.css:

h1.text_mainhead { color: #008000; font-family: Arial; font-size: 8pt; text-decoration: none; text-align:left; vertical-align: top; margin-left: 10px; font-weight:bold; margin-bottom: 0 }
p.text_mainhead { color: #008000; font-family: Arial; font-size: 8pt; text-decoration: none; text-align:left; vertical-align: top; margin-left: 10px; font-weight:bold; margin-bottom: 0 }

Вроде по вашему описанию должно помочь. Но не работает, фигня, блин!

   
 
 автор: Myas   (20.06.2007 в 17:20)   письмо автору
 
   для: Lelik   (20.06.2007 в 11:13)
 

Спасибо еще раз, Lelik!

Можно пояснить последний пост?
Я так понял, просто попробывать прописать
* {
font-size:100.01%;
}
body{
font-size:0.8em;
}
перед всякими описаниями стилей?

И еще, почему font-size:100.01% - такое "точное" число? А не 100%, например.
Спасибо заранее!

   
 
 автор: Lelik   (20.06.2007 в 17:51)   письмо автору
 
   для: Myas   (20.06.2007 в 17:20)
 

ага. именно. вообще размеры шрифтов лучше указывать в относительных величинах, таких как em или в процентах.

100.01% — это своеобразный хак для Оперы. какая-то ее версия криво отображает размеры для шрифтов в таблицах и вне них. данное условие решает эту проблему.

добавлено

можно посмотреть на всю таблицу силей?

   
 
 автор: myas   (22.06.2007 в 13:53)   письмо автору
 
   для: Lelik   (20.06.2007 в 17:51)
 

ПОФИГУ!!!
Ничего не получается
"текст H1" все равно крупнее выводится, чем "текст P"!!!!

Вот полный текст скрипта, уже без таблицы стилей и упрощенный донельзя!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<style> 
* { 
font-size:100.01%; 

body { 
font-size:0.8em; 

h1 { 
font-size:0.8em; 
}
p { 
font-size:0.8em; 
}
</style> 
</HEAD>
<BODY>
<TABLE cellpadding="0" cellspacing="0" width="490" height="30">
<TR><TD height="14"><H1>текст H1</H1></TD></TR>
<TR><TD height="14"><P>текст P</H1></TD></TR>
</TABLE>
</BODY>

</HTML>

   
 
 автор: Myas   (22.06.2007 в 14:05)   письмо автору
 
   для: Lelik   (20.06.2007 в 17:51)
 

Вернее даже вот такой вариант:
ТОТ ЖЕ РЕЗУЛЬТАТ!!!!!


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<style> 
* { font-size:100.01%; }
body { font-size:0.8em; }
</style> 
</HEAD>

<BODY>
<TABLE cellpadding="0" cellspacing="0" width="490" height="30">
<TR><TD height="14"><H1 style="font-family: Arial; font-size: 0.8em">текст H1</H1></TD></TR>
<TR><TD height="14"><P style="font-family: Arial; font-size: 0.8em">текст P</P></TD></TR>
</TABLE>
</BODY>

</HTML>

   
 
 автор: CNT   (22.06.2007 в 14:17)   письмо автору
 
   для: Myas   (22.06.2007 в 14:05)
 

1. КРИЧАТЬ не надо.
2. В каком браузере вы смотрите?
3. У меня, например, последний ваш код в IE6, в FF и в Opera обе надписи идут одним кеглем, но разной жирности - H1 выделен. В чём вы можете убедиться, посмотрев приаттаченную картинку.

   
 
 автор: Myas   (20.06.2007 в 17:15)   письмо автору
 
   для: CNT   (20.06.2007 в 02:45)
 

Да, font-weight тут ни причем.
Он его не жирнее делает, а реально крупнее...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования