用最少的html标签实现图片上传进度展示

html结构:

    <div class="parent">
        <img class="image" src="http://h.hiphotos.baidu.com/baike/c0%3Dbaike80%2C5%2C5%2C80%2C26/sign=94d19969d40735fa85fd46ebff3864d6/8644ebf81a4c510fe630d9686059252dd52aa5cf.jpg"/>
        <div class="progress">75%</div>
    </div>

css部分:

.parent {
/* 设置相对定位配合进度展示块的绝对定位 */
position: relative;
/* 设置浮动,让宽度收缩,包裹图片,不然太宽,会出现进度展示块的宽度大于图片的宽度 */
float: left;
}

.image {
/* 设置个最大宽度,防止宽度太大,超出父元素 */
max-width: 100%;
/* 设置浮动,防止其他空白文本也占用行内空间,出现多余的窄横条 */
float: left;
}

.progress {

/* 用绝对定位让进度展示块撑满父元素,并且和图片重叠 */
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;

/* 默认设置一个铺满的半透明遮挡层挡住图片,以区分上传完成和正在上传的状态 */
background-color: rgba(0, 0, 0, 0.2);

/* 设置进度半透明层 */
background-size: 100% 75%; /* 75%和进度一致 */
background-image: linear-gradient(0deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.3) 100%);
background-repeat: no-repeat;
background-position: 0 100%;

/* 用弹性盒子伸缩模型设置进度信息水平垂直方向都绝对居中 */
display: -webkit-box;
display: flex;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
flex-direction: row;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
flex-wrap: nowrap;

/* 设置进度展示颜色为白色,防止不容易看到的问题 */
color: #FFF;
}

效果图:

本来还想利用css的attr函数,让进度信息只出现在一个地方,但是目前attr函数不能能用在content之外的属性里面,只好到此为止。

时间: 2024-10-25 22:48:48

用最少的html标签实现图片上传进度展示的相关文章

android自定义View实现图片上传进度显示(仿手机QQ上传效果)

首先看下我们想要实现的效果如下图(qq聊天中发送图片时的效果): 再看一下我实现的效果: 1.效果已经看见了,下面我们来实现它.首先我创建一个android工程ProgressImageView.然后我们重写ImageView控件,创建ProcessImageView类代码如下: package com.example.processimageview; import android.annotation.SuppressLint; import android.content.Context;

安卓自定义View实现图片上传进度显示(仿QQ)

首先看下我们想要实现的效果如下图(qq聊天中发送图片时的效果): 再看下图我们实现的效果: 实现原理很简单,首先我们上传图片时需要一个进度值progress,这个不管是自己写的上传的方法还是使用第三方开源库,其次,需要自定义一个View并重写onDraw方法,此例中的进度是开启了一个线程,然后模仿进度递增,然后将进度值通过自定义View调用一个自定义方法传进自定义View并根据进度进行重绘. 绘制分为三部分: 1.绘制矩形(图片面积)上半部分阴影区: 2.绘制矩形(图片面积)下半部分非阴影区:

android自定义ImageView仿图片上传

Activity代码 1 public class MainActivity extends AppCompatActivity {   2     ProcessImageView processImageView =null;   3     int progress=0;   4    5     @Override   6     protected void onCreate(Bundle savedInstanceState) {   7         super.onCreate

html之file标签 --- 图片上传前预览 -- FileReader

记得以前做网站时,曾经需要实现一个图片上传到服务器前,先预览的功能.当时用html的<input type="file"/>标签一直实现不了,最后舍弃了这个标签,使用了其他方式来实现了这个功能. 今天无意发现了一个知识点,用html的file标签就能实现图片上传前预览,感觉很棒,记录一下!就是通过file标签和js的FileReader接口,把选择的图片文件调用readAsDataURL方法,把图片数据转成base64字符串形式显示在页面上. 1.闲话少说,测试一下,图片上

[转]html之file标签 --- 图片上传前预览 -- FileReader

记得以前做网站时,曾经需要实现一个图片上传到服务器前,先预览的功能.当时用html的<input type="file"/>标签一直实现不了,最后舍弃了这个标签,使用了其他方式来实现了这个功能. 今天无意发现了一个知识点,用html的file标签就能实现图片上传前预览,感觉很棒,记录一下!就是通过file标签和js的FileReader接口,把选择的图片文件调用readAsDataURL方法,把图片数据转成base64字符串形式显示在页面上. 1.闲话少说,测试一下,图片上

根目录97 &lt;input file&gt;标签,把图片上传到服务器(跟增删改查一起实现)

1 首先来个简单的html页面: enctype="multipart/form-data" encoding="multipart/form-data" action="../../后台/后台方法.do" //form表单加上这几个属性 action指向后台添加方法 2 3 <input type="button" id="uupdatekeyword2" value="修改"

[项目构建 五]babasport ajax图片上传及FastDFS入门案例.

今天来开始写图片上传的功能, 现在的图片上传都讲求 上传完成后立刻回显且页面不刷新, 这里到底是怎么做的呢? 当然是借助于ajax了, 但是ajax又不能提交表单, 这里我们还要借助一个插件: jquery.form.js剩下的一个是FastDFS, 那么什么是FastDFS呢? FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server).存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存储问题,特别适合以中小文

微信端调取相册和摄像头,实现图片上传,并上传到本地服务器

在微信公众号网页开发时,遇到了图片上传的问题,查看了微信的开发者文档,里面的资料比较全.接着我们看一下整个的流程 1.config权限配置 $.ajax({ url:'wx_getConfig', type:'get', dataType:'json', async:false, success:function(data){ var appId = data[0].appId; var timestamp = data[0].timestamp; var nonceStr = data[0].

移动端图片上传解决方案localResizeIMG先压缩后ajax无刷新上传

现在科技太发达,移动设备像素越来越高,随便一张照片2M+,但是要做移动端图片上传和pc上略有不同,移动端你不能去限制图片大小,让用户先处理图片再上传,这样不现实.所以理解的解决方案就是在上传先进行图片压缩,然后再把压缩后的图片上传到服务器. 一翻google之后,发现了localResizeIMG,它会对图片进行压缩成你指定宽度及质量度并转换成base64图片格式,那么我们就可以把这个base64通过ajax传到后台,再进行保存,先压缩后上传的目的就达到了. 处理过程 LocalResizeIM