如何将CSS应用于ASP:FileUpload Control

时间:2010-08-11 18:56:37

标签: asp.net

我该如何设置此控件的样式?

我试过这个,但它不起作用。

<asp:FileUpload id="upload_tb" runat="server" />

#upload_tb
{
  width: 500px;
}

另外,如何设置此控件附带的浏览按钮的样式?如果不可能有其他替代方案吗?

编辑:

我检查了生成的源代码,asp.net为控件提供了这个id ctl00_main_content_upload_tb

我将CSS更改为

#ctl00_main_content_upload_tb
{
  width: 500px;
}

但它没有拉伸控制。它在控件右侧添加填充。有什么想法吗?

2 个答案:

答案 0 :(得分:5)

你无法正式设置文件类型(*)的输入(这是FileUpload控件在页面上呈现的内容),但有一些方法可以使用一些Javascript&amp; /或CSS - 请参阅http://www.quirksmode.org/dom/inputfile.htmlhttp://tiagoe.blogspot.com/2010/01/css-style-typefile-tags.html - 但这不是微不足道的。

(*)这是一项安全措施

答案 1 :(得分:0)

您可以使用以下代码更改FileUpload控件。

步骤1:在aspx页面上使用此代码更改FileUpload控件。

<label class="file-upload"> <span><strong>Upload Image</strong></span> <asp:FileUpload ID="FileUpload1" runat="server" > </asp:FileUpload> </label>

**

.file-upload {
    display: inline-block;
    overflow: hidden;
    ;
    text-align: center;
    vertical-align: middle;
    font-family: Arial;
    border: 1px solid #124d77;
    background: #007dc1;
    color: #fff;
    border-radius: 6px;
    -moz-border-radius: 6px;
    cursor: pointer;
    text-shadow: #000 1px 1px 2px;
    -webkit-border-radius: 6px;
}

    .file-upload:hover {
        background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #0061a7), color-stop(1, #007dc1));
        background: -moz-linear-gradient(top, #0061a7 5%, #007dc1 100%);
        background: -webkit-linear-gradient(top, #0061a7 5%, #007dc1 100%);
        background: -o-linear-gradient(top, #0061a7 5%, #007dc1 100%);
        background: -ms-linear-gradient(top, #0061a7 5%, #007dc1 100%);
        background: linear-gradient(to bottom, #0061a7 5%, #007dc1 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0061a7', endColorstr='#007dc1',GradientType=0);
        background-color: #0061a7;
    }

/* The button size */
.file-upload {
    height: 30px;
}

    .file-upload, .file-upload span {
        width: 90px;
    }

        .file-upload input {
            ;
            top: 0;
            left: 0;
            margin: 0;
            font-size: 11px;
            font-weight: bold;
            /* Loses tab index in webkit if width is set to 0 */
            opacity: 0;
            filter: alpha(opacity=0);
        }

        .file-upload strong {
            font: normal 12px Tahoma,sans-serif;
            text-align: center;
            vertical-align: middle;
        }

        .file-upload span {
            ;
            top: 0;
            left: 0;
            display: inline-block;
            /* Adjust button text vertical alignment */
            padding-top: 5px;
        }

**