Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > CSS в Perl программе


Автор: korob2001 9.4.2005, 22:28
Привет!!!
Вот столкнулся, с такой проблемой:
Написал HTML файл, к нему прицепил файл CSS, такого содержания:
Код

A:link { color: #000099; text-decoration: none; font-weight: bold; }
A:visited { color: #000099; text-decoration: none; font-weight: bold; }
A:hover { color: #ffffff; text-decoration: none; font-weight: bold; }

a.mnu { font-size: +11 }

Особое внимание прошу обратить на последнюю строку файла.
Теперь пишу такой HTML:
Код

<html>
  <head>
  <link rel="stylesheet" type="text/css" href="main.css">
  <title>Тест</title>
  </head>
  <body>
    <a href="file.html" class="mnu">Просто ссылка</a>
  </body>
</html>

Всё чудно работает в IE6.0 и NN7.1, но если пишу такой же код на Perl, т.е.:
Код

#!/usr/bin/perl
use CGI;
my $cgi = new CGI;
print $cgi->header( -charset => 'Windows-1251' ),
        $cgi->start_html(  -style => { -src => 'main.css' },
                                     -title => 'Тест' ),
        $cgi->a( { -href => 'file.html',
                         -class => 'mnu' }, "Просто ссылка" ),
        $cgi->end_html;

В IE всё как работало, так и работает, но вот в нафигаторе, размер шрифта не становится размером +11, но ссылка так и продолжает менть свой цвет при наведении на неё.
Как можно объяснить такой глюк???? И естественно, как от него избавиться???

Заранее спасибо,
Денис

Автор: dm9 11.4.2005, 02:21
Может, это в Perl?

Я помог бы, но в упор не понимаю, что там написано.

Самый простой вариант: посмотри в браузере сгенеренный код и сравни с тем, что должно быть. А вот когда у тебя будет сгенеренный html-код, спрашивай в вёрстке, почему он не работает, если не разберёшься сам...

Автор: IZ@TOP 11.4.2005, 08:51
dm9, так он HTML привел. Правда в нем ошибок нету.


korob2001, а ты не пробовал хидеры все вывести? Типа:
Код

// ...
print "Contet-Type: text/html\r\n";
//..

Автор: korob2001 11.4.2005, 10:47
IZ@TOP - модуль CGI его генерирует, точнее его метод header

dm9 - код выше, генерит такой HTML:
Код

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US"><head><title>Тест</title>
<link rel="stylesheet" type="text/css" href="main.css" />
</head><body><a class="mnu" href="file.html">Просто ссылка</a></body></html>

Самое интересное то, что ссылка меняет цвет в обоих браузерах, а вот font-size: +11, понимает только IE. smile В обычном файле HTML, всё работает в обоих браузерах.

Автор: dm9 11.4.2005, 11:18
IZ@TOP, я имел в виду код, который генерится Perl'ом. korob2001 его как раз привёл постом выше smile

По сабжу - укажи единицы измерения с CSS.
"+" не обязателен.

a.mnu { font-size: 11px }
a.mnu { font-size: 11pt }

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)