Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   javascript, css и iexplorer (https://javascript.ru/forum/css-html-internet-explorer/1032-javascript-css-i-iexplorer.html)

Блондинко 03.02.2008 23:19

javascript, css и iexplorer
 
Здравствуйте! Помогите, плиз!
Делаю печатную версию с помощью css. В firefox, Opera и еже с ними все тип-топ, а вот в explorer при переключении с "печатной" версии обратно на "обычную" пропадает содержимое той таблицы, которую надо было печатать... объяснение, наверное, путанное, но в коде все сказано. Заранее спасибо )


Код страницы:
Код:

<sc_ript type="text/javasc_ript">
<!--
function ed()<!--переключение на версию для печати-->
{
    document.styleSheets[0].disabled=false;
    document.styleSheets[1].disabled=true;
}
function edd()<!--переключение на нормальный просмотр-->
{
    document.styleSheets[0].disabled=true;
    document.styleSheets[1].disabled=false;
}

-->
</sc_ript>
<link href="2.css" rel="stylesheet" type="text/css" id="css0"  /><!--css для печати-->
<link href="3.css" rel="stylesheet" type="text/css" id="css1" /><!--css для нормального просмотра-->
<link rel="stylesheet" type="text/css" media="print" href="2.css" />

</head>

<body>
<div id=glavtab><!--окружение-->
<table width="300" border="1" cellpadding="0" cellspacing="0" bordercolor="#999900" bgcolor="#99CC33">
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>
    <div id="text2"><!--div содержимого. Если обвести его границей, она остается, а содержимое пропадает-->
    <table width="300" border="1" cellpadding="0" cellspacing="0" bordercolor="#333399" bgcolor="#9966CC"><!--эта таблица исчезает в explorere (а не должна!)-->
  <tr>
    <td>исчезающее в explorer'е содержимое</td>
    <td>&nbsp;</td>

  </tr>
</table></div>
</td>
  </tr>
</table></div>
<!--переключение на просмотр печати--><p><a  onClick="ed();" >версия для печати</a><br />
 <!--переключение на нормальный просмотр-->    <a  onClick="edd();" >обычная версия</a></p>
</body>
</html>

код 2.css (для печати)
Код:

/* CSS Document */
#text2 {/*содержимое показывать и absolute в левом верхнем углу*/
visibility:visible;
position:absolute;
z-index:110;
    top:0px;
    left:0;
    border:solid;
    border-width:1px;
    border-color:#bababa;}
#glavtab {/*окружение не показывать*/
position:relative;
    z-index:50;
visibility:hidden;
}

Код 3.css (для нормального вида)
Код:

/* CSS Document */
#text2 {/*содержимое*/
position:relative;
    z-index:110;
    border:solid;
    border-width:1px;
    border-color:#bababa;
    top:4px;
    margin-bottom:40px;

}
#glavtab {/*окружение*/
position:relative;
    z-index:50;

visibility:visible;}


lancer 15.02.2008 03:06

Здравствуйте, Блондинко.
Конкретно решать Вашу проблему не буду, т.к. задача не локализирована и код выравнен не как подобает. Чем лучше Вы подготовите вопрос на форум, тем быстрее и точнее получите ответ, в будущем придерживайтесь этого правила.

Недочеты, которые режут глаза:

1.Зачем при релативном позиционировании z-index? Зачем z-index'ы аж 50 и 100? Чтобы надежнее)?

2.
Код:

  border:solid;
  border-width:1px;
  border-color:#bababa;

=
Код:

border:1px solid #bababa;
Это называется стенографическая запись, как видите более удобна в использовании и чтении. Найдите справочник CSS на русском, там объясняется.

3.Приводите код с доктайпом.

4.Комментарии на русском в файле html и css могут служить причиной подвисания браузеров. Плюс ко всему, коменнтировать файл html желательно совсем немного, чтобы разметить основные разделы, иначе внутренняя сео-оптимизация сайта пострадает. Чем ближе текст страницы к началу, тем он значимее для роботов-индексаторов, а комментарии здесь либо займут самое начало, либо отдалят отдельные части, что в обоих случаях плохо.

5.
Код:

<sc_ript type="text/javasc_ript">
-- зачем вместо буквы r подчеркивание? В связи с данным пунктом возникает вопрос, как это вообще все работает. Исправьте ошибки(в этом Вам поможет валидатор, который можно найти на сайте World Wide Web Consortium ).

6.Таблицы следует использовать для отображения табличных данных, иначе вы нарушаете стандарты html и Ваша верстка не будет ценится среди профессионалов и знающих заказчиков, а возможно даже будет вызывать раздражение и негативные эмоции.

Kolyaj 21.02.2008 11:01

lancer, сколько пафосных слов и все не по делу.
Цитата:

Сообщение от lancer
Комментарии на русском в файле html и css могут служить причиной подвисания браузеров.

В css-файле действительно лучше не использовать русские комментарии, но html-то тут причем?

Цитата:

Сообщение от lancer
Плюс ко всему, коменнтировать файл html желательно совсем немного, чтобы разметить основные разделы, иначе внутренняя сео-оптимизация сайта пострадает. Чем ближе текст страницы к началу, тем он значимее для роботов-индексаторов, а комментарии здесь либо займут самое начало, либо отдалят отдельные части, что в обоих случаях плохо.

Полный бред.

Цитата:

Сообщение от lancer
Таблицы следует использовать для отображения табличных данных, иначе вы нарушаете стандарты html и Ваша верстка не будет ценится среди профессионалов и знающих заказчиков, а возможно даже будет вызывать раздражение и негативные эмоции.

Раздражение и негативные эмоции табличная верстка будет вызывать у школьников, любящих холивары, но никак не у профессионалов и знающих заказчиков, для которых важно качество верстки, а не способ.


Теперь по теме: а зачем переключать стили на странице? Браузер и так напечатает по стилю, для которого media=print, а пользователь при желании может посмотреть предварительный просмотр печати в браузере.

lancer 21.02.2008 11:52

Статьи и рекомендации w3c читать и головой думать(про табличную верстку твое мнение), а потом чужие советы называть бредом.

Kolyaj 21.02.2008 12:39

Цитата:

Сообщение от lancer
твое мнение

На брудершафт вроде не пили.

Цитата:

Сообщение от lancer
Статьи и рекомендации w3c читать и головой думать

Сам верстаю не таблицами, но не потому, что это может вызвать негатив у псевдо-профессионалов, а потому, что так удобнее. Признаком хорошей верстки является не отсутствие ошибок в валидаторе или отсутствие таблиц, а правильное (с точки зрения задуманного дизайна) отображение в большинстве браузеров при различных разрешениях экрана.

Цитата:

Сообщение от lancer
а потом чужие советы называть бредом

Бредом был назван только этот абзац
Цитата:

Сообщение от lancer
Плюс ко всему, коменнтировать файл html желательно совсем немного, чтобы разметить основные разделы, иначе внутренняя сео-оптимизация сайта пострадает. Чем ближе текст страницы к началу, тем он значимее для роботов-индексаторов, а комментарии здесь либо займут самое начало, либо отдалят отдельные части, что в обоих случаях плохо.



Часовой пояс GMT +3, время: 08:03.