提交 878e4400 编写于 作者: RedPig97's avatar RedPig97

add: 新增富文本编辑器

上级 a184c501
......@@ -49,4 +49,5 @@
{{#*inline "PICKUPVIEW"}}{{>@macro/front-end/editors/data-picker-view.hbs}}{{/inline}}
{{#*inline "PICKEREX_DROPDOWNVIEW"}}{{>@macro/front-end/editors/data-picker-view.hbs}}{{/inline}}
{{#*inline "PICKEREX_DROPDOWNVIEW_LINK"}}{{>@macro/front-end/editors/data-picker-view.hbs}}{{/inline}}
{{#*inline "CODE"}}{{>@macro/front-end/editors/code.hbs}}{{/inline}}
\ No newline at end of file
{{#*inline "CODE"}}{{>@macro/front-end/editors/code.hbs}}{{/inline}}
{{#*inline "HTMLEDITOR"}}{{>@macro/front-end/editors/rich-text.hbs}}{{/inline}}
\ No newline at end of file
<app-rich-text
name="{{item.codeName}}"
{{#if item.psEditor.disabled}}
:disabled="{{item.psEditor.disabled}}"
{{/if}}
{{#if item.psEditor.readOnly}}
:readonly="{{item.psEditor.readOnly}}"
{{/if}}
{{#if item.psEditor.editorParams.height}}
:height="{{item.psEditor.editorParams.height}}"
{{/if}}
{{#if item.psEditor.editorParams.uploadParams}}
:uploadParams="{{item.psEditor.editorParams.uploadParams}}"
{{/if}}
{{#if item.psEditor.editorParams.exportParams}}
:exportParams="{{item.psEditor.editorParams.exportParams}}"
{{/if}}
:context="state.context"
:viewParams="state.viewParams"
{{#if (or (eq ctrlType 'form') (eq ctrlType 'panel'))}}
:value="state.data.{{item.psEditor.name}}"
:data="state.data"
@editorEvent="handleEditorEvent"
{{/if}}
{{#eq ctrlType 'grid'}}
:value="record.{{item.psEditor.name}}"
:data="record"
@editorEvent="($event) => handleEditorEvent(index,$event)"
{{/eq}}
/>
......@@ -31,6 +31,7 @@
"@vitejs/plugin-vue": "^1.10.2",
"sass": "^1.45.0",
"typescript": "^4.4.4",
"tinymce": "5.7.1",
"unplugin-auto-import": "^0.5.3",
"unplugin-vue-components": "^0.17.9",
"vite": "^2.7.0",
......
tinymce.addI18n('en_US', {
Cut: 'Cut',
'Heading 5': 'Heading 5',
'Header 2': 'Header 2',
"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.":
"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.",
'Heading 4': 'Heading 4',
Div: 'Div',
'Heading 2': 'Heading 2',
Paste: 'Paste',
Close: 'Close',
'Font Family': 'Font Family',
Pre: 'Pre',
'Align right': 'Align right',
'New document': 'New document',
Blockquote: 'Blockquote',
'Numbered list': 'Numbered list',
'Heading 1': 'Heading 1',
Headings: 'Headings',
'Increase indent': 'Increase indent',
Formats: 'Formats',
Headers: 'Headers',
'Select all': 'Select all',
'Header 3': 'Header 3',
Blocks: 'Blocks',
Undo: 'Undo',
Strikethrough: 'Strike-through',
'Bullet list': 'Bullet list',
'Header 1': 'Header 1',
Superscript: 'Superscript',
'Clear formatting': 'Clear formatting',
'Font Sizes': 'Font Sizes',
Subscript: 'Subscript',
'Header 6': 'Header 6',
Redo: 'Redo',
Paragraph: 'Paragraph',
Ok: 'Ok',
Bold: 'Bold',
Code: 'Code',
Italic: 'Italic',
'Align center': 'Align centre',
'Header 5': 'Header 5',
'Heading 6': 'Heading 6',
'Heading 3': 'Heading 3',
'Decrease indent': 'Decrease indent',
'Header 4': 'Header 4',
'Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.':
'Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.',
Underline: 'Underline',
Cancel: 'Cancel',
Justify: 'Justify',
Inline: 'Inline',
Copy: 'Copy',
'Align left': 'Align left',
'Visual aids': 'Visual aids',
'Lower Greek': 'Lower Greek',
Square: 'Square',
Default: 'Default',
'Lower Alpha': 'Lower Alpha',
Circle: 'Circle',
Disc: 'Disc',
'Upper Alpha': 'Upper Alpha',
'Upper Roman': 'Upper Roman',
'Lower Roman': 'Lower Roman',
'Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.':
'ID should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.',
Name: 'Name',
Anchor: 'Anchor',
Id: 'ID',
'You have unsaved changes are you sure you want to navigate away?':
'You have unsaved changes are you sure you want to navigate away?',
'Restore last draft': 'Restore last draft',
'Special character': 'Special character',
'Source code': 'Source code',
Language: 'Language',
'Insert/Edit code sample': 'Insert/Edit code sample',
B: 'B',
R: 'R',
G: 'G',
Color: 'Colour',
'Right to left': 'Right to left',
'Left to right': 'Left to right',
Emoticons: 'Emoticons',
Robots: 'Robots',
'Document properties': 'Document properties',
Title: 'Title',
Keywords: 'Keywords',
Encoding: 'Encoding',
Description: 'Description',
Author: 'Author',
Fullscreen: 'Full-screen',
'Horizontal line': 'Horizontal line',
'Horizontal space': 'Horizontal space',
'Insert/edit image': 'Insert/edit image',
General: 'General',
Advanced: 'Advanced',
Source: 'Source',
Border: 'Border',
'Constrain proportions': 'Constrain proportions',
'Vertical space': 'Vertical space',
'Image description': 'Image description',
Style: 'Style',
Dimensions: 'Dimensions',
'Insert image': 'Insert image',
Image: 'Image',
'Zoom in': 'Zoom in',
Contrast: 'Contrast',
Back: 'Back',
Gamma: 'Gamma',
'Flip horizontally': 'Flip horizontally',
Resize: 'Resize',
Sharpen: 'Sharpen',
'Zoom out': 'Zoom out',
'Image options': 'Image options',
Apply: 'Apply',
Brightness: 'Brightness',
'Rotate clockwise': 'Rotate clockwise',
'Rotate counterclockwise': 'Rotate counterclockwise',
'Edit image': 'Edit image',
'Color levels': 'Colour levels',
Crop: 'Crop',
Orientation: 'Orientation',
'Flip vertically': 'Flip vertically',
Invert: 'Invert',
'Date/time': 'Date/time',
'Insert date/time': 'Insert date/time',
'Remove link': 'Remove link',
Url: 'URL',
'Text to display': 'Text to display',
Anchors: 'Anchors',
'Insert link': 'Insert link',
Link: 'Link',
'New window': 'New window',
None: 'None',
'The URL you entered seems to be an external link. Do you want to add the required http:// prefix?':
'The URL you entered seems to be an external link. Do you want to add the required http:// prefix?',
'Paste or type a link': 'Paste or type a link',
Target: 'Target',
'The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?':
'The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?',
'Insert/edit link': 'Insert/edit link',
'Insert/edit video': 'Insert/edit video',
Media: 'Media',
'Alternative source': 'Alternative source',
'Paste your embed code below:': 'Paste your embed code below:',
'Insert video': 'Insert video',
Poster: 'Poster',
'Insert/edit media': 'Insert/edit media',
Embed: 'Embed',
'Nonbreaking space': 'Non-breaking space',
'Page break': 'Page break',
'Paste as text': 'Paste as text',
Preview: 'Preview',
Print: 'Print',
Save: 'Save',
'Could not find the specified string.': 'Could not find the specified string.',
Replace: 'Replace',
Next: 'Next',
'Whole words': 'Whole words',
'Find and replace': 'Find and replace',
'Replace with': 'Replace with',
Find: 'Find',
'Replace all': 'Replace all',
'Match case': 'Match case',
Prev: 'Prev',
Spellcheck: 'Spell-check',
Finish: 'Finish',
'Ignore all': 'Ignore all',
Ignore: 'Ignore',
'Add to Dictionary': 'Add to Dictionary',
'Insert row before': 'Insert row before',
Rows: 'Rows',
Height: 'Height',
'Paste row after': 'Paste row after',
Alignment: 'Alignment',
'Border color': 'Border colour',
'Column group': 'Column group',
Row: 'Row',
'Insert column before': 'Insert column before',
'Split cell': 'Split cell',
'Cell padding': 'Cell padding',
'Cell spacing': 'Cell spacing',
'Row type': 'Row type',
'Insert table': 'Insert table',
Body: 'Body',
Caption: 'Caption',
Footer: 'Footer',
'Delete row': 'Delete row',
'Paste row before': 'Paste row before',
Scope: 'Scope',
'Delete table': 'Delete table',
'H Align': 'H Align',
Top: 'Top',
'Header cell': 'Header cell',
Column: 'Column',
'Row group': 'Row group',
Cell: 'Cell',
Middle: 'Middle',
'Cell type': 'Cell type',
'Copy row': 'Copy row',
'Row properties': 'Row properties',
'Table properties': 'Table properties',
Bottom: 'Bottom',
'V Align': 'V Align',
Header: 'Header',
Right: 'Right',
'Insert column after': 'Insert column after',
Cols: 'Cols',
'Insert row after': 'Insert row after',
Width: 'Width',
'Cell properties': 'Cell properties',
Left: 'Left',
'Cut row': 'Cut row',
'Delete column': 'Delete column',
Center: 'Centre',
'Merge cells': 'Merge cells',
'Insert template': 'Insert template',
Templates: 'Templates',
'Background color': 'Background colour',
'Custom...': 'Custom...',
'Custom color': 'Custom colour',
'No color': 'No colour',
'Text color': 'Text colour',
'Table of Contents': 'Table of Contents',
'Show blocks': 'Show blocks',
'Show invisible characters': 'Show invisible characters',
'Words: {0}': 'Words: {0}',
Insert: 'Insert',
File: 'File',
Edit: 'Edit',
'Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help':
'Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help',
Tools: 'Tools',
View: 'View',
Table: 'Table',
Format: 'Format',
});
/* PrismJS 1.14.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;
}
\ No newline at end of file
.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid rgba(208,2,27,0.5);cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#2276d2 !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2276d2}.mce-content-body.mce-content-readonly *[contentEditable=true]:focus,.mce-content-body.mce-content-readonly *[contentEditable=true]:hover{outline:none}.mce-content-body *[data-mce-selected="inline-boundary"]{background:#bfe6ff}.mce-content-body .mce-item-anchor[data-mce-selected]{background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-content-body hr{cursor:default}.mce-content-body table{-webkit-nbsp-mode:normal}.ephox-snooker-resizer-bar{background-color:#2276d2;opacity:0}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:.2}.mce-content-body{line-height:1.3}
\ No newline at end of file
body{background-color:#FFFFFF;color:#000000;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px;line-height:1.3;scrollbar-3dlight-color:#F0F0EE;scrollbar-arrow-color:#676662;scrollbar-base-color:#F0F0EE;scrollbar-darkshadow-color:#DDDDDD;scrollbar-face-color:#E0E0DD;scrollbar-highlight-color:#F0F0EE;scrollbar-shadow-color:#F0F0EE;scrollbar-track-color:#F5F5F5}td,th{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px}.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid rgba(208,2,27,0.5);cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#2276d2 !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2276d2}.mce-content-body.mce-content-readonly *[contentEditable=true]:focus,.mce-content-body.mce-content-readonly *[contentEditable=true]:hover{outline:none}.mce-content-body *[data-mce-selected="inline-boundary"]{background:#bfe6ff}.mce-content-body .mce-item-anchor[data-mce-selected]{background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-content-body hr{cursor:default}.mce-content-body table{-webkit-nbsp-mode:normal}.ephox-snooker-resizer-bar{background-color:#2276d2;opacity:0}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:.2}
\ No newline at end of file
.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{position:absolute;display:inline-block;background-color:green;opacity:.5}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}
\ No newline at end of file
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection {
/* Note: this file is used inside the content, so isn't part of theming */
background-color: green;
display: inline-block;
opacity: 0.5;
position: absolute;
}
body {
-webkit-text-size-adjust: none;
}
body img {
/* this is related to the content margin */
max-width: 96vw;
}
body table img {
max-width: 95%;
}
body {
font-family: sans-serif;
}
table {
border-collapse: collapse;
}
\ No newline at end of file
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{background-color:green;display:inline-block;opacity:.5;position:absolute}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}body{font-family:sans-serif}table{border-collapse:collapse}
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection {
/* Note: this file is used inside the content, so isn't part of theming */
background-color: green;
display: inline-block;
opacity: 0.5;
position: absolute;
}
body {
-webkit-text-size-adjust: none;
}
body img {
/* this is related to the content margin */
max-width: 96vw;
}
body table img {
max-width: 95%;
}
body {
font-family: sans-serif;
}
table {
border-collapse: collapse;
}
\ No newline at end of file
/**
* Copyright (c) Tiny Technologies, Inc. All rights reserved.
* Licensed under the LGPL or a commercial license.
* For LGPL see License.txt in the project root for license information.
* For commercial licenses see https://www.tiny.cloud/
*/
.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{background-color:green;display:inline-block;opacity:.5;position:absolute}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}body{font-family:sans-serif}table{border-collapse:collapse}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册