【问题标题】:Applying css on asp.net FileUpload Control's Browse Button only仅在 asp.net FileUpload 控件的浏览按钮上应用 css
【发布时间】:2011-04-23 19:00:07
【问题描述】:

我有一个像这样的 FileUpload 控件

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

现在我只想在浏览按钮部分应用 css

我该怎么做?

【问题讨论】:

    标签: c# .net asp.net css


    【解决方案1】:

    显然您不能直接使用 CSS 设置样式,但您可以在其中“修改”新样式 - 请阅读以下文章了解详细信息

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

    【讨论】:

      【解决方案2】:

      使用type="file"input 标签设置样式需要一些工作,不幸的是,当您尝试设置它们的样式时,浏览器的行为并不相似。

      不过有几种方法可以做到这一点:

      【讨论】:

      • 第二个链接没有找到。
      【解决方案3】:

      您可以使用以下代码更改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;
      }
      

      完成了。

      【讨论】:

      • 这个答案帮助我想出了满足我要求的解决方案。我只需要使用图像而不是默认的“选择文件”按钮。我只是将图像和文件上传控件包装在一个标签中,如此处所述,但我摆脱了大部分样式并且不需要文本样式。非常感谢你!这是迄今为止我遇到的最好的解决方案!
      • 这个解决方案很有帮助。但我不知道为什么设计违反了自己。每当我单击按钮时,按钮上的文本都会向上移动,并且它永远不会回到中心 tinypic.com/r/2646sdh/9
      • 谢谢。我刚刚收到我们的邮件,附件脚本正在运行和修复,以便将其添加到我们的站点以进行新的更新,而您在此处提供的带有 CSS 优点的配色方案正是我们所需要的。所以,非常感谢。
      【解决方案4】:

      观看此视频,您必须添加一个额外的按钮,但它可以工作 https://youtu.be/_O9YVO-Z-Xo

      【讨论】:

      • @adn 请您分享您在视频中使用的 CSS。谢谢
      猜你喜欢
      • 2012-05-07
      • 2012-07-23
      • 2010-09-10
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多