#css #asp.net #iis #internet-explorer-10
#css #asp.net #iis #internet-explorer-10
Вопрос:
Мы создали ASP.NET веб-сайт, и до сих пор тот небольшой CSS, который мы использовали, работал нормально. Мы протестировали на виртуальных машинах в IE 10.0.9200.16899. Теперь мы опубликовали веб-сайт на нашем сервере разработки в IIS 7 для целей тестирования, и когда я открываю сайт на виртуальной машине (открывая тот же браузер), есть различия в макете; некоторые серьезные, некоторые не совсем так.
Чтобы привести примеры: (1) Мы используем компоненты инфраструктуры, и их стиль, по-видимому, по большей части очень близок к оригиналу (некоторые различия в размере шрифта, размере символа, …, но очень маленькие).
(2) Следующий переход при наведении курсора мыши на панели навигации начальной загрузки работает на сайте, который запускается из Visual Studio, но не с развернутой версией на сервере разработки. Цвета верны, хотя цвет при наведении также меняется; это переход, который отсутствует в развернутой версии.
.navbar-default .navbar-brand {
color: #3b3b3b;
transition: color 0.2s ease-out;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
color: #ff9900;
background-color: transparent;
}
(3) Я оформил кнопку так, чтобы она имела градиентный фон и изображение (значок) слева поверх градиента фона, а также один закругленный угол. Но в развернутой версии вся кнопка выделена серым цветом, изображение отсутствует, и я не могу разглядеть закругленный угол. Однако, насколько я могу видеть, остальная часть CSS работает нормально.
.MyButton {
background: url("/img/SomeIcon.png") no-repeat 8px center, -ms-linear-gradient(top, #374a9a 0%, #061671 70%);
border: none;
border-top-right-radius: 5px;
color: white;
/* Some other font stuff and padding that still works fine */
}
Я впервые публикую веб-сайт, и до сих пор я всегда думал, что различия в стиле в основном связаны с различиями в брендах и версиях браузеров. Но эта проблема должна быть чем-то другим, возможно, связанным с IIS? Приветствуются любые предложения или идеи относительно того, почему это может так сильно отличаться. Каким-то образом (2) и (3) кажутся смутно связанными, поскольку как градиент, так и анимация перехода — это то, что я наивно считаю «нуждающимся в каком-то рендеринге».
Может ли быть причиной разница между версиями IIS? Похоже, что Visual Studio размещает приложение в IIS Express (как я могу узнать версию? Я вижу, что установлен IIS Express 8.0, но свойство в моем проекте просто говорит «IIS Express»), в то время как на сервере, на котором размещен сайт, установлен IIS 7.0. Любой вклад или идеи приветствуются!
Комментарии:
1. Есть ли у вас представление совместимости для любого из них, или вы используете инструменты разработчика для отображения их в более ранних версиях / в режиме quirks для любого из них?
2. @BFDatabaseAdmin Вы, кажется, что-то там делаете. Когда я нажимаю на значок режима совместимости в версии разработки (так что теперь он синий; я полагаю, это означает, что ВКЛЮЧЕН?), сайт ведет себя одинаково — неправильно. Но когда я открываю развернутую версию, значок совместимости отсутствует:-/ Я попытаюсь выяснить, как установить (или, скорее, не устанавливать) режим совместимости в HTML.
3. Посмотрите в инструментах разработчика IE (F12), там, вероятно, есть параметр, который отключен.
Ответ №1:
Возможно, у вас один из браузеров либо в режиме совместимости, либо вы используете инструменты разработчика F12 для отображения его как более старой версии IE / режим quirks.
Комментарии:
1. Однако нет двух браузеров, вот что меня беспокоит. Это тот же браузер. Я даже могу открыть страницу из VS (F5), затем открыть новую вкладку в открывшемся затем IE10, чтобы показать развернутую страницу, и они отличаются. Как ни странно, включение режима совместимости на странице разработки делает его таким же плохим, как и развернутая версия, но там я не могу его отключить . Я попробую изменить настройку страницы, чтобы никогда не использовать режим совместимости, если это возможно, а затем принять ваш ответ, если он работает 🙂
2. Есть ли у вас какие-либо идеи, как программно отключить режим совместимости для сайта? Или, по крайней мере, пусть это будет выключено по умолчанию? Поскольку инструменты разработчика показывают, что режим совместимости для IE10 включен, но я нигде этого не устанавливал, и клиенты, которые будут использовать сайт, вообще не имеют возможности включить / выключить этот параметр.
3. Хммм … может быть, где-то в вашем коде ошибка. Я не думаю, что есть способ проблематично отключить его, но он будет включен по умолчанию, если в коде есть большая ошибка.
4. Я принял ваш ответ, поскольку он правильно указывает, почему это происходит. Однако это не ошибка кода; Я обнаружил, что установлен флажок IE, который показывает каждый сайт интрасети в режиме совместимости. Кажется, я не могу «исправить» это: / Я могу установить «IE = edge», но это портит мой дизайн по-другому, и совместимость все еще включена. Я надеюсь, что смогу найти другой способ обойти это, но это кажется маловероятным. Отключение опции — это то, что администратор должен будет сделать глобально, и наверняка не сделает, потому что в интрасети запущено много старых приложений.
5. Да! Я сам столкнулся с этим год назад.