0

我希望你能帮助我解决 IE9 中 HTML5 的简单问题在我的代码中,我有几件事:

<input type="text" id="fn" name="fn" placeholder="Street" autofocus/>
---------------------------------------------------------------------
/* INPUT TEXT */
input[type="text"]
{
    border:2px solid #dadada;
    border-radius:7px;
    font-size:16px;
    padding:5px; 
}

input[type="text"]:focus
{ 
    outline:none;
    border-color:#9ecaed;
    box-shadow:0 0 10px #9ecaed;
}

在 Opera、Chrome 和 Firefox 中一切都很好,但在 IE9 中什么都没有……我试图在链接 CSS 文件之前在 head 中包含以下行:

<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

你有任何想法如何解决这个问题吗?这个 CSS 在 IE9 中不起作用(在 IE9 中是正常输入),在 Opera、Chrome、Firefox 中是很好的半径和颜色输入。

4

1 回答 1

4

我看到 IE9 和 Opera/Chrome/Firefox 之间唯一不同的问题是它不支持placeholderHTML5 属性。您可以查看此 jsFiddle 以验证 IE9 http://jsfiddle.net/dndrS/中的损坏行为,还可以参考CanIUse以查看对输入占位符属性的支持。

IE10 确实支持 placeholder 属性,因此您可以升级,或者如果您想支持 IE9,那么您可以使用 Mathias Bynens 的以下polyfill https://github.com/mathiasbynens/jquery-placeholder。这是一个使用在 IE9 中工作的 polyfill http://jsfiddle.net/nyTMw/的 jsFiddle

寻找其他 polyfill 的便捷网站是http://html5please.com/

于 2013-03-15T02:45:26.830 回答