css - IE7 文本输入背景滚动

标签 css internet-explorer-7

我想我们大多数人都知道 IE7 中这个烦人的错误,如果输入的文本长于文本输入的宽度,文本输入的背景图像将滚动。

Numerous questionsaskedblogged .

这些问题和帖子都需要用 div 包裹文本输入。这是我不能做的事情,因为我正在使用 CMS 生成的标记。

但是,我想优雅地降低体验。对于 IE7 及以下版本,我很高兴不显示背景图像而只显示一种颜色。

这是正在使用的 css:

form input[type="text"], form input[type="password"]{
    background-image: url('bg.png');
    background-repeat: no-repeat;
    background-size: 100% 100%;

    padding-left: 4px;
    padding-right: 4px;

    width: 100%;
    height: 30px;
        border: #008296 1px solid;
}

我已经尝试添加 background-attachment: fixed 但背景图像不再显示在所有版本的 IE、firefox 和 chrome 中!由于我只希望 IE7 及以下版本具有这种行为,除了创建仅适用于 IE7 的样式表之外,我如何才能做到这一点?

最佳答案

您始终可以使用 IE7 特定的 CSS 选择器过滤器来覆盖您想要的 IE7 样式。

要创建一个仅适用于 IE7 的类,只需将 *:first-child+html 放在您的类名前面即可。

另一种选择是声明特定于 IE 的 CSS 规则(又名 IE CSS hacks)。这将涉及在仅适用于 IE7 及以下版本的属性前放置一个星号 (*)。不过这并没有受到高度重视,因为它不是有效的 CSS 语法。

您可能会发现这个站点对处理 IE 和 CSS 黑客很有趣:http://www.javascriptkit.com/dhtmltutors/csshacks2.shtml

关于css - IE7 文本输入背景滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9124290/

相关文章:

html - 为什么我的 HTML 页面在 IE7 中有额外的宽度?

隐藏在内容 IE7 后面的 CSS 下拉菜单

html - 如何在IE7中设置下拉菜单项的背景颜色宽度?

javascript - 字符串的大写首字母在 IE7 中崩溃

css - 我可以隐藏 :before or :after element if the original div has no content? 吗

html - 是否使用像 :first-child or :last-child 这样的伪元素

html - 即使顶部为 :1000px,元素也卡在右上角

html - IE7中的水平滚动条

php - 将 Div 作为 Google 文档中的页面并粘贴拆分内容?

html - CSS 边框图像线性渐变