У меня (еще одна) странная проблема с IIS. При просмотре страницы ASPX я разработан на моей локальной машине , перейдя по ссылке http://localhost/page.aspx
выглядит страницы , как ожидается (и выглядит так же в IE, Firefox и Chrome. Если я изменяю localhost
к my_hostname
странице визуализируется с отключенной вертикальной полосой прокрутки.
Такое поведение впервые было замечено, когда я опубликовал свой сайт на нашем работающем сервере и увидел такое же несоответствие. После того, как я ударился головой о стену, я попробовал то, что описал выше, и смог повторить мою «проблему». Итак, с этим я обращаюсь к вам, ребята.
На самом деле это не будет проблемой (за исключением кросс-браузерной несогласованности), за исключением того, что это приводит к «абсолютному» позиционированию, <div>
перемещая его частично на экране, а не центрируется так, как должно быть (и при просмотре любым другим способом). кроме как в IE, когда адрес не локальный)
В качестве другого теста я добавил новую страницу aspx в свой проект и не добавил и не изменил код по умолчанию. Если я перехожу на страницу с помощью localhost, полоса прокрутки отсутствует. Если я перехожу на страницу, используя my_hostname, полоса прокрутки там. Как бы то ни было, это приводит к тому, что обработка CSS в IE облажается, и вначале все работает одинаково во всех браузерах, в которых я тестирую, а затем IE просто устанавливает свои собственные правила. Это невероятно расстраивает, и я очень надеюсь, что просто делаю что-то не так, и это не является врожденной проблемой.
<div>
блок, в котором он находился, и установив отрицательное поле. Ни в коем случае не изящное исправление, но такова жизнь при обеспечении кросс-браузерной совместимости. Было бы неплохо выяснить, почему это так отличается.Ответы:
Я знаю, что это старая тема, но я столкнулся с той же проблемой. Если вы используете IE8, проблема может заключаться в представлении совместимости. По умолчанию сайты в вашей локальной интрасети - но НЕ localhost - отображаются в представлении совместимости IE7. Больше информации здесь:
http://msdn.microsoft.com/en-us/library/cc288325%28VS.85%29.aspx
К сожалению, это не помогает избавиться от отключенной полосы прокрутки, но объясняет несоответствие.
источник
Проблема заключается в настройках представления совместимости IE8. По умолчанию сайты интрасети (ваш сервер) отображаются в режиме совместимости. Чтобы переопределить это поведение, вы должны добавить следующий код в ваш код за страницей aspx.
Это сработало для меня.
источник
Response.AppendHeader("X-UA-Compatible", "IE=8");
кPage_Load
методу в вашемSite.master.cs
файле.В IE9 работающие сайты
localhost
автоматически отображаются в режиме совместимости. Чтобы изменить это поведение (по умолчанию), сделайте следующее:источник
Вот пост на StackOverflow об этом
в основном измените верхнюю часть вашего HTML-макета или MasterPage (после
<%@...%>
) на:источник
CSS не должен зависеть от URL. Есть ли шанс, что у вас есть скрытый текст с URL-адресом где-то в теле, которое вызывает его смещение? Если вы просматриваете источник файла в обеих ситуациях с помощью инструмента, такого как http://www.quickdiff.com/ , есть ли что-то между ними?
источник
Исправление, которое @Claire применимо и к IE 11 . У меня были проблемы, когда css не применялся при доступе к сайту через имя хоста сервера, но локальный хост отображался нормально.
Исправить:
Я не уверен, почему localhost не считается сайтом интрасети .
источник
Просто чтобы заявить, что у меня была проблема, аналогичная OP, и применение кода, предложенного Сержем Саганом, на главной странице моего сайта, но изменил IE = Edge на IE = 11, теперь, когда он опубликован, все отображается так, как должно.
источник