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

HTML+CSS+JavaScript

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

 

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

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

тема: Не работае таблица стилей в IE (в Opera всё работает отлично.)
 
 автор: Slo_Nik   (04.11.2008 в 02:03)   письмо автору
 
 

Помогите, пожалуйста, решить проблему с таблицами стилей.
Есть страница сайта, оформленная при помощи слоёв.При просмотре в Opera, всё работает отлично, но когда смотришь через IE, впечатление, что таблица стилей вообще не подключается и поэтому всё оформление просто "разваливается".
С такой проблемой столкнулся впервые, если раньше и возникали проблемы, то это касалось отдельных элементов страницы и устранить проблему не составляло большого труда.
Подключаю css

<link href="stylecss.css" type="text/css" rel="stylesheet" />


Часть файла css, так задаю стиль для слоя

#layer_1 {
position:relative;
top:105px;
left:510px;
z-index:1;
border:3px solid #70685A;
width:500px;
height:500px;
background-color:#585245;"
}


Ну и применение стиля к слою на странице

<div id="layer_1>
<?php include("include/main.php"); ?>
</div>


<!DOCTYPE прописываю.

  Ответить  
 
 автор: Madman   (04.11.2008 в 11:29)   письмо автору
 
   для: Slo_Nik   (04.11.2008 в 02:03)
 

Ну, в том что вы написали, ничего необычного нет! Должно работать!

Могу предположить, что у вас сам HTML-фаил в кодировке utf-8, а фаил стилей либо в cp-1251, либо содержит русские комментарии. В такой конструкции IE этот фаил стилей не поймет!

А вообще, дайте лучше ссылку или выложите архив с багой!

  Ответить  
 
 автор: elenaki   (04.11.2008 в 11:48)   письмо автору
34.5 Кб
 
   для: Madman   (04.11.2008 в 11:29)
 

и проверьте, работают ли другие сайты с подключением внешних файлов стилей. у меня,
например, сломался IE - в один прекрасный момент перестал подключать стили. а сегодня
обнаружила, что не грузит и JS. в других браузерах сайт работает, в просмотре редактора
работает, а в IE - нет, хотя раньше работал. сейчас поставила IE8 (пришлось обновить Flash
плейер, убрать кое-какие плагины, которые перестали работать), но проблема со стилями
осталась. вот как мне показывает Взгляд.ру, например. это же безобразие!

  Ответить  
 
 автор: Madman   (04.11.2008 в 12:08)   письмо автору
 
   для: elenaki   (04.11.2008 в 11:48)
 

ХМ... В таком раскладе это все таки проблема вашего броузера!

Системный ИЕ часто вылетает! Я юзаю системный ИЕ только для обновлений системы с http://update.microsoft.com

Я бы рекомендовал вам использовать для тестирвания сайтов, например, IETester

  Ответить  
 
 автор: elenaki   (04.11.2008 в 12:14)   письмо автору
 
   для: Madman   (04.11.2008 в 12:08)
 

мне браузер нужен не для тестирования, а для жизни...
может, подскажете, как убрать его из системы? раньше, помнится IE можно было удалить из Панели управления.

==================
-Давайте сделаем IE8 - сказал Билли.
-Били погоди, у нас ещё и 7 не прижился.
-А зачем нам 7, нам 7 не нужен. У нас будет сразу 8. Просто номер поменяем и добавим пару кнопок. Пускай все думают что мы крутые
==================

и все равно FF пользоваться не буду. только в самых крайних случаях... он противный.

  Ответить  
 
 автор: elenaki   (04.11.2008 в 13:33)   письмо автору
 
   для: elenaki   (04.11.2008 в 12:14)
 

Благо, что на панели IE8 появляется кнопочка Toggle IE7 Emulation mode, которая позволяет, хоть и с перезапуском, но всё же переключаться между двумя браузерами.
========================================================================
я туплю, но не могу найти на панели эту волшебную кнопку... кто-нибудь ее видел? киньте скриншот, плиз.

  Ответить  
 
 автор: ddhvvn   (04.11.2008 в 14:00)   письмо автору
 
   для: elenaki   (04.11.2008 в 13:33)
 

В англоязычной версии видел, щас стоит русская версия и тоже что-то не могу найти эту кнопочку ))

  Ответить  
 
 автор: elenaki   (11.11.2008 в 12:40)   письмо автору
 
   для: ddhvvn   (04.11.2008 в 14:00)
 

нашла я эту кнопку. она называется Compability view. вернее, нашла и сразу потеряла. она
точно была, я на нее тыкала. но после разных манипуляций с установкой двух версий на
одном компе, с удалением 7-ки, т.к. в ней не работала ни одна форма, эта кнопка из 8-ки
ПРОПАЛА. нет ее. есть строчка в меню. я выбрала там для всех сайтов показ как в 7-ке,
но разницы не почувствовала... а с внешними стилями тоже проблема, если подключены
командой import. вот тут про кнопку: http://blogs.msdn.com/ie/archive/2008/08/27/introducing-compatibility-view.aspx
а тут про стили http://habrahabr.ru/blogs/webdev/19638/

PS непонятно другое - дома у меня 7-ка на двух компах и стили работают...

  Ответить  
 
 автор: Slo_Nik   (04.11.2008 в 15:29)   письмо автору
 
   для: Madman   (04.11.2008 в 12:08)
 

Протестировал через IETester, в IE 8 beta 1 слои работают, в остальных нет.

  Ответить  
 
 автор: Maxam   (04.11.2008 в 15:20)   письмо автору
 
   для: elenaki   (04.11.2008 в 11:48)
 

Если в .css комментарии на русском файл стилей НЕ ОПРЕДЕЛЯЕТСЯ IE??? O_o

  Ответить  
 
 автор: Madman   (04.11.2008 в 16:11)   письмо автору
 
   для: Maxam   (04.11.2008 в 15:20)
 

Представте себе! Если у вас страница в UTF, а фаил стилей cp1251 с русскими комментами, то IE6 и ниже часть CSS-файла не поймут!

Не верите наслово, можете проверить здесь!

А почитать об этом можно здесь!

  Ответить  
 
 автор: Slo_Nik   (04.11.2008 в 14:55)   письмо автору
11.2 Кб
 
   для: Madman   (04.11.2008 в 11:29)
 

Прикрепил архив с файлами.
Там ты найдёшь две картинки, 1.jpg как должно быть, 2.jpg как это всё выглядит в IE и два файла, index и css.
Просматривал в Opera и Mozilla Firefox, тут всё работает.
В IE работает только если писать прямо на странице, т.е. [code][<div style="..."></div>/code], но это не очень удобно.
Поэтому мне интересно, как можно сделать так, что бы IE "понимал" слои через подключаемую таблицу стилей?

  Ответить  
 
 автор: KingLion   (04.11.2008 в 13:54)   письмо автору
 
   для: Slo_Nik   (04.11.2008 в 02:03)
 

У вас как у стиле так и на странице есть непонятние кавычки. Может они всему виной? Ведь разные браузеры по-разному обрабатывают ошибки в коде.

  Ответить  
 
 автор: Madman   (04.11.2008 в 14:21)   письмо автору
 
   для: KingLion   (04.11.2008 в 13:54)
 

Ух...
А ведь да, я и не заметил! =)

Часть файла css, так задаю стиль для слоя
#layer_1 {
position:relative;
top:105px;
left:510px;
z-index:1;
border:3px solid #70685A;
width:500px;
height:500px;
background-color:#585245;"
}


Там где background-color:#585245;" не должно быть кавычки вконце!

  Ответить  
 
 автор: Slo_Nik   (04.11.2008 в 14:57)   письмо автору
 
   для: Madman   (04.11.2008 в 14:21)
 

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

  Ответить  
 
 автор: Madman   (04.11.2008 в 15:35)   письмо автору
 
   для: Slo_Nik   (04.11.2008 в 14:57)
 

Посмотрел я твой CSS-фаил!
Как и говорилось, там есть кавычка, которая напрочь рубит понимание стилей в ИЕ (21я строка в файле стилей)!

В дополнение: ИЕ 6й версии не понимает position:fixed! В равитие темы про position:fixed для IE6 сюда!

  Ответить  
 
 автор: Slo_Nik   (04.11.2008 в 16:30)   письмо автору
 
   для: Madman   (04.11.2008 в 15:35)
 

Огромное спасибо за указание ошибки.

  Ответить  
 
 автор: Slo_Nik   (04.11.2008 в 19:37)   письмо автору
 
   для: Madman   (04.11.2008 в 15:35)
 

Прочитал то что есть по данной ссылке, заменил fixed на absolute начало работать и в IE 6.
Но возник дополнительный вопрос.
В разных версиях IE один и тот же css читается с разными небольшими отличиями, поэтому применяют так называемые "хаки".
Но для разных версий IE "хак" пишется по разному. Так для IE 6 можно написать
*html img {border:nane; margin-top:4px;}
, а для IE 7 пишется
*+html img {border:nane; margin-top:4px;}
, валидатор ошибки не выдаёт.
Подскажи, пожалуйста, можно ли эти две записи объеденить в одну, так чтобы работало в обеих версиях IE ?
И как правильно написать для Mozilla FireFox?

  Ответить  
 
 автор: Madman   (04.11.2008 в 19:58)   письмо автору
 
   для: Slo_Nik   (04.11.2008 в 19:37)
 

Для разделения CSS для ИЕ от нормальных броузеров лучше использовать ConditionlComents. Можете погуглить или ознакомиться здесь.

Как пример:
<link type="text/css" rel="stylesheet" href="style.css" />
<!--[if lte IE 7]><link type="text/css" rel="stylesheet" href="ie.css" /><![endif]-->

Два отдельных файла: 1й для всех броузеров, 2й только для ИЕ 7 и ниже.
Переживаете за валиднось, CC не читаются валидатором и вы можете писать в них все, что вашей душе угодно!

По поводу других хаков: есть валидные, есть невалидные, есть валидные по стандарту CSS3.
Опять же, можете гуглить. Инфы полно!

Как пример для Mozill'ы и WebKit'а есть хак:
html:root div.test {}

Он не валидный по стандартиу CSS2, но валидный по стандарту CSS3.

А вообщето, как сказал один большой дядя из большой компании: "Лучший валидатор - это браузер" (c)
P.S. Для тех кто не в курсе кто и где это сказал, смотреть здесь

  Ответить  
 
 автор: Slo_Nik   (04.11.2008 в 20:58)   письмо автору
 
   для: Madman   (04.11.2008 в 19:58)
 

Ещё раз благодарю, буду дальше пробовать, искать и ошибаться :)

  Ответить  
Rambler's Top100
вверх

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