改变input的type类型是file的button样式

<input type="file" name="">

<input>标签的type是file就会有上面选择文件的button,点击button可以选择本地文件进行上传。但是默认的button样式太一般了,就会有人想要改变样式。但是这个button的样式是不能修改的,这时候要改变样式只能加上一个外部标签。

/* CSS */
<style type="text/css">
button {
	background: rgb(7,193,96);
	border: 1px solid rgb(7,193,96);
	border-radius: 15px;
	position: relative;
	overflow: hidden;   /* 超出button的input部分会被切掉 */
		}
input {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	opacity: 0;  /* 透明度为零。隐藏input的默认样式,即整个input被隐藏了,但功能还在 */
}
</style>

<!-- html -->
<button type="button">选择文件
	<input type="file" name="">
</button>

 

关键点有以下几个: 

  •  加入外部标签,即给<input>标签加一个父元素,利用父元素设置button的样式;
  • 而<input>本身的样式用opacity属性隐藏;
  • 超出的<input>部分则用overflow砍掉;
  • <input>设置绝对定位,使其在父元素的中间重合;
  • 外部元素不一定要用<button>标签,可以用其他标签,如<a>、<span>等等。
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
HTML中的input类型file的控件在样式上比较特殊,因为浏览器并不允许对其进行太多的自定义样式。不过,可以通过一些技巧来修改它的样式,比如使用伪类选择器、opacity属性等。以下是一些常用的方式: 1. 修改按钮文本 可以使用::before或::after伪元素来修改input file控件的按钮文本: ```css input[type="file"]::-webkit-file-upload-button::before { content: '选择文件'; } ``` 2. 修改按钮样式 可以使用::file-selector-button伪类来选择input file控件的按钮部分,然后设置它的样式: ```css input[type="file"]::-webkit-file-upload-button { padding: 10px; background-color: #f00; color: #fff; border-radius: 5px; border: none; } ``` 3. 修改控件样式 可以使用opacity属性来修改input file控件的样式,使它透明度为0,再使用伪类选择器来选择input file控件的label元素,设置其样式: ```css input[type="file"] { opacity: 0; position: absolute; z-index: -1; } input[type="file"] + label { display: inline-block; padding: 10px; background-color: #f00; color: #fff; border-radius: 5px; border: none; cursor: pointer; } ``` 上面的代码将input file控件设置为透明度为0,然后使用伪类选择器选择input file控件的label元素,设置其样式为红色背景、白色字体的按钮样式。 需要注意的是,不同浏览器对input file控件的样式支持程度不同,上面的代码可能在某些浏览器中无法生效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值