Абсолютное позиционирование в IE6, используя left: 0; и справа: 0; одновременно - PullRequest
2 голосов
/ 09 апреля 2010

Вот мой сайт: http://dagwaging.110mb.com/ Просмотрите его в любом хорошем браузере, затем в IE6. Умирает в IE6. Похоже, что в IE6 это невозможно сделать:

div {
position: absolute;
left: 0px;
right: 0px;
}

или это:

div {
position: absolute;
top: 0px;
bottom: 0px;
}

Абсолютные положения не могут быть установлены для левого и правого или верхнего и нижнего одновременно. Это ужасно, потому что это в значительной степени основа моего дизайна сайта. HTML можно посмотреть на сайте, а CSS в /style.css. Я хотел бы исправить это без аннулирования моего CSS или HTML. Можно ли это сделать?

Другая проблема заключается в том, что мой контент использует минимальную ширину и максимальную ширину, чтобы избежать чрезмерного растяжения или сжатия содержимого внутри. IE6 не может использовать минимальную ширину, так как я могу повторить это поведение?

Ответы [ 3 ]

10 голосов
/ 09 апреля 2010

Что ж, если вы хотите это исправить, взгляните на эту статью в A List Apart, она посвящена именно этой теме (и объясняет, как ее обойти): Конфликт абсолютных позиций

Но лично я бы просто проигнорировал IE6.

0 голосов
/ 16 сентября 2010

Чтобы реализовать ширину на 100% в IE6, добавьте это в ваш код:

<!--[if lt IE 7]>
<style type="text/css">
div {
  width:expression(document.body.clientWidth);
}
</style>
<![endif]-->

Чтобы реализовать высоту на 100% в IE6, добавьте это в ваш код:

<!--[if lt IE 7]>
<style type="text/css">
div {
  height:expression(document.body.clientHeight);
}
</style>
<![endif]-->

Если вам нужен div по всей странице (ширина и высота на 100%), просто объедините эти два атрибута, например:

<!--[if lt IE 7]>
<style type="text/css">
div {
  height:expression(document.body.clientHeight);
  width:expression(document.body.clientWidth);
}
</style>
<![endif]-->
0 голосов
/ 09 апреля 2010

Один из способов избавиться от проблем в IE6 - ИСПОЛЬЗОВАТЬ недостатки IE6, вы знаете, что ширина = 100% в IE6 также содержит отступы и отступы, так что не стоит беспокоиться, но я согласен с приведенным выше ответом, новые браузеры не вижу и того, и другого, так что вы должны выбросить один из них

Что касается min- и max-, единственный способ, которым я смог это сделать, - это jquery, вы всегда можете использовать getBoundingClientRect (JavaScript DOM), который работает только в IE, чтобы определить высоту и ширину, если вы не хотите используйте jquery

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...