#css #position #absolute
#css #позиция #абсолютное
Вопрос:
Почему это приводит к разным позициям в разных браузерах?
{
position: absolute;
left:332px;
top: 210px;
width: 293px;
height: 215px;
border: 1px solid #000000;
background-color: #143f72;
-moz-border-radius: 10px;
-ms-border-radius: 10px;
-webkit-border-radius: 10px;
-khtml-border-radius: 10px;
}
В IE оно смещено влево примерно на 100 пикселей по сравнению с Firefox, а в Chrome — на 100 пикселей вправо относительно FF … Почему?
Редактировать: html-это просто <div id="container"><div id="the_css_above_div"></div></div>
#container
имеет следующий css:
#container{
float:left;
width: 632px;
}
Спасибо!
Комментарии:
1. нужен HTML-код, чтобы разобраться в этом.
2. Только что проверил это в IE8, FF и Chrome. Кажется, ни на одном из них нет никакой разницы. Проверьте jsfiddle.net/EQn2E . Нужно было бы просмотреть другой код, чтобы понять, есть ли проблема.
3. html — это просто <идентификатор div=»that_css_id»></div>
4. Если вы действительно хотите разобраться в этом, создайте полный тестовый пример, используя jsFiddle или JS Bin . Или предоставьте прямую ссылку на свою страницу.
5. Добавление
position: relative
в контейнер может устранить проблемы, с которыми вы сталкиваетесь, но это всего лишь предположение. Рекомендуем предоставить ссылку на тестовую страницу, как предлагали @thirtydot и @anothershrubery. 🙂
Ответ №1:
Заставил это работать… Родительский div должен иметь position:relative
в своем объявлении CSS. Если кто-нибудь столкнется с этой проблемой, проверьте свой родительский div 🙂
Комментарии:
1. Или предоставить людям, пытающимся помочь, больше информации?
2. Я полагаю, что это верно не только для IE … блоки позиционируются абсолютно по отношению к родительскому элементу, для атрибута position которого установлено значение relative или absolute, или по отношению к окну, если ни у одного родительского элемента не определена позиция…
3. я как раз собирался опубликовать кое-что об этой …. проблеме, с которой я столкнулся, и как только я увидел ваше «получилось», я подумал, ЧЕРТ возьми, я ЗНАЮ ЭТО !!!! лол …… спасибо. 1
4. Спасибо, luqita. Я бы никогда не разобрался в этом без вашего поста. 1
Ответ №2:
Ваш родительский div должен иметь position:relative;
. В противном случае ваша position:absolute;
позиция будет отображаться на всей странице. Если родительский div имеет относительное позиционирование, абсолютный div позиционирует себя на основе своего родителя.