UNPKG

@eternalheart/ngx-file-preview

Version:

A powerful Angular file preview component library supporting multiple file formats including images, videos, PDFs, Office documents, text files and more.

831 lines (731 loc) 29.6 kB
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>nfp Demo</title> <link rel="shortcut icon" href="//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg" type="image/x-icon"/> <link rel="icon" type="image/svg+xml" href="//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg"/> <link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css"> <link rel="stylesheet" href="demo.css"> <link rel="stylesheet" href="nfp.css"> <script src="nfp.js"></script> <!-- jQuery --> <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script> <!-- 代码高亮 --> <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"></script> <style> .main .logo { margin-top: 0; height: auto; } .main .logo a { display: flex; align-items: center; } .main .logo .sub-title { margin-left: 0.5em; font-size: 22px; color: #fff; background: linear-gradient(-45deg, #3967FF, #B500FE); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } </style> </head> <body> <div class="main"> <h1 class="logo"><a href="https://www.nfp.cn/" title="nfp 首页" target="_blank"> <img width="200" src="https://img.alicdn.com/imgextra/i3/O1CN01Mn65HV1FfSEzR6DKv_!!6000000000514-55-tps-228-59.svg"> </a></h1> <div class="nav-tabs"> <ul id="tabs" class="dib-box"> <li class="dib active"><span>Unicode</span></li> <li class="dib"><span>Font class</span></li> <li class="dib"><span>Symbol</span></li> </ul> <a href="https://www.nfp.cn/manage/index?manage_type=myprojects&projectId=4798386" target="_blank" class="nav-more">查看项目</a> </div> <div class="tab-container"> <div class="content unicode" style="display: block;"> <ul class="icon_lists dib-box"> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe72b;</span> <div class="name">origin-size</div> <div class="code-name">&amp;#xe72b;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe6a0;</span> <div class="name">auto-fit</div> <div class="code-name">&amp;#xe6a0;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe643;</span> <div class="name">plus</div> <div class="code-name">&amp;#xe643;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe610;</span> <div class="name">delete</div> <div class="code-name">&amp;#xe610;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe600;</span> <div class="name">music</div> <div class="code-name">&amp;#xe600;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe868;</span> <div class="name">nowrap</div> <div class="code-name">&amp;#xe868;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe7eb;</span> <div class="name">wrap</div> <div class="code-name">&amp;#xe7eb;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe605;</span> <div class="name">下载</div> <div class="code-name">&amp;#xe605;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe644;</span> <div class="name">close</div> <div class="code-name">&amp;#xe644;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe604;</span> <div class="name">reset</div> <div class="code-name">&amp;#xe604;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe62a;</span> <div class="name">play</div> <div class="code-name">&amp;#xe62a;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe62c;</span> <div class="name">fast-backward</div> <div class="code-name">&amp;#xe62c;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe62d;</span> <div class="name">fast-forward</div> <div class="code-name">&amp;#xe62d;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe62e;</span> <div class="name">mute</div> <div class="code-name">&amp;#xe62e;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe62f;</span> <div class="name">volume</div> <div class="code-name">&amp;#xe62f;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe662;</span> <div class="name">lightness</div> <div class="code-name">&amp;#xe662;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe626;</span> <div class="name">fullscreen</div> <div class="code-name">&amp;#xe626;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe628;</span> <div class="name">pause</div> <div class="code-name">&amp;#xe628;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe816;</span> <div class="name">pip</div> <div class="code-name">&amp;#xe816;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe7bf;</span> <div class="name">forward15s</div> <div class="code-name">&amp;#xe7bf;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe7ad;</span> <div class="name">back15s</div> <div class="code-name">&amp;#xe7ad;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe762;</span> <div class="name">rotate-90</div> <div class="code-name">&amp;#xe762;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe764;</span> <div class="name">rotate90</div> <div class="code-name">&amp;#xe764;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe645;</span> <div class="name">zoom-out</div> <div class="code-name">&amp;#xe645;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe647;</span> <div class="name">zoom-in</div> <div class="code-name">&amp;#xe647;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe632;</span> <div class="name">previous</div> <div class="code-name">&amp;#xe632;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xe633;</span> <div class="name">next</div> <div class="code-name">&amp;#xe633;</div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW">&#xec83;</span> <div class="name">slide-show</div> <div class="code-name">&amp;#xec83;</div> </li> </ul> <div class="article markdown"> <h2 id="unicode-">Unicode 引用</h2> <hr> <p>Unicode 是字体在网页端最原始的应用方式,特点是:</p> <ul> <li>支持按字体的方式去动态调整图标大小,颜色等等。</li> <li>默认情况下不支持多色,直接添加多色图标会自动去色。</li> </ul> <blockquote> <p>注意:新版 nfp 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)</p> </blockquote> <p>Unicode 使用步骤如下:</p> <h3 id="-font-face">第一步:拷贝项目下面生成的 <code>@font-face</code></h3> <pre><code class="language-css" >@font-face { font-family: 'NGX-FILE-PREVIEW'; src: url('nfp.ttf?t=1739247193388') format('truetype'); } </code></pre> <h3 id="-nfp-">第二步:定义使用 nfp 的样式</h3> <pre><code class="language-css" >.NGX-FILE-PREVIEW { font-family: "NGX-FILE-PREVIEW" !important; font-size: 16px; font-style: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } </code></pre> <h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3> <pre> <code class="language-html" >&lt;span class="NGX-FILE-PREVIEW"&gt;&amp;#x33;&lt;/span&gt; </code></pre> <blockquote> <p>"NGX-FILE-PREVIEW" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "nfp"。</p> </blockquote> </div> </div> <div class="content font-class"> <ul class="icon_lists dib-box"> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-origin-size"></span> <div class="name"> origin-size </div> <div class="code-name">.nfp-origin-size </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-auto-fit"></span> <div class="name"> auto-fit </div> <div class="code-name">.nfp-auto-fit </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-plus"></span> <div class="name"> plus </div> <div class="code-name">.nfp-plus </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-delete"></span> <div class="name"> delete </div> <div class="code-name">.nfp-delete </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-music"></span> <div class="name"> music </div> <div class="code-name">.nfp-music </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-nowrap"></span> <div class="name"> nowrap </div> <div class="code-name">.nfp-nowrap </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-wrap"></span> <div class="name"> wrap </div> <div class="code-name">.nfp-wrap </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-download"></span> <div class="name"> 下载 </div> <div class="code-name">.nfp-download </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-close"></span> <div class="name"> close </div> <div class="code-name">.nfp-close </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-reset"></span> <div class="name"> reset </div> <div class="code-name">.nfp-reset </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-play"></span> <div class="name"> play </div> <div class="code-name">.nfp-play </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-fast-backward"></span> <div class="name"> fast-backward </div> <div class="code-name">.nfp-fast-backward </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-fast-forward"></span> <div class="name"> fast-forward </div> <div class="code-name">.nfp-fast-forward </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-mute"></span> <div class="name"> mute </div> <div class="code-name">.nfp-mute </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-volume"></span> <div class="name"> volume </div> <div class="code-name">.nfp-volume </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-lightness"></span> <div class="name"> lightness </div> <div class="code-name">.nfp-lightness </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-fullscreen"></span> <div class="name"> fullscreen </div> <div class="code-name">.nfp-fullscreen </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-pause"></span> <div class="name"> pause </div> <div class="code-name">.nfp-pause </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-pip"></span> <div class="name"> pip </div> <div class="code-name">.nfp-pip </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-forward15s"></span> <div class="name"> forward15s </div> <div class="code-name">.nfp-forward15s </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-back15s"></span> <div class="name"> back15s </div> <div class="code-name">.nfp-back15s </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-rotate-90"></span> <div class="name"> rotate-90 </div> <div class="code-name">.nfp-rotate-90 </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-rotate90"></span> <div class="name"> rotate90 </div> <div class="code-name">.nfp-rotate90 </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-zoom-out"></span> <div class="name"> zoom-out </div> <div class="code-name">.nfp-zoom-out </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-zoom-in"></span> <div class="name"> zoom-in </div> <div class="code-name">.nfp-zoom-in </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-previous"></span> <div class="name"> previous </div> <div class="code-name">.nfp-previous </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-next"></span> <div class="name"> next </div> <div class="code-name">.nfp-next </div> </li> <li class="dib"> <span class="icon NGX-FILE-PREVIEW nfp-slide-show"></span> <div class="name"> slide-show </div> <div class="code-name">.nfp-slide-show </div> </li> </ul> <div class="article markdown"> <h2 id="font-class-">font-class 引用</h2> <hr> <p>font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。</p> <p>与 Unicode 使用方式相比,具有如下特点:</p> <ul> <li>相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。</li> <li>因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。</li> </ul> <p>使用步骤如下:</p> <h3 id="-fontclass-">第一步:引入项目下面生成的 fontclass 代码:</h3> <pre><code class="language-html">&lt;link rel="stylesheet" href="./nfp.css"&gt; </code></pre> <h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3> <pre><code class="language-html">&lt;span class="NGX-FILE-PREVIEW nfp-xxx"&gt;&lt;/span&gt; </code></pre> <blockquote> <p>" NGX-FILE-PREVIEW" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "nfp"。</p> </blockquote> </div> </div> <div class="content symbol"> <ul class="icon_lists dib-box"> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-origin-size"></use> </svg> <div class="name">origin-size</div> <div class="code-name">#nfp-origin-size</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-auto-fit"></use> </svg> <div class="name">auto-fit</div> <div class="code-name">#nfp-auto-fit</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-plus"></use> </svg> <div class="name">plus</div> <div class="code-name">#nfp-plus</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-delete"></use> </svg> <div class="name">delete</div> <div class="code-name">#nfp-delete</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-music"></use> </svg> <div class="name">music</div> <div class="code-name">#nfp-music</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-nowrap"></use> </svg> <div class="name">nowrap</div> <div class="code-name">#nfp-nowrap</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-wrap"></use> </svg> <div class="name">wrap</div> <div class="code-name">#nfp-wrap</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-download"></use> </svg> <div class="name">下载</div> <div class="code-name">#nfp-download</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-close"></use> </svg> <div class="name">close</div> <div class="code-name">#nfp-close</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-reset"></use> </svg> <div class="name">reset</div> <div class="code-name">#nfp-reset</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-play"></use> </svg> <div class="name">play</div> <div class="code-name">#nfp-play</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-fast-backward"></use> </svg> <div class="name">fast-backward</div> <div class="code-name">#nfp-fast-backward</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-fast-forward"></use> </svg> <div class="name">fast-forward</div> <div class="code-name">#nfp-fast-forward</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-mute"></use> </svg> <div class="name">mute</div> <div class="code-name">#nfp-mute</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-volume"></use> </svg> <div class="name">volume</div> <div class="code-name">#nfp-volume</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-lightness"></use> </svg> <div class="name">lightness</div> <div class="code-name">#nfp-lightness</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-fullscreen"></use> </svg> <div class="name">fullscreen</div> <div class="code-name">#nfp-fullscreen</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-pause"></use> </svg> <div class="name">pause</div> <div class="code-name">#nfp-pause</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-pip"></use> </svg> <div class="name">pip</div> <div class="code-name">#nfp-pip</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-forward15s"></use> </svg> <div class="name">forward15s</div> <div class="code-name">#nfp-forward15s</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-back15s"></use> </svg> <div class="name">back15s</div> <div class="code-name">#nfp-back15s</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-rotate-90"></use> </svg> <div class="name">rotate-90</div> <div class="code-name">#nfp-rotate-90</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-rotate90"></use> </svg> <div class="name">rotate90</div> <div class="code-name">#nfp-rotate90</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-zoom-out"></use> </svg> <div class="name">zoom-out</div> <div class="code-name">#nfp-zoom-out</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-zoom-in"></use> </svg> <div class="name">zoom-in</div> <div class="code-name">#nfp-zoom-in</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-previous"></use> </svg> <div class="name">previous</div> <div class="code-name">#nfp-previous</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-next"></use> </svg> <div class="name">next</div> <div class="code-name">#nfp-next</div> </li> <li class="dib"> <svg class="icon svg-icon" aria-hidden="true"> <use xlink:href="#nfp-slide-show"></use> </svg> <div class="name">slide-show</div> <div class="code-name">#nfp-slide-show</div> </li> </ul> <div class="article markdown"> <h2 id="symbol-">Symbol 引用</h2> <hr> <p>这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇<a href="">文章</a> 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:</p> <ul> <li>支持多色图标了,不再受单色限制。</li> <li>通过一些技巧,支持像字体那样,通过 <code>font-size</code>, <code>color</code> 来调整样式。</li> <li>兼容性较差,支持 IE9+,及现代浏览器。</li> <li>浏览器渲染 SVG 的性能一般,还不如 png。</li> </ul> <p>使用步骤如下:</p> <h3 id="-symbol-">第一步:引入项目下面生成的 symbol 代码:</h3> <pre><code class="language-html">&lt;script src="./nfp.js"&gt;&lt;/script&gt; </code></pre> <h3 id="-css-">第二步:加入通用 CSS 代码(引入一次就行):</h3> <pre><code class="language-html">&lt;style&gt; .icon { width: 1em; height: 1em; vertical-align: -0.15em; fill: currentColor; overflow: hidden; } &lt;/style&gt; </code></pre> <h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3> <pre><code class="language-html">&lt;svg class="icon" aria-hidden="true"&gt; &lt;use xlink:href="#icon-xxx"&gt;&lt;/use&gt; &lt;/svg&gt; </code></pre> </div> </div> </div> </div> <script> $(document).ready(function () { $('.tab-container .content:first').show() $('#tabs li').click(function (e) { var tabContent = $('.tab-container .content') var index = $(this).index() if ($(this).hasClass('active')) { return } else { $('#tabs li').removeClass('active') $(this).addClass('active') tabContent.hide().eq(index).fadeIn() } }) }) </script> </body> </html>