web-dev-qa-db-ja.com

asp.net FileUploadコントロールの参照ボタンのみにCSSを適用する

このようなFileUploadコントロールがあります

<asp:FileUpload ID="fileuploader" runat="server" />

今、私はCSSを参照ボタン部分にのみ適用したい

alt text

これどうやってするの?

16
Mohammad Nadeem

inputタグをtype="file"でスタイリングするには少し手間がかかりますが、残念ながらスタイルを設定しようとしてもブラウザは同様に動作しません。

ただし、いくつかの方法があります。

13
wsanville

どうやらCSSで直接スタイルを設定することはできませんが、新しいスタイルをCSSに「ハッキング」することはできます-詳細については次の記事を読んでください

http://www.quirksmode.org/dom/inputfile.html

6
stack72

これは、次のコードを使用してFileUploadコントロールを変更できます。

ステップ1:aspxページでこのコードを使用してFileUploadコントロールを変更します

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

ステップ2:メインCSSファイルに以下のCSSコードを追加します

.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;
}

完了しました。

6

このビデオをチェックして、追加のボタンを追加する必要がありますが、機能します https://youtu.be/_O9YVO-Z-Xo

2
Adn