仅为IE8以上设置样式

set style for above IE8 only

本文关键字:设置 样式 IE8 仅为      更新时间:2023-09-26

我有一个ASP。. NET文件上传控制。给自定义样式浏览按钮的文件上传控制,我写下面的代码:

label.choose:before {
        background: #f07222 none repeat scroll 0 0;
        border: 0 none;
        border-radius: 5px;
        color: #fff;
        cursor: pointer;
        font-weight: bold;
        padding: 4.5px 12px;           
        text-transform: uppercase;
        content: 'Browse';
        position: absolute;
        -webkit-margin-before: -2px;
        -webkit-padding-start: 19px;
        -webkit-padding-end: 19px;
    }
 <label class="choose">
      <asp:FileUpload ID="FileUpload_DataFile" runat="server" />
 </label>

它在FireFox和Chrome中工作良好。但是在IE中浏览按钮显示在输入文本的右侧。在FF和Chrome中,它的显示在左侧。所以我的代码不工作在IE。如果我加上

margin-left:141px;

仅适用于IE,但如何仅为IE浏览器添加此属性?我有IE11。我想在IE8以上的浏览器上这样做。当我对此进行研究时,我发现了IE的条件样式,但它在IE9以上不起作用。

是否有可能只应用自定义样式的文件上传按钮?如果是,请给我这个代码示例?

任何解决方案添加风格仅为IE?或者有其他方法吗?

我的问题有答案了!!

只写下面的代码来设置IE的css样式

_:-ms-input-placeholder, :root .choose:before {                
            margin-left: 141px;               
        }

这在IE11中工作得很好…!!