From f590a8f7028c86e223ffcd8b992689431bd37cb0 Mon Sep 17 00:00:00 2001 From: xu_yanfeng Date: Tue, 23 Jan 2024 17:50:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=BF=E7=94=A8cc-ui?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/devtools/icon-font/demo.css | 539 ------------------ .../views/devtools/icon-font/demo_index.html | 280 --------- .../src/views/devtools/icon-font/iconfont.css | 31 - .../src/views/devtools/icon-font/iconfont.js | 1 - .../views/devtools/icon-font/iconfont.json | 37 -- .../src/views/devtools/icon-font/iconfont.ttf | Bin 2304 -> 0 bytes .../views/devtools/icon-font/iconfont.woff | Bin 1584 -> 0 bytes .../views/devtools/icon-font/iconfont.woff2 | Bin 1164 -> 0 bytes 8 files changed, 888 deletions(-) delete mode 100644 cc-inspector/src/views/devtools/icon-font/demo.css delete mode 100644 cc-inspector/src/views/devtools/icon-font/demo_index.html delete mode 100644 cc-inspector/src/views/devtools/icon-font/iconfont.css delete mode 100644 cc-inspector/src/views/devtools/icon-font/iconfont.js delete mode 100644 cc-inspector/src/views/devtools/icon-font/iconfont.json delete mode 100644 cc-inspector/src/views/devtools/icon-font/iconfont.ttf delete mode 100644 cc-inspector/src/views/devtools/icon-font/iconfont.woff delete mode 100644 cc-inspector/src/views/devtools/icon-font/iconfont.woff2 diff --git a/cc-inspector/src/views/devtools/icon-font/demo.css b/cc-inspector/src/views/devtools/icon-font/demo.css deleted file mode 100644 index a67054a..0000000 --- a/cc-inspector/src/views/devtools/icon-font/demo.css +++ /dev/null @@ -1,539 +0,0 @@ -/* Logo 字体 */ -@font-face { - font-family: "iconfont logo"; - src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); - src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), - url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), - url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), - url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); -} - -.logo { - font-family: "iconfont logo"; - font-size: 160px; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -/* tabs */ -.nav-tabs { - position: relative; -} - -.nav-tabs .nav-more { - position: absolute; - right: 0; - bottom: 0; - height: 42px; - line-height: 42px; - color: #666; -} - -#tabs { - border-bottom: 1px solid #eee; -} - -#tabs li { - cursor: pointer; - width: 100px; - height: 40px; - line-height: 40px; - text-align: center; - font-size: 16px; - border-bottom: 2px solid transparent; - position: relative; - z-index: 1; - margin-bottom: -1px; - color: #666; -} - - -#tabs .active { - border-bottom-color: #f00; - color: #222; -} - -.tab-container .content { - display: none; -} - -/* 页面布局 */ -.main { - padding: 30px 100px; - width: 960px; - margin: 0 auto; -} - -.main .logo { - color: #333; - text-align: left; - margin-bottom: 30px; - line-height: 1; - height: 110px; - margin-top: -50px; - overflow: hidden; - *zoom: 1; -} - -.main .logo a { - font-size: 160px; - color: #333; -} - -.helps { - margin-top: 40px; -} - -.helps pre { - padding: 20px; - margin: 10px 0; - border: solid 1px #e7e1cd; - background-color: #fffdef; - overflow: auto; -} - -.icon_lists { - width: 100% !important; - overflow: hidden; - *zoom: 1; -} - -.icon_lists li { - width: 100px; - margin-bottom: 10px; - margin-right: 20px; - text-align: center; - list-style: none !important; - cursor: default; -} - -.icon_lists li .code-name { - line-height: 1.2; -} - -.icon_lists .icon { - display: block; - height: 100px; - line-height: 100px; - font-size: 42px; - margin: 10px auto; - color: #333; - -webkit-transition: font-size 0.25s linear, width 0.25s linear; - -moz-transition: font-size 0.25s linear, width 0.25s linear; - transition: font-size 0.25s linear, width 0.25s linear; -} - -.icon_lists .icon:hover { - font-size: 100px; -} - -.icon_lists .svg-icon { - /* 通过设置 font-size 来改变图标大小 */ - width: 1em; - /* 图标和文字相邻时,垂直对齐 */ - vertical-align: -0.15em; - /* 通过设置 color 来改变 SVG 的颜色/fill */ - fill: currentColor; - /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 - normalize.css 中也包含这行 */ - overflow: hidden; -} - -.icon_lists li .name, -.icon_lists li .code-name { - color: #666; -} - -/* markdown 样式 */ -.markdown { - color: #666; - font-size: 14px; - line-height: 1.8; -} - -.highlight { - line-height: 1.5; -} - -.markdown img { - vertical-align: middle; - max-width: 100%; -} - -.markdown h1 { - color: #404040; - font-weight: 500; - line-height: 40px; - margin-bottom: 24px; -} - -.markdown h2, -.markdown h3, -.markdown h4, -.markdown h5, -.markdown h6 { - color: #404040; - margin: 1.6em 0 0.6em 0; - font-weight: 500; - clear: both; -} - -.markdown h1 { - font-size: 28px; -} - -.markdown h2 { - font-size: 22px; -} - -.markdown h3 { - font-size: 16px; -} - -.markdown h4 { - font-size: 14px; -} - -.markdown h5 { - font-size: 12px; -} - -.markdown h6 { - font-size: 12px; -} - -.markdown hr { - height: 1px; - border: 0; - background: #e9e9e9; - margin: 16px 0; - clear: both; -} - -.markdown p { - margin: 1em 0; -} - -.markdown>p, -.markdown>blockquote, -.markdown>.highlight, -.markdown>ol, -.markdown>ul { - width: 80%; -} - -.markdown ul>li { - list-style: circle; -} - -.markdown>ul li, -.markdown blockquote ul>li { - margin-left: 20px; - padding-left: 4px; -} - -.markdown>ul li p, -.markdown>ol li p { - margin: 0.6em 0; -} - -.markdown ol>li { - list-style: decimal; -} - -.markdown>ol li, -.markdown blockquote ol>li { - margin-left: 20px; - padding-left: 4px; -} - -.markdown code { - margin: 0 3px; - padding: 0 5px; - background: #eee; - border-radius: 3px; -} - -.markdown strong, -.markdown b { - font-weight: 600; -} - -.markdown>table { - border-collapse: collapse; - border-spacing: 0px; - empty-cells: show; - border: 1px solid #e9e9e9; - width: 95%; - margin-bottom: 24px; -} - -.markdown>table th { - white-space: nowrap; - color: #333; - font-weight: 600; -} - -.markdown>table th, -.markdown>table td { - border: 1px solid #e9e9e9; - padding: 8px 16px; - text-align: left; -} - -.markdown>table th { - background: #F7F7F7; -} - -.markdown blockquote { - font-size: 90%; - color: #999; - border-left: 4px solid #e9e9e9; - padding-left: 0.8em; - margin: 1em 0; -} - -.markdown blockquote p { - margin: 0; -} - -.markdown .anchor { - opacity: 0; - transition: opacity 0.3s ease; - margin-left: 8px; -} - -.markdown .waiting { - color: #ccc; -} - -.markdown h1:hover .anchor, -.markdown h2:hover .anchor, -.markdown h3:hover .anchor, -.markdown h4:hover .anchor, -.markdown h5:hover .anchor, -.markdown h6:hover .anchor { - opacity: 1; - display: inline-block; -} - -.markdown>br, -.markdown>p>br { - clear: both; -} - - -.hljs { - display: block; - background: white; - padding: 0.5em; - color: #333333; - overflow-x: auto; -} - -.hljs-comment, -.hljs-meta { - color: #969896; -} - -.hljs-string, -.hljs-variable, -.hljs-template-variable, -.hljs-strong, -.hljs-emphasis, -.hljs-quote { - color: #df5000; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-type { - color: #a71d5d; -} - -.hljs-literal, -.hljs-symbol, -.hljs-bullet, -.hljs-attribute { - color: #0086b3; -} - -.hljs-section, -.hljs-name { - color: #63a35c; -} - -.hljs-tag { - color: #333333; -} - -.hljs-title, -.hljs-attr, -.hljs-selector-id, -.hljs-selector-class, -.hljs-selector-attr, -.hljs-selector-pseudo { - color: #795da3; -} - -.hljs-addition { - color: #55a532; - background-color: #eaffea; -} - -.hljs-deletion { - color: #bd2c00; - background-color: #ffecec; -} - -.hljs-link { - text-decoration: underline; -} - -/* 代码高亮 */ -/* PrismJS 1.15.0 -https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */ -/** - * prism.js default theme for JavaScript, CSS and HTML - * Based on dabblet (http://dabblet.com) - * @author Lea Verou - */ -code[class*="language-"], -pre[class*="language-"] { - color: black; - background: none; - text-shadow: 0 1px white; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - - -moz-tab-size: 4; - -o-tab-size: 4; - tab-size: 4; - - -webkit-hyphens: none; - -moz-hyphens: none; - -ms-hyphens: none; - hyphens: none; -} - -pre[class*="language-"]::-moz-selection, -pre[class*="language-"] ::-moz-selection, -code[class*="language-"]::-moz-selection, -code[class*="language-"] ::-moz-selection { - text-shadow: none; - background: #b3d4fc; -} - -pre[class*="language-"]::selection, -pre[class*="language-"] ::selection, -code[class*="language-"]::selection, -code[class*="language-"] ::selection { - text-shadow: none; - background: #b3d4fc; -} - -@media print { - - code[class*="language-"], - pre[class*="language-"] { - text-shadow: none; - } -} - -/* Code blocks */ -pre[class*="language-"] { - padding: 1em; - margin: .5em 0; - overflow: auto; -} - -:not(pre)>code[class*="language-"], -pre[class*="language-"] { - background: #f5f2f0; -} - -/* Inline code */ -:not(pre)>code[class*="language-"] { - padding: .1em; - border-radius: .3em; - white-space: normal; -} - -.token.comment, -.token.prolog, -.token.doctype, -.token.cdata { - color: slategray; -} - -.token.punctuation { - color: #999; -} - -.namespace { - opacity: .7; -} - -.token.property, -.token.tag, -.token.boolean, -.token.number, -.token.constant, -.token.symbol, -.token.deleted { - color: #905; -} - -.token.selector, -.token.attr-name, -.token.string, -.token.char, -.token.builtin, -.token.inserted { - color: #690; -} - -.token.operator, -.token.entity, -.token.url, -.language-css .token.string, -.style .token.string { - color: #9a6e3a; - background: hsla(0, 0%, 100%, .5); -} - -.token.atrule, -.token.attr-value, -.token.keyword { - color: #07a; -} - -.token.function, -.token.class-name { - color: #DD4A68; -} - -.token.regex, -.token.important, -.token.variable { - color: #e90; -} - -.token.important, -.token.bold { - font-weight: bold; -} - -.token.italic { - font-style: italic; -} - -.token.entity { - cursor: help; -} diff --git a/cc-inspector/src/views/devtools/icon-font/demo_index.html b/cc-inspector/src/views/devtools/icon-font/demo_index.html deleted file mode 100644 index 47b57a2..0000000 --- a/cc-inspector/src/views/devtools/icon-font/demo_index.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - iconfont Demo - - - - - - - - - - - - - -
-

- - -

- -
-
-
    - -
  • - -
    font-size
    -
    
    -
  • - -
  • - -
    车巴巴-未知项
    -
    
    -
  • - -
  • - -
    节点
    -
    
    -
  • - -
  • - -
    text
    -
    
    -
  • - -
-
-

Unicode 引用

-
- -

Unicode 是字体在网页端最原始的应用方式,特点是:

-
    -
  • 支持按字体的方式去动态调整图标大小,颜色等等。
  • -
  • 默认情况下不支持多色,直接添加多色图标会自动去色。
  • -
-
-

注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)

-
-

Unicode 使用步骤如下:

-

第一步:拷贝项目下面生成的 @font-face

-
@font-face {
-  font-family: 'iconfont';
-  src: url('iconfont.woff2?t=1636725471182') format('woff2'),
-       url('iconfont.woff?t=1636725471182') format('woff'),
-       url('iconfont.ttf?t=1636725471182') format('truetype');
-}
-
-

第二步:定义使用 iconfont 的样式

-
.iconfont {
-  font-family: "iconfont" !important;
-  font-size: 16px;
-  font-style: normal;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-
-

第三步:挑选相应图标并获取字体编码,应用于页面

-
-<span class="iconfont">&#x33;</span>
-
-
-

"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

-
-
-
-
-
    - -
  • - -
    - font-size -
    -
    .el-icon-third-font-size -
    -
  • - -
  • - -
    - 车巴巴-未知项 -
    -
    .el-icon-third-unknown -
    -
  • - -
  • - -
    - 节点 -
    -
    .el-icon-third-node -
    -
  • - -
  • - -
    - text -
    -
    .el-icon-third-text -
    -
  • - -
-
-

font-class 引用

-
- -

font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。

-

与 Unicode 使用方式相比,具有如下特点:

-
    -
  • 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
  • -
  • 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
  • -
-

使用步骤如下:

-

第一步:引入项目下面生成的 fontclass 代码:

-
<link rel="stylesheet" href="./iconfont.css">
-
-

第二步:挑选相应图标并获取类名,应用于页面:

-
<span class="iconfont el-icon-third-xxx"></span>
-
-
-

" - iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

-
-
-
-
-
    - -
  • - -
    font-size
    -
    #el-icon-third-font-size
    -
  • - -
  • - -
    车巴巴-未知项
    -
    #el-icon-third-unknown
    -
  • - -
  • - -
    节点
    -
    #el-icon-third-node
    -
  • - -
  • - -
    text
    -
    #el-icon-third-text
    -
  • - -
-
-

Symbol 引用

-
- -

这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 - 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:

-
    -
  • 支持多色图标了,不再受单色限制。
  • -
  • 通过一些技巧,支持像字体那样,通过 font-size, color 来调整样式。
  • -
  • 兼容性较差,支持 IE9+,及现代浏览器。
  • -
  • 浏览器渲染 SVG 的性能一般,还不如 png。
  • -
-

使用步骤如下:

-

第一步:引入项目下面生成的 symbol 代码:

-
<script src="./iconfont.js"></script>
-
-

第二步:加入通用 CSS 代码(引入一次就行):

-
<style>
-.icon {
-  width: 1em;
-  height: 1em;
-  vertical-align: -0.15em;
-  fill: currentColor;
-  overflow: hidden;
-}
-</style>
-
-

第三步:挑选相应图标并获取类名,应用于页面:

-
<svg class="icon" aria-hidden="true">
-  <use xlink:href="#icon-xxx"></use>
-</svg>
-
-
-
- -
-
- - - diff --git a/cc-inspector/src/views/devtools/icon-font/iconfont.css b/cc-inspector/src/views/devtools/icon-font/iconfont.css deleted file mode 100644 index 4df6bf7..0000000 --- a/cc-inspector/src/views/devtools/icon-font/iconfont.css +++ /dev/null @@ -1,31 +0,0 @@ -@font-face { - font-family: "iconfont"; /* Project id 2620843 */ - src: url('iconfont.woff2?t=1636725471182') format('woff2'), - url('iconfont.woff?t=1636725471182') format('woff'), - url('iconfont.ttf?t=1636725471182') format('truetype'); -} - -.iconfont ,[class='el-icon-third'],[class*=' el-icon-third']{ - font-family: "iconfont" !important; - font-size: 16px; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.el-icon-third-font-size:before { - content: "\e7b9"; -} - -.el-icon-third-unknown:before { - content: "\e626"; -} - -.el-icon-third-node:before { - content: "\e649"; -} - -.el-icon-third-text:before { - content: "\e65c"; -} - diff --git a/cc-inspector/src/views/devtools/icon-font/iconfont.js b/cc-inspector/src/views/devtools/icon-font/iconfont.js deleted file mode 100644 index 8897556..0000000 --- a/cc-inspector/src/views/devtools/icon-font/iconfont.js +++ /dev/null @@ -1 +0,0 @@ -!function(t){var e,n,o,i,l,d='',a=(a=document.getElementsByTagName("script"))[a.length-1].getAttribute("data-injectcss"),c=function(t,e){e.parentNode.insertBefore(t,e)};if(a&&!t.__iconfont__svg__cssinject__){t.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(t){console&&console.log(t)}}function s(){l||(l=!0,o())}function h(){try{i.documentElement.doScroll("left")}catch(t){return void setTimeout(h,50)}s()}e=function(){var t,e;(e=document.createElement("div")).innerHTML=d,d=null,(t=e.getElementsByTagName("svg")[0])&&(t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.width=0,t.style.height=0,t.style.overflow="hidden",e=t,(t=document.body).firstChild?c(e,t.firstChild):t.appendChild(e))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(e,0):(n=function(){document.removeEventListener("DOMContentLoaded",n,!1),e()},document.addEventListener("DOMContentLoaded",n,!1)):document.attachEvent&&(o=e,i=t.document,l=!1,h(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,s())})}(window); \ No newline at end of file diff --git a/cc-inspector/src/views/devtools/icon-font/iconfont.json b/cc-inspector/src/views/devtools/icon-font/iconfont.json deleted file mode 100644 index 0e76ee1..0000000 --- a/cc-inspector/src/views/devtools/icon-font/iconfont.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "id": "2620843", - "name": "cc-icon", - "font_family": "iconfont", - "css_prefix_text": "el-icon-third-", - "description": "", - "glyphs": [ - { - "icon_id": "8794801", - "name": "font-size", - "font_class": "font-size", - "unicode": "e7b9", - "unicode_decimal": 59321 - }, - { - "icon_id": "1156016", - "name": "车巴巴-未知项", - "font_class": "unknown", - "unicode": "e626", - "unicode_decimal": 58918 - }, - { - "icon_id": "6246293", - "name": "节点", - "font_class": "node", - "unicode": "e649", - "unicode_decimal": 58953 - }, - { - "icon_id": "9785726", - "name": "text", - "font_class": "text", - "unicode": "e65c", - "unicode_decimal": 58972 - } - ] -} diff --git a/cc-inspector/src/views/devtools/icon-font/iconfont.ttf b/cc-inspector/src/views/devtools/icon-font/iconfont.ttf deleted file mode 100644 index f131e486c4528072ff837d484d3a5077a025aa01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2304 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 eMa