发布网友 发布时间:2022-04-23 02:27
共2个回答
懂视网 时间:2022-04-23 06:49
添加样式
如果你阅读到这里的话,你应该看到了效果。长得很丑(事实上没有任何的样式效果)。接下来添加一些样式,让其看起来好看一些。
在每个浏览器中, <input type="file">
的渲染效果是不一样的。如果我们想要一个相同的渲染效果,就需要有一个自定义的样式。那么可以将 input 隐藏,并使用 <label> 替代他。
要隐藏 input ,可以使用 opacity:0 或使用 display:block , visibility:hidden 让其具有可访问性。我们还需要使用 position 和 z-index 两属性,以便把它放在 label 后面:
<template id="fileReader"> <label class="file-reader"> Read File <input type="file" @change="loadTextFromFile" /> </label> </template> .file-reader { position: relative; overflow: hidden; display: inline-block; border: 2px solid black; border-radius: 5px; padding: 8px 12px; cursor: pointer; input { position: absolute; top: 0; left: 0; z-index: -1; opacity: 0; } }
当然,为了好看一些,你还可以给其他元素添加一些样式。最终你看到的效果如下:
相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
推荐阅读:
遍历DOM文档树有哪些方法
Vue如何调用第三方验证码
热心网友 时间:2022-04-23 03:57
可以读文件的啊。