Позиционирование таблиц в Опере.

RHA

Новичок
Позиционирование таблиц в Опере.

Привет всем!

Возникла необходимость переделать сайт из табличного дизайна в CSS.
С IE, и Лисой, проблемы не возникло, но с Оперой такое ощущение, как-будто у нее какая-то своя система координат.
Страничка http://www.exdo.ru/in2.sthml, посмотрите, в Опере верхний блок на 16 пикселей выше, чем ему нужно быть.

Подскажите, что можно сделать в этой ситуации.
 
RHA
<link href="no_opera.css" rel="stylesheet" type="text/css" media="sc&#82;een">
можно написть вот такую штуку...
файл - "no_opera.css" будут понимать все браузеры, кроме Opera....

кстати, пишется: shtml
и страница, у меня - не открылась

з.ы. но это, имхо, изврат...
 

RHA

Новичок
Ага, извиняюсь, http://www.exdo.ru/in2.shtml

-~{}~ 28.10.05 12:37:

>з.ы. но это, имхо, изврат...

согласен, наверняка есть, другой выход.
Более того, по-моему когда-то у меня была такая же проблема, и вроде я находил решение, но уже три года как css в руках не держал... нефига непомню :-(
 

kruglov

Новичок
Ну, елки, попроще примерчик нельзя накидать?

Строчек из 3-4?
 
RHA
да, оставь только каркас...

по-моему - здесь...
<div style="position: relative; top: -160px; width: 750px;">
измени, скажем на position: absolute; top: 5px;

И вообще, код - ужасен... используй

.class {
}

и

#id {
}
 

Krisha

pain in the neck
RHA
Расскажи, плиз, а зачем его под CSS переделывать? Какая практическая цель ?
 

RHA

Новичок
Если позиционировать абсолютно,
<div align="center">
<div style="position: absolute; top: 5px; width: 750px;">
По центру?
</div>
</div>
то слои нефига не хотят центрироваться!

>Расскажи, плиз, а зачем его под CSS переделывать? Какая практическая цель ?
нужно изменить физическое расположение некоторых блоков, не меняя их отображаемое положение.

-~{}~ 28.10.05 13:12:

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

PHP:
<html>

<body topmargin="0" bottommargin="0" rightmargin="0" leftmargin="0" marginheight="0" marginwidth="0">

<div align = "center"> 
<div style="position: static; top: 0px; width: 764px; background-color: #FFFFFF; border: solid #666666 2px;"> 

<div align = "center">
<div style="position: relative; top: 12px; width: 750px; z-index: 1;">
<p>блок 1</p>
</div>
</div>

<div align = "center">
<div style="position: relative; top: 12px; width: 750px; z-index: 1;">
<p>блок 2</p>
</div>
</div>

<div align = "center">
<div style="position: relative; top: -34px; width: 750px; z-index: 1;">
<p>блок 3 - его нужно сделать первым</p>
</div>
</div>


</div>
</div>

</body>
</html>
Задача добиться одинакового позиционирования в IE, и Опере.
 

RHA

Новичок
Спасибо за детальный пример.

Более того, если содержимое слоев в приведенном примере заменить, моими таблицами(правда только заголовки, а внутри траблицы оставить только <tr><td></td></tr>), тоже все работает.

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

Krisha

pain in the neck
RHA
К сожалению, разные элементы в разных броузерах по-умолчанию имеют разные отступы (margin, padding, border). Поэтому как не верти, а подстраивать это всё приходится "ручками". Универсального решения нету.

Изучай вот это: 8 Box model
 
Сверху