当前位置: 首页 > 面试题库 >

Twitter Bootstrap表单文件元素上载按钮

充普松
2023-03-14
问题内容

为什么没有用于Twitter引导程序的精美文件元素上载按钮?如果为上传按钮实现了蓝色的主按钮,那就太好了。甚至可以使用CSS精细化上传按钮吗?(似乎是无法操纵的本机浏览器元素)


问题答案:

这是Bootstrap 3和Bootstrap 4的解决方案。

要制作看起来像按钮的功能文件输入控件,您只需要HTML:

的HTML

<label class="btn btn-default">
    Browse <input type="file" hidden>
</label>

这适用于所有现代浏览器,包括IE9 +。如果您还需要对旧IE的支持,请使用下面显示的旧方法。

此技术依赖于HTML5 hidden属性。Bootstrap 4使用以下CSS在不支持的浏览器中填充该功能。如果您使用的是Bootstrap
3,则可能需要添加。

[hidden] {
  display: none !important;
}

旧版IE的旧版方法

如果您需要对IE8及以下版本的支持,请使用以下HTML / CSS:

HTML

<span class="btn btn-default btn-file">
    Browse <input type="file">
</span>

CSS

.btn-file {
    position: relative;
    overflow: hidden;
}
.btn-file input[type=file] {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 100%;
    min-height: 100%;
    font-size: 100px;
    text-align: right;
    filter: alpha(opacity=0);
    opacity: 0;
    outline: none;
    background: white;
    cursor: inherit;
    display: block;
}

请注意,当您单击时,旧的IE不会触发文件输入<label>,因此CSS“膨胀”可以解决以下问题:

  • 使文件输入跨越周围的整个宽度/高度 <span>
  • 使文件输入不可见


 类似资料:
  • 主要内容:HTML5 新的表单元素,HTML5 <datalist> 元素,实例,HTML5 <keygen> 元素,实例,HTML5 <output> 元素,实例,HTML5 新表单元素HTML5 新的表单元素 HTML5 有以下新的表单元素: <datalist> <keygen> <output> 注意:不是所有的浏览器都支持HTML5 新的表单元素,但是你可以在使用它们,即使浏览器不支持表单属性,仍然可以显示为常规的表单元素。 HTML5 <datalist> 元素 <datalist>

  • HTML5 新的表单元素 HTML5 有以下新的表单元素: <datalist> <keygen> <output> 注意:不是所有的浏览器都支持HTML5 新的表单元素,但是你可以在使用它们,即使浏览器不支持表单属性,仍然可以显示为常规的表单元素。 HTML5 <datalist> 元素 <datalist> 元素规定输入域的选项列表。 <datalist> 属性规定 form 或 input

  • 本文向大家介绍Bootstrap导航栏各元素操作方法(表单、按钮、文本),包括了Bootstrap导航栏各元素操作方法(表单、按钮、文本)的使用技巧和注意事项,需要的朋友参考一下 本文主要包括三大方面,大家仔细学习。 1、导航栏中的表单 导航栏中的表单不是使用 Bootstrap 表单 章节中所讲到的默认的 class,它是使用 .navbar-form class。这确保了表单适当的垂直对齐和在

  • 所有的表单元素都是由标准的html元素控制的,然后又得到增强,使他们更吸引人并且容易使用。在不支持Jquery Mobile的浏览器下仍然是可用的,因为它们都是基于原生的html元素. 表单基础 Form basics Jquery Mobile提供了一套完整的,适合触摸操作的表单元素,他们都是基于原生的html元素 表单结构 Form structure 所有的表单都应该被包裹在一个form标签

  • 我有一个案例像在我的表格(前端),我可以填写个人数据(姓名,地址,DOB)然后我可以附上多个图像。 在我的spring boot控制器中: 我的模型包装: 更新的前端代码: 使用formdata更改了前端代码,然后在后端出现错误: