Jump to content
  • 0

При подключении CSS шаблон в ФФ падает, даже при пустом ССS файле.


AlexW
 Share

Question

Верстаю шаблон, (вверху и внизу 2-ве приклееных менюшки, посередине будет блок и конечно все будет на аяксе) в Опере и Осле всё отображается нормально, а в ФФ headerpanel и footerpanel не приклеиваются, помогите плиз разобраться.

Методом тыка выяснил что в ФФ шаблон падает когда подключаю ccs, когда объявляю <link href="menu.css" type="text/css" rel="stylesheet" > и данный файл существует (возможно он даже пустой, это сути не меняет), когда его нет, тогда всё нормально.

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

<head>

<title>Шаблон</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >

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

<style type="text/css" >

html, body {width: 100%; height: 100%; margin: 0; padding: 0;}

html {display: table; overflow: auto;}

body {display: table-cell; vertical-align: middle; background-color:#FFFFFF;}

.headerpanel {width: 100%; height: 40px; position: fixed; left: 0px; top: 0px; background-color: #FF0;}

.item {width: 960px; height: 600px; margin: 0 auto;}

.header, .footer{width: 960px; height: 40px; margin: 0 0; overflow: auto; background-color: #F00;}

.cont {width: 920px; height: 480px; margin: 0 0; padding: 20px; overflow: auto; background-color: #0F9}

.footpanel {width: 100%; height: 40px; position: fixed; margin: -40 auto 0; bottom: 0; left: 0; z-index: 9997; background-color: #FF0;}

<!--[if lte IE 7]>

<style type="text/css">

* > html body {text-align: center;}

* > html .item {text-align: left;}

.headerpanel {width: 100%; height: 40px; position: fixed; left: 0px; top: 0px; _position: absolute; _top: expression( 0 + eval(document.documentElement.scrollTop||document.body.scrollTop) + 'px' );}

.item {margin-top: expression(this.offsetHeight < this.parentNode.offsetHeight ? parseInt((this.parentNode.offsetHeight - this.offsetHeight) / 2) + 'px' : 0);}

*html #footpanel {margin-top: -1px; position: absolute; background-color: #FF0; top:expression(eval(document.compatMode &&document.compatMode=='CSS1Compat') ?documentElement.scrollTop+(documentElement.clientHeight-this.clientHeight)

: document.body.scrollTop +(document.body.clientHeight-this.clientHeight));}

</style>

<![endif]-->

</style>

</head>

<body>

<div class="headerpanel">Верхнее меню (должно быть приклеено)

</div>

<div class="item">

<div class="header">Логотип

</div>

<div class="cont">Контент

</div>

<div class="footer">Копирайт

</div>

</div>

<div class="footpanel">Нижнее меню (должно быть приклеено)

</div>

</body>

</html>

Edited by AlexW
Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 0

—————htm—————

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

<head>

<title>Шаблон</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >

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

</head>

<body>

<div class="headerpanel">Верхнее меню (должно быть приклеено)

</div>

<div class="item">

<div class="header">Логотип

</div>

<div class="cont">Контент

</div>

<div class="footer">Копирайт

</div>

</div>

<div class="footpanel">Нижнее меню (должно быть приклеено)

</div>

</body>

</html>

—————css (main_style.css)—————

html, body {width: 100%; height: 100%; margin: 0; padding: 0;}

html {display: table; overflow: auto;}

body {display: table-cell; vertical-align: middle; background-color:#FFFFFF;}

.headerpanel {width: 100%; height: 40px; position: fixed; left: 0px; top: 0px; background-color: #FF0;}

.item {width: 960px; height: 600px; margin: 0 auto;}

.header, .footer{width: 960px; height: 40px; margin: 0 0; overflow: auto; background-color: #F00;}

.cont {width: 920px; height: 480px; margin: 0 0; padding: 20px; overflow: auto; background-color: #0F9}

.footpanel {width: 100%; height: 40px; position: fixed; margin: -40 auto 0; bottom: 0; left: 0; z-index: 9997; background-color: #FF0;}

<!--[if lte IE 7]>

* > html body {text-align: center;}

* > html .item {text-align: left;}

.headerpanel {width: 100%; height: 40px; position: fixed; left: 0px; top: 0px; _position: absolute; _top: expression( 0 + eval(document.documentElement.scrollTop||document.body.scrollTop) + 'px' );}

.item {margin-top: expression(this.offsetHeight < this.parentNode.offsetHeight ? parseInt((this.parentNode.offsetHeight - this.offsetHeight) / 2) + 'px' : 0);}

*html #footpanel {margin-top: -1px; position: absolute; background-color: #FF0; top:expression(eval(document.compatMode &&document.compatMode=='CSS1Compat') ?documentElement.scrollTop+(documentElement.clientHeight-this.clientHeight)

: document.body.scrollTop +(document.body.clientHeight-this.clientHeight));}

<![endif]-->

То есть должно примерно так быть? (так тоже не работает)

Часов 5 убил на этот вопрос, так и не понял.

От style в style избавился, а про условные коментарии html так и не понял, они а хаках для ие7? Если хаки удалить всё равно не работает

Link to comment
Share on other sites

  • 0

Пробывал как вы описали, все равно не получается, складывается такое чувство, что из-за body {display: table-cell;... при подключении css FF начинает позиционировать не с верхнего правого угла браузера, а с body, который подгоняется к <div class="item">.

Попробуйте сами подключить css, помогите плиз.

Link to comment
Share on other sites

  • 0
Шаблон тут

P.S. на домен внимание не обращать, он давно уже только для тестирования-_-

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

еще нашел косяк, правда, мож так и надо...

При изменении высоты окна нижня панель навсегда приделана к нижней кромке, и не чувствует высоты среднего поля. Если надо чтобы чувствовала, то это стандарный "футер внизу экрана", Вобщем, максимально подробно расскажите.

Link to comment
Share on other sites

  • 0

Хочу сделать так, чтоб верхняя панель была приклеена к верхней кромке, а нижняя соответственно к нижней, основное "окно" всегда располагалось по центру.

версия с вложенной таблицей стилей

Версия с вынесенной в отдельный файл таблицей стилей

Версии отлачаются кроме описанного парой картинок и цветом меню.

Во 2-й версии верхняя и нижняя панель не приклееваются к кромкам (проверял в ФФ 3.0.17 и 3.5.7)

P.S.

Хотел бы еще спросить: правильно сделал что отделил текст от дива с бэкграундом еще 1 дивом?

Пример:

<div class="cont">

<div id="bordercont">

</div>

</div>

.cont {width: 920px; height: 480px; margin: 0 0; padding: 20px; background: url(images/fon.png) no-repeat center;}

#bordercont {width: 920px; height: 480px; margin: 0 0; overflow: auto;}.

Link to comment
Share on other sites

  • 0
Хочу сделать так, чтоб верхняя панель была приклеена к верхней кромке, а нижняя соответственно к нижней, основное "окно" всегда располагалось по центру.

версия с вложенной таблицей стилей

Версия с вынесенной в отдельный файл таблицей стилей

Версии отлачаются кроме описанного парой картинок и цветом меню.

Во 2-й версии верхняя и нижняя панель не приклееваются к кромкам (проверял в ФФ 3.0.17 и 3.5.7)

P.S.

Хотел бы еще спросить: правильно сделал что отделил текст от дива с бэкграундом еще 1 дивом?

Пример:

<div class="cont">

<div id="bordercont">

</div>

</div>

.cont {width: 920px; height: 480px; margin: 0 0; padding: 20px; background: url(images/fon.png) no-repeat center;}

#bordercont {width: 920px; height: 480px; margin: 0 0; overflow: auto;}.

Вобщем, дайте маргины среднему блоку, вверх и вниз. ЧТобы он не залезал под менюхи.

Не знаю че ответить про отделение дивом, если есть хоть какой-то смысл моментально добавляю тег, даж не задумываясь и не теряя время на "чудо-лайот".

Link to comment
Share on other sites

  • 0

Спасибо большое!! Проблема была в моём ФФ, после удаления всех его файлов и установкой заново все стало ок!

Маргины сейчас дам, спасибо за помощь!

P.S. Если есть предложения по шаблону, милости прошу-_-

Edited by AlexW
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy