【问题标题】:On my ASP.NET site: Input[type='file'] looks 'old' in IE11在我的 ASP.NET 站点上: Input[type='file'] 在 IE11 中看起来很“旧”
【发布时间】:2014-03-14 19:16:03
【问题描述】:

在我的 ASP.NET 网站上,<input type="file"> 在 IE11 中呈现如下(老式外观):

但是,我希望它看起来像这样(更现代的外观):

当在其他地方尝试<input type="file"> 时,例如JSFiddle,看起来我想要它(更现代的外观)。

我尝试使用 F12 开发工具跟踪 CSS 样式,但我看不到任何样式导致老式外观。 我正在使用<!DOCTYPE html>

我的问题:什么可能导致老派的外观?

【问题讨论】:

  • 总猜测:你设置了兼容模式吗?

标签: asp.net internet-explorer-11 input-type-file


【解决方案1】:

IE11 以这种方式呈现。

如果你想改变它,你应该使用 CSS,但这通常并不容易。

我通常做的是创建我自己的假组件,输入类型文本和按我想要的方式设置样式的按钮。

我还隐藏了一个输入类型文件,当我按下我的样式按钮时,我通过 javascript 发送点击到隐藏的输入类型文件。选择文件后,我会使用选定的文件名更新我的样式输入类型文本。

【讨论】:

  • 奇怪的是,两个图像都是在同一个 IE11 实例中的同一个 <input type="file"> 标签的渲染......“唯一”的区别是上下文。
  • 可能 JSFiddle 添加了一些 CSS 层来提供不同的外观。只信任浏览器在纯 html 文件中显示的内容。
  • 在尝试包含以下内容的完全普通的 html 文件时,它会根据需要呈现(现代外观):<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"></head><body><input type="file"></body></html>
  • 然后有些东西正在修改您页面上的样式,开始从您的输出中剥离 css 文件。
猜你喜欢
  • 2019-09-07
  • 1970-01-01
  • 2017-10-21
  • 2013-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-14
  • 2015-02-09
相关资源
最近更新 更多