Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IE10中开发版本和发布版本之间的CSS行为差异_Css_Asp.net_Iis_Internet Explorer 10 - Fatal编程技术网

IE10中开发版本和发布版本之间的CSS行为差异

IE10中开发版本和发布版本之间的CSS行为差异,css,asp.net,iis,internet-explorer-10,Css,Asp.net,Iis,Internet Explorer 10,我们已经创建了一个ASP.NET网站,到目前为止,我们使用的小CSS工作得很好。我们在IE 10.0.9200.16899中的虚拟机上进行了测试。现在我们已经在IIS 7中的开发服务器上发布了该网站,以进行测试,当我在VM上打开该网站(打开相同的浏览器)时,存在布局差异;有些严重,有些不太严重 举个例子:(1)我们使用的是基础设施组件,它们的样式在很大程度上似乎与原始组件非常接近(字体大小、符号大小等方面存在一些差异,但差异非常小) (2) 引导导航栏中的以下悬停转换适用于从VisualStud

我们已经创建了一个ASP.NET网站,到目前为止,我们使用的小CSS工作得很好。我们在IE 10.0.9200.16899中的虚拟机上进行了测试。现在我们已经在IIS 7中的开发服务器上发布了该网站,以进行测试,当我在VM上打开该网站(打开相同的浏览器)时,存在布局差异;有些严重,有些不太严重

举个例子:(1)我们使用的是基础设施组件,它们的样式在很大程度上似乎与原始组件非常接近(字体大小、符号大小等方面存在一些差异,但差异非常小)

(2) 引导导航栏中的以下悬停转换适用于从VisualStudio中启动的站点,但不适用于开发服务器上部署的版本。但是,颜色是正确的,悬停颜色也会改变;部署版本中缺少的是转换

.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。非常感谢您的任何意见和建议

您可能有一个浏览器处于兼容模式,或者正在使用F12开发人员工具将其呈现为IE/quirks模式的旧版本。

您是否有任何一个浏览器的兼容视图,或者你正在使用开发人员工具将它们呈现为早期版本/怪癖模式吗?@BFDatabaseAdmin你似乎了解到了一些东西。当我点击开发版本中的兼容性模式图标时(现在是蓝色的;这意味着我猜是开着?),网站的行为方式是相同的-错误的-方式。但是当我打开已部署的版本时,没有兼容性图标:-/我将尝试找出如何在HTML中设置(或者不设置)兼容性模式。看看IE开发者工具(F12),其中可能有一个设置已关闭。不过,没有两个浏览器,这正是困扰我的。它是同一个浏览器。我甚至可以从VS(F5)中打开页面,然后在中打开一个新选项卡,然后打开IE10以显示部署的页面,它们有所不同。奇怪的是,在开发页面上打开兼容性模式会使它和部署的版本一样糟糕,但在那里我无法关闭它。如果可能的话,我将尝试将页面设置更改为从不使用兼容模式,然后接受您的答案(如果有效:)您知道如何以编程方式禁用站点的兼容模式吗?或者至少让它默认关闭?由于开发人员工具显示IE10的兼容性视图已启用,但我还没有在任何地方设置此选项,并且将使用此站点的客户端根本无法打开/关闭此设置。Hmmm。。。也许你的代码中有个错误。我不认为有一种方法会有问题地禁用它,但是如果代码中出现大错误,它将默认打开。我接受了你的答案,因为它正确地指出了发生这种情况的原因。但这不是一个代码错误;我发现IE选项是选中的,它显示每个intranet站点处于兼容模式。我似乎无法“修复”这个:/I我可以设置“IE=edge”,但它以另一种方式破坏了我的设计,兼容性仍然存在。我希望我能找到另一种方法来解决这个问题,但这似乎不太可能。禁用此选项是管理员必须在全局范围内执行的操作,但不能肯定,因为intranet中运行着许多旧的应用程序。是的!一年前我自己发现了这个。