HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)的详情介绍


本文摘自PHP中文网,作者黄舟,侵删。

本篇文章主要介绍了HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量),现在html5提供了API以及File,FileReader,XMLHttpRequest等强大的API,为我们拖放实现上传提供了可能。有兴趣的可以了解一下。

上传基本是项目中经常出现的,一般采用:

1、form提交

2、flash

3、HTML5

form提交会刷新页面,很难做到异步上传;flash可能是用得比较多了,因为可以兼顾到几乎所有的浏览器,我之前一直会用jQuery的uploadify作为项目中的上传工具,uploadify也有基于Html5好像是收费的,大家可以去官网看看;当然了,现在html5提供了API以及File,FileReader,XMLHttpRequest等强大的API,为我们拖放实现上传提供了可能。

效果图1:

效果图2:

由于本地上传实在太快,录了个80M的gif,终于可以看到上传的细节效果了,是不是还是很不错的。

由于代码比较多:

这一片主要讲一下HTML和CSS:

HTML代码:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

<!DOCTYPE html> 

<html

<head

    <title></title

    <meta charset="utf-8"/> 

    <link href="reset.css" type="text/css" rel="stylesheet"/> 

    <link href="01.css" type="text/css" rel="stylesheet"/> 

   

</head

<body

   

   

<p id="uploadBox"

    <ul

        <li

            <img src="images/pic1.jpg"/> 

            <span class="progress"></span

            <span class="percentage"></span

        </li

   

   

        <li

            <img src="images/pic2.jpg"/> 

            <span class="progress"></span

            <span class="percentage">12%</span

        </li

   

   

        <li class="done"

            <img src="images/pic2.jpg"/> 

            <span class="progress"></span

            <span class="percentage"></span

        </li

   

        <p class="clearfix"></p

    </ul

   

</p

   

</body

</html>

还是很简洁的:

a、一个p#uploadBox,里面ul li 代表每个上传图片单元

b、li img 图片

c、li span.progress用于显示进度,有种水上涨的效果,从height:0% -100%;

d、li span.percentage 用于在图片中央显示 1% 到100%数字,当到达100%时,显示一个正确的图片

CSS:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

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实现无插件拖拽上传图片(支持预览与批量)的详情介绍的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

值得一个的5个强大的HTML5api 函数

关于HTML5中如何调用相机拍照并且压缩图片的示例详解

HTML5怎么禁止缓存

如何在网站头部添加视频海报?添加视频海报的方法(代码示例)

h5正常文本框提示语的实现方法

HTML5 canvas实现中奖转盘的实例代码

分享h5调用摄像头实现拍照的实例教程

HTML5 是什么意思

HTML5包含css3吗

h5 canvas中fill 与stroke文字效果实现实例

更多相关阅读请进入《HTML5》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...