CSS - абсолютное + относительное позиционирование @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 16 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
Sander Муж.
новый человек
0
Сообщения: 35
Зарегистрирован: 19.01.05
Откуда: Yar
Заголовок сообщения: CSS - абсолютное + относительное позиционирование
Сообщение Добавлено: 18 Февраль 2005, 13:37:43 
Страница:
<div id="container">
<div id="logo"><img src="image/logo.gif" width="150" height="78"></div>
<div id="menu">
<p><a href="#">link</a></p>
<p><a href="#">link</a></p>
<p><a href="#">link</a></p>
<div id="corporate">
<p><a href="#">link</a></p>
<p><a href="#">link</a></p>
</div>
</div>
<div id="intro"></div>
</div>

Стили:
#container
{
position: relative;
background-color: #464646;
float: left;
left: 20%;
margin-top: 10%;
width: 769px;
height: 404px;
}
#logo
{
position: absolute;
background-color: black;
top: 0px;
left: 0px;
width: 769px;
height: 78px;
}
#menu
{
position: absolute;
background-color: #464646;
top: 78px;
left: 0px;
width: 151px;
height: 326px;
}
#corporate
{
position: absolute;
background-color: #464646;
top: 252px;
left: 0px;
width: 151px;
height: 74px;
}
#intro
{
position: absolute;
background-color: white;
top: 78px;
left: 151px;
width: 618px;
height: 326px;
}

Результат
Внутренние слои в Опрере уехали влево (Файрфокс, ИЕ - все нормально)
Слой container, относительно которого абсолютно позиционируются остальные в Опере висит там где и положено, а вот внутренние см. пару строк вверх (Файрфокс, ИЕ - все нормально

Мысли
Нет. Варианты?????
<sergio.ga>
новый человек
0
Сообщения: 102
Зарегистрирован: 13.06.03
Откуда: Харьков, Украина
Сообщение Добавлено: 18 Февраль 2005, 15:14:03 
А здесь и не нужно абсолютное позиционирование. Только float:left для #corporate.
IonDen666 Муж.
постоянный участник
109
Сообщения: 3234
Зарегистрирован: 25.11.04
Откуда: Москва
Сообщение Добавлено: 18 Февраль 2005, 15:19:01 
<sergio.ga>, истину глаголишь :beer:

Sander, тут постоянно видны многочисленные глюки. Например у относительно позиционированных элементов не стоит использовать такие параметры как left и т.п. Надо юзать margin или padding.

А когда у тебя идут абсолютно позиционированные элементы внутри относительно позиционированного, то зачем ему float писать?

_________________
Frontend developer: IonDen.com
Sander Муж.
новый человек
0
Сообщения: 35
Зарегистрирован: 19.01.05
Откуда: Yar
Сообщение Добавлено: 18 Февраль 2005, 15:56:19 
IonDen666, относительное позиционирование ( relative) на странице применяется только для контейнера, в котором дежат остальные слои. Они в свою очередь координаты имеют АБСОЛЮТНЫЕ относительно контейнера.

А про флоат: лефт это не я писал, флоат <sergio.ga> указывал :)))
Там он совершенно ни к чему, проблема этим не решается.

В опере все слои кроме контейнера уезжают по своим абсолютным координатам к левому краю...
Хотя по стандартам CSS2 должны ьболтаться относительно слоя в который входят.

_________________
(c) Sander
IonDen666 Муж.
постоянный участник
109
Сообщения: 3234
Зарегистрирован: 25.11.04
Откуда: Москва
Сообщение Добавлено: 18 Февраль 2005, 16:04:37 
А у тебя какая Опера, только что проверил в 7.54 - все гуд.

_________________
Frontend developer: IonDen.com
Sander Муж.
новый человек
0
Сообщения: 35
Зарегистрирован: 19.01.05
Откуда: Yar
Сообщение Добавлено: 18 Февраль 2005, 16:16:48 
Версия
7.03
Сборка
2670
Платформа
Win32
Система
Windows XP

У меня то на машине зоопарк :)
Но суть не в этом, мне интересно с какой версии ИЕ полнростью поддерживает CSS2.
Ведь если пользователю такая каша покажется как у меня...

_________________
(c) Sander
IonDen666 Муж.
постоянный участник
109
Сообщения: 3234
Зарегистрирован: 25.11.04
Откуда: Москва
Сообщение Добавлено: 18 Февраль 2005, 16:39:17 
Sander, 7.03 ;-) убери нафик! Глючная это версия. Ставь 7.54u2 - не ошибешся

CSS2 - нигде не поддерживается полностью. :laugh: но больше всего в FireFox и Opera 8 :gent:

Может в IE7 все будет гуд... но это навряд ли. :laugh:

_________________
Frontend developer: IonDen.com
Акела в натуре
Элитарная оппозиция.
6
Сообщения: 1834
Зарегистрирован: 28.12.04
Сообщение Добавлено: 18 Февраль 2005, 16:41:23 
Sander, про поддержку стандартов - RTFM. А на старую Оперу или забейте, или рисуйте CSS в зависимости от браузера динамически. Что тоже не сложно.
Sander Муж.
новый человек
0
Сообщения: 35
Зарегистрирован: 19.01.05
Откуда: Yar
Сообщение Добавлено: 18 Февраль 2005, 16:55:50 
Акела в натуре, тяжело, для пользователя (время загрузки), поисковики за редирект пинать будут (критично).

_________________
(c) Sander
Акела в натуре
Элитарная оппозиция.
6
Сообщения: 1834
Зарегистрирован: 28.12.04
Сообщение Добавлено: 18 Февраль 2005, 17:06:06 
Sander, а кто тут говорил о редиректе??? :eek:
Я Вам в соседнем топике сказал: изучите ЧТО ПЕРЕДАЁТСЯ НА СЕРВЕР ДО ЗАГРУЗКИ. Один способ. И ещё два связаных с возможностями document.write в ЯваСкрипте.
IonDen666 Муж.
постоянный участник
109
Сообщения: 3234
Зарегистрирован: 25.11.04
Откуда: Москва
Сообщение Добавлено: 18 Февраль 2005, 17:28:41 
На php это можно сделать например так (при этом броузеру уже будет передан нужный css файл и никаких редиректов ;) ):

Код:
<?
$userAgent=$_SERVER['HTTP_USER_AGENT'];
    $version=0;
    $part=explode("MSIE",$userAgent);
    if(sizeof($part)>1)
    {
    // IE detected
    $version=explode(";",$part[1]);
    if(sizeof($version)>1)
    {
        $version=(float)($version[0]);
        }
    }
    if($version==0)
    {
    //any other
?>
<style type="text/css" media="all">@import url("css/mozilla.css");</style>
<?
    }
    elseif($version>=6)
    {
    // ie 6
?>
<style type="text/css" media="all">@import url("css/ie6.css");</style>
<?
    }
    else
    {
    // ie 5
?>
<style type="text/css" media="all">@import url("css/ie5.css");</style>

<?
    }
 
?>


_________________
Frontend developer: IonDen.com
Акела в натуре
Элитарная оппозиция.
6
Сообщения: 1834
Зарегистрирован: 28.12.04
Сообщение Добавлено: 19 Февраль 2005, 01:37:44 
IonDen666, гуманист...
<sergio.ga>
новый человек
0
Сообщения: 102
Зарегистрирован: 13.06.03
Откуда: Харьков, Украина
Сообщение Добавлено: 21 Февраль 2005, 13:03:28 

Sander писал(а):
А про флоат: лефт это не я писал, флоат <sergio.ga> указывал :)))
Там он совершенно ни к чему, проблема этим не решается.


sergio.ga, как обычно, отпостился не разобравшись в задаче.
Да, одного float не достаточно, но, повторяю, абсолютное позиционирование здесь не нужно.
На float-ах и код будет меньше, и совместимость больше.
Sander Муж.
новый человек
0
Сообщения: 35
Зарегистрирован: 19.01.05
Откуда: Yar
Сообщение Добавлено: 25 Февраль 2005, 10:50:55 
IonDen666, вот за это дейтсвительно спасибо, за конструктив в смысле :))

_________________
(c) Sander
IonDen666 Муж.
постоянный участник
109
Сообщения: 3234
Зарегистрирован: 25.11.04
Откуда: Москва
Сообщение Добавлено: 25 Февраль 2005, 15:24:46 
Sander, :beer: не за что.

_________________
Frontend developer: IonDen.com
Kurilshik
Goldmember
142
Сообщения: 12797
Зарегистрирован: 18.10.04
Откуда: Кожаное кресло
Сообщение Добавлено: 25 Февраль 2005, 16:55:01 
Sander, у меня в этой версии на сайте исчезают полосы прокрутки.
В новой версии багов с позиционированием нет

_________________

Портфолио - ЖЖ - Кулинарные рецепты - Блог о дизайне, уроки фотошоп

icq: 295346452 | Почта: info()alexey-popov.com

.
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 16 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100