>  기사  >  웹 프론트엔드  >  플러그인 없이 이미지의 드래그 앤 드롭 업로드를 실현하는 HTML5+CSS3의 상세 도입(미리보기 및 배치 지원)

플러그인 없이 이미지의 드래그 앤 드롭 업로드를 실현하는 HTML5+CSS3의 상세 도입(미리보기 및 배치 지원)

黄舟
黄舟원래의
2017-03-15 16:33:271554검색

이 글에서는 주로 HTML5+CSS3을 소개하여 플러그인 드래그업로드이미지(미리보기 및 배치 지원)를 구현했지만 이제 html5에서는 API를 제공합니다. File, FileReader, XMLHttpRequest 등과 같은 강력한 API는 드래그 앤 드롭을 통해 업로드할 수 있는 가능성을 제공합니다. 관심있는 분들은 알아보시면 됩니다.

업로드는 기본적으로 프로젝트에서 일반적입니다. 일반적으로 사용되는 표현:

1, m 제출

2. 플래시

3. HTML5

양식을 제출하면 페이지가 새로 고쳐져 비동기적으로 업로드하기가 어려워집니다. 브라우저의 경우 플래시를 더 많이 사용할 수 있습니다. 프로젝트의 업로드 도구로 항상

jQuery의 uploadif를 사용했습니다. Uploadify도 Html5를 기반으로 하며 공식 웹사이트에 가면 요금이 부과되는 것 같습니다. 물론, 이제 html5는 API와 File, FileReader, XMLHttpRequest 등과 같은 강력한 API를 제공하므로 업로드를 끌어서 놓을 수 있습니다.

렌더링 1:

플러그인 없이 이미지의 드래그 앤 드롭 업로드를 실현하는 HTML5+CSS3의 상세 도입(미리보기 및 배치 지원)

렌더링 2:

플러그인 없이 이미지의 드래그 앤 드롭 업로드를 실현하는 HTML5+CSS3의 상세 도입(미리보기 및 배치 지원)

로컬 업로드가 너무 빨라서 , 80M gif를 녹화했는데, 드디어 업로드 효과를 자세히 볼 수 있네요. 그래도 아주 좋지 않나요?

코드가 많아서:

이 글은 주로 HTML과 CSS에 대해 이야기합니다:

HTML 코드:


<!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. ul li가 업로드된 각 이미지 단위를 나타내는 p#uploadBox

b. li img 이미지

c. span.progress는

높이:0% -100%;

d에서 상승하는 물의 효과와 함께 진행 상황을 표시하는 데 사용되며, lispan.percentage는 1%에서 1%까지 표시하는 데 사용됩니다. 그림 중앙에 100% 숫자가 있고, 100%에 도달하면 올바른 그림이 표시됩니다.

CSS:


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의 상세 도입(미리보기 및 배치 지원)

위 내용은 플러그인 없이 이미지의 드래그 앤 드롭 업로드를 실현하는 HTML5+CSS3의 상세 도입(미리보기 및 배치 지원)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.