所有分类
  • 所有分类
  • 后端开发
HTML5+CSS3助力上传:告别繁琐插件,轻松拖动、预览、批量处理

HTML5+CSS3助力上传:告别繁琐插件,轻松拖动、预览、批量处理

本篇文章主要介绍了html5+css3实现无插件拖拽上传图片(支持预览与批量),现在html5提供了api以及file,filereader,xmlhttprequest等强大的api,为我们拖放实现上传提供了可能。

想要搞定网上传图?其实没那么难!传统方法就是用 form 或 flash,但现在 HTML5+CSS3 变化多端,有了它们的帮忙,上传就可以不用插件,而且还能拖动、预览和批量处理~下面就告诉你怎么玩转这个技术。

1. HTML5 API介绍

HTML5给前端技术哥们儿们整出来不少好用的API,比如File啦、FileReader啦、XMLHttpRequest之类的神器,拖拽上传都能搞定。用上这玩意儿,处理文件、翻阅文件内容和跟服务器传文件就像吃饭喝水那么简单,让你的上传过程变得溜溜的。

2.传统上传方式对比

咱们说老办法如FORMsubmit,得让整个页面都刷新,那就不太适合我们用了。不然说说Flash?倒是兼容好点,不过得装个小配件才能用。换句话说,你想通过HTML5来传图的话,就能解决页面刷新这个问题了,而且现代的浏览器都能轻松驾驭,用起来也舒心!

3. HTML结构设计

要想实现无插件的拖拽上传图片功能,那HTML的结构得弄明白才行。可以拿一个p元素和ul li元素组一下,搞成上传图片的小盒子。在li里头放上显示图片的img标签,再加个span元素,就能看到进度条和百分比数。等到进度到100%,就会出现正确的图示,简单明了又好看!

4. CSS样式设计

要搞定上传图片那方面的布局和样式,我们完全可以借助CSS来完成。通过调整位置之类的属性,就能让图片、进度条和百分比数字这些小元素乖乖听话,按咱们的想法来排列展示,最后给大家呈现一个既漂亮又容易看懂的界面。

5.效果图展示

文章里有效果图1和效果图2,很清楚地展示了没有插件就可以直接拖动上传图片这个功能!你看那边那个进度条,从左往右慢慢地上升;还有那几个小数字,也在告诉你进度是多少;最后上传完了之后,右上角还有个小小的图标出现,表示成功!

  
  
  
      
      
      
      
  
  
  
  
  

  • HTML5+CSS3助力上传:告别繁琐插件,轻松拖动、预览、批量处理
  • HTML5+CSS3助力上传:告别繁琐插件,轻松拖动、预览、批量处理 12%
  • HTML5+CSS3助力上传:告别繁琐插件,轻松拖动、预览、批量处理

6.代码分析与优化

这儿的代码有点多不过别急,咱们把重点放在HTML跟CSS那儿。这样子调整一下代码,不仅能让网页加载快些,还能提升用户感受。另外,有个小技巧就是用工具把这些代码给压缩并合到一起,这样文件就能变小了,网页的表现也更棒!

7.兼容性处理与错误调试

你知道吗?做网站开发时,不同浏览器对HTML5和CSS3的支持不太相同!所以为了防止功能失效,我们需要在各种主流浏览器上都要搞好兼容性。另外,开发过程中肯定少不了排错环节!

8.用户体验优化

除了最基础的功能之外,我们可以在用户体验上做更多更好的优化比如加上些文件类型呀、大小限制呀这样的东西,还有就是拖拽互动提示啥的,都能让用起来更方便更舒适!

9.总结与展望

body  
{  
    background: #eee;  
}  
  
#uploadBox  
{  
    width: 622px;  
    height: 362px;  
    background-color: #fff;  
    border: 1px solid #777;  
    margin: 120px auto;  
}  
  
#uploadBox ul li  
{  
    float: left;  
    position: relative;  
    margin-left: 5px;  
    margin-top: 5px;  
}  
  
#uploadBox  li img  
{  
    border: 1px solid #D1D1D1;  
    width: 198px;  
    height: 112px;  
    vertical-align: middle;  
}  
  
#uploadBox  li  .percentage  
{  
    width: 69px;  
    height: 69px;  
    position: absolute;  
    left: 50%;  
    top: 50%;  
    margin-left: -34.5px;  
    margin-top: -34.5px;  
    text-align: center;  
    font-size: 18px;  
    line-height: 69px;  
    color: #fff;  
    border-radius: 34.5px;  
    background: rgba(0, 0, 0, .8);  
}  
  
#uploadBox  li.done .percentage  
{  
    background: url("images/done.png") no-repeat 0 0;  
    text-indent: -1000em;  
}  
  
#uploadBox li .progress  
{  
    position: absolute;  
    height: 22.4px;  
    bottom: 0px;  
    width: 200px;  
    background: #000;  
    opacity: .5;  
}  
  
.clearfix  
{  
    clear: both;  
}

这篇文章教你怎么用HTML5和CSS3做个不需要插件就能拖拽上传图片的功能。我们深入聊了聊这个事儿。以后互联网技术越来越发达,我觉得肯定还会有更牛的解决方案出来。希望大家看完能有点儿启发,以后在你们的项目里面也能用得上这些新技术!

原文链接:https://www.icz.com/technicalinformation/web/vue2/2024/04/13679.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?