仅为IE8设置样式

时间:2015-10-05 10:34:45

标签: javascript html css asp.net internet-explorer

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

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上面做这个。当我和R&amp; D关于我发现IE的条件样式但它在IE9上面不起作用。

是否可以仅应用自定义样式文件上传按钮?如果是,请为此提供代码示例?

任何只为IE添加样式的解决方案? 或者任何其他方式来做到这一点?

1 个答案:

答案 0 :(得分:0)

我的问题得到了答案!!!

仅为IE设置css样式的以下代码。

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

这适用于IE11 .. !!