Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
solo-1
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
solo-1
Commits
499d4fbf
Unverified
Commit
499d4fbf
authored
Jan 13, 2020
by
Liang Ding
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
🐛
Fix #19
parent
66478b73
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
177 additions
and
44 deletions
+177
-44
src/main/java/org/b3log/solo/Server.java
src/main/java/org/b3log/solo/Server.java
+4
-1
src/main/java/org/b3log/solo/processor/console/StaticSiteConsole.java
...a/org/b3log/solo/processor/console/StaticSiteConsole.java
+53
-30
src/main/resources/admin/admin-index.ftl
src/main/resources/admin/admin-index.ftl
+8
-1
src/main/resources/admin/admin-staticsite.ftl
src/main/resources/admin/admin-staticsite.ftl
+29
-0
src/main/resources/js/admin/admin.js
src/main/resources/js/admin/admin.js
+3
-9
src/main/resources/js/admin/staticsite.js
src/main/resources/js/admin/staticsite.js
+67
-0
src/main/resources/lang_en_US.properties
src/main/resources/lang_en_US.properties
+6
-1
src/main/resources/lang_zh_CN.properties
src/main/resources/lang_zh_CN.properties
+6
-1
src/main/resources/skins/Finding/css/base.css
src/main/resources/skins/Finding/css/base.css
+1
-1
No files found.
src/main/java/org/b3log/solo/Server.java
View file @
499d4fbf
...
...
@@ -46,7 +46,7 @@ import org.json.JSONObject;
* Server.
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 2.0.0.
6, Jan
3, 2020
* @version 2.0.0.
7, Jan 1
3, 2020
* @since 1.2.0
*/
public
final
class
Server
extends
BaseServer
{
...
...
@@ -373,6 +373,7 @@ public final class Server extends BaseServer {
"/admin-category-list.do"
,
"/admin-theme-list.do"
,
"/admin-plugin-list.do"
,
"/admin-staticsite.do"
,
"/admin-main.do"
,
"/admin-about.do"
},
adminConsole:
:
showAdminFunctions
);
Dispatcher
.
get
(
"/console/export/sql"
,
adminConsole:
:
exportSQL
);
...
...
@@ -426,6 +427,8 @@ public final class Server extends BaseServer {
Dispatcher
.
post
(
"/console/plugin/toSetting"
,
pluginConsole:
:
toSetting
);
Dispatcher
.
post
(
"/console/plugin/updateSetting"
,
pluginConsole:
:
updateSetting
);
final
PreferenceConsole
preferenceConsole
=
beanManager
.
getReference
(
PreferenceConsole
.
class
);
Dispatcher
.
get
(
"/console/signs/"
,
preferenceConsole:
:
getSigns
);
Dispatcher
.
get
(
"/console/preference/"
,
preferenceConsole:
:
getPreference
);
...
...
src/main/java/org/b3log/solo/processor/
StaticSiteProcessor
.java
→
src/main/java/org/b3log/solo/processor/
console/StaticSiteConsole
.java
View file @
499d4fbf
...
...
@@ -15,23 +15,26 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package
org
.
b3log
.
solo
.
processor
;
package
org
.
b3log
.
solo
.
processor
.
console
;
import
org.apache.commons.io.FileUtils
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.time.DateFormatUtils
;
import
org.b3log.latke.Latkes
;
import
org.b3log.latke.http.HttpMethod
;
import
org.b3log.latke.http.RequestContext
;
import
org.b3log.latke.http.annotation.Before
;
import
org.b3log.latke.http.annotation.RequestProcessing
;
import
org.b3log.latke.http.annotation.RequestProcessor
;
import
org.b3log.latke.ioc.BeanManager
;
import
org.b3log.latke.ioc.Inject
;
import
org.b3log.latke.logging.Level
;
import
org.b3log.latke.logging.Logger
;
import
org.b3log.latke.service.LangPropsService
;
import
org.b3log.latke.util.CollectionUtils
;
import
org.b3log.latke.util.Strings
;
import
org.b3log.solo.model.*
;
import
org.b3log.solo.processor.console.ConsoleAuthAdvice
;
import
org.b3log.solo.service.*
;
import
org.b3log.solo.util.Mocks
;
import
org.b3log.solo.util.Solos
;
...
...
@@ -44,52 +47,50 @@ import java.nio.charset.StandardCharsets;
import
java.util.List
;
/**
* Static site
processor
. HTML 静态站点生成 https://github.com/88250/solo/issues/19
* Static site
console request processing
. HTML 静态站点生成 https://github.com/88250/solo/issues/19
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.0.
1, Jan 8
, 2020
* @version 1.0.0.
0, Jan 13
, 2020
* @since 3.9.0
*/
@RequestProcessor
@Before
(
ConsoleAuthAdvice
.
class
)
public
class
StaticSite
Processor
{
@Before
(
ConsoleA
dminA
uthAdvice
.
class
)
public
class
StaticSite
Console
{
/**
* Logger.
*/
private
static
final
Logger
LOGGER
=
Logger
.
getLogger
(
StaticSite
Processor
.
class
);
private
static
final
Logger
LOGGER
=
Logger
.
getLogger
(
StaticSite
Console
.
class
);
/**
* Name of generate directory.
*/
private
static
final
String
STATIC_SITE
=
"static-site"
;
/**
* Path of generate directory.
* Language service.
*/
private
static
final
String
staticSitePath
=
StaticSiteProcessor
.
class
.
getResource
(
"/"
+
STATIC_SITE
).
getPath
();
/**
* Source directory path.
*/
private
static
final
String
sourcePath
=
StaticSiteProcessor
.
class
.
getResource
(
"/"
).
getPath
();
@Inject
private
LangPropsService
langPropsService
;
/**
* Generates static site.
*
* @param context the specified context
* @param context the specified
request
context
*/
@RequestProcessing
(
value
=
"/
static-site"
)
public
synchronized
void
genS
taticS
ite
(
final
RequestContext
context
)
{
@RequestProcessing
(
value
=
"/
console/staticsite"
,
method
=
HttpMethod
.
PUT
)
public
synchronized
void
genSite
(
final
RequestContext
context
)
{
try
{
final
JSONObject
requestJSONObject
=
context
.
requestJSON
();
final
String
url
=
requestJSONObject
.
optString
(
Common
.
URL
);
if
(!
Strings
.
isURL
(
url
))
{
context
.
renderJSON
(-
1
);
context
.
renderMsg
(
"Invalid site URL"
);
return
;
}
FileUtils
.
deleteDirectory
(
new
File
(
staticSitePath
));
FileUtils
.
forceMkdir
(
new
File
(
staticSitePath
));
// 切换至静态站点生成模式
Latkes
.
setServerScheme
(
"https"
);
// TODO: 前端传入生成站点域名
Latkes
.
setServerHost
(
"88250.github.io"
);
// Latkes.setServerHost("dl88250.gitee.io");
Latkes
.
setServerHost
(
url
);
Latkes
.
setServerPort
(
""
);
Solos
.
GEN_STATIC_SITE
=
true
;
...
...
@@ -121,13 +122,34 @@ public class StaticSiteProcessor {
Solos
.
GEN_STATIC_SITE
=
false
;
LOGGER
.
log
(
Level
.
INFO
,
"Static site generated [dir="
+
staticSitePath
+
"]"
);
String
siteGenedLabel
=
langPropsService
.
get
(
"siteGenedLabel"
);
siteGenedLabel
=
siteGenedLabel
.
replace
(
"{dir}"
,
staticSitePath
);
context
.
renderJSON
(
0
);
context
.
renderMsg
(
siteGenedLabel
);
}
catch
(
final
Exception
e
)
{
LOGGER
.
log
(
Level
.
ERROR
,
"Generates static site failed"
,
e
);
context
.
renderJSON
(-
1
);
context
.
renderMsg
(
langPropsService
.
get
(
"updateFailLabel"
));
}
}
/**
* Name of generate directory.
*/
private
static
final
String
STATIC_SITE
=
"static-site"
;
/**
* Path of generate directory.
*/
private
static
final
String
staticSitePath
=
StaticSiteConsole
.
class
.
getResource
(
"/"
+
STATIC_SITE
).
getPath
();
/**
* Source directory path.
*/
private
static
final
String
sourcePath
=
StaticSiteConsole
.
class
.
getResource
(
"/"
).
getPath
();
private
static
void
genCategories
()
throws
Exception
{
final
BeanManager
beanManager
=
BeanManager
.
getInstance
();
final
CategoryQueryService
categoryQueryService
=
beanManager
.
getReference
(
CategoryQueryService
.
class
);
...
...
@@ -248,28 +270,28 @@ public class StaticSiteProcessor {
private
static
void
genSkins
()
throws
Exception
{
FileUtils
.
deleteDirectory
(
new
File
(
staticSitePath
+
"/skins"
));
FileUtils
.
forceMkdir
(
new
File
(
staticSitePath
+
"/skins"
));
FileUtils
.
copyDirectory
(
new
File
(
StaticSite
Processor
.
class
.
getResource
(
"/skins"
).
toURI
()),
new
File
(
staticSitePath
+
"/skins"
));
FileUtils
.
copyDirectory
(
new
File
(
StaticSite
Console
.
class
.
getResource
(
"/skins"
).
toURI
()),
new
File
(
staticSitePath
+
"/skins"
));
LOGGER
.
log
(
Level
.
INFO
,
"Generated skins"
);
}
private
static
void
genJS
()
throws
Exception
{
FileUtils
.
deleteDirectory
(
new
File
(
staticSitePath
+
"/js"
));
FileUtils
.
forceMkdir
(
new
File
(
staticSitePath
+
"/js"
));
FileUtils
.
copyDirectory
(
new
File
(
StaticSite
Processor
.
class
.
getResource
(
"/js"
).
toURI
()),
new
File
(
staticSitePath
+
"/js"
));
FileUtils
.
copyDirectory
(
new
File
(
StaticSite
Console
.
class
.
getResource
(
"/js"
).
toURI
()),
new
File
(
staticSitePath
+
"/js"
));
LOGGER
.
log
(
Level
.
INFO
,
"Generated js"
);
}
private
static
void
genImages
()
throws
Exception
{
FileUtils
.
deleteDirectory
(
new
File
(
staticSitePath
+
"/images"
));
FileUtils
.
forceMkdir
(
new
File
(
staticSitePath
+
"/images"
));
FileUtils
.
copyDirectory
(
new
File
(
StaticSite
Processor
.
class
.
getResource
(
"/images"
).
toURI
()),
new
File
(
staticSitePath
+
"/images"
));
FileUtils
.
copyDirectory
(
new
File
(
StaticSite
Console
.
class
.
getResource
(
"/images"
).
toURI
()),
new
File
(
staticSitePath
+
"/images"
));
LOGGER
.
log
(
Level
.
INFO
,
"Generated images"
);
}
private
static
void
genPlugins
()
throws
Exception
{
FileUtils
.
deleteDirectory
(
new
File
(
staticSitePath
+
"/plugins"
));
FileUtils
.
forceMkdir
(
new
File
(
staticSitePath
+
"/plugins"
));
FileUtils
.
copyDirectory
(
new
File
(
StaticSite
Processor
.
class
.
getResource
(
"/plugins"
).
toURI
()),
new
File
(
staticSitePath
+
"/plugins"
));
FileUtils
.
copyDirectory
(
new
File
(
StaticSite
Console
.
class
.
getResource
(
"/plugins"
).
toURI
()),
new
File
(
staticSitePath
+
"/plugins"
));
genURI
(
"/plugins/kanbanniang/assets/model.json"
);
LOGGER
.
log
(
Level
.
INFO
,
"Generated plugins"
);
...
...
@@ -277,8 +299,9 @@ public class StaticSiteProcessor {
private
static
void
genFile
(
final
String
file
)
throws
Exception
{
FileUtils
.
forceMkdirParent
(
new
File
(
staticSitePath
+
"/"
+
file
));
final
String
staticSitePath
=
StaticSite
Processor
.
class
.
getResource
(
"/"
+
STATIC_SITE
).
toURI
().
getPath
();
final
String
staticSitePath
=
StaticSite
Console
.
class
.
getResource
(
"/"
+
STATIC_SITE
).
toURI
().
getPath
();
FileUtils
.
copyFile
(
new
File
(
sourcePath
+
"/"
+
file
),
new
File
(
staticSitePath
+
"/"
+
file
));
LOGGER
.
log
(
Level
.
INFO
,
"Generated a file ["
+
file
+
"]"
);
}
}
src/main/resources/admin/admin-index.ftl
View file @
499d4fbf
...
...
@@ -84,7 +84,7 @@
</a>
</div>
</li>
<li>
<li
id=
"tools"
>
<div
id=
"tabToolsTitle"
onclick=
"admin.collapseNav(this)"
>
<span
class=
"icon-setting"
></span>
${ToolLabel}
...
...
@@ -126,6 +126,11 @@
<a
href=
"#tools/plugin-list"
>
${pluginMgmtLabel}
</a>
</div>
</li>
<li>
<div
id=
"tabs_staticsite"
>
<a
href=
"#tools/staticsite"
>
${staticsiteMgmtLabel}
</a>
</div>
</li>
<li>
<div
id=
"tabs_others"
>
<a
href=
"#tools/others/tag"
>
${othersLabel}
</a>
...
...
@@ -157,6 +162,7 @@
<div
id=
"tabsPanel_user-list"
class=
"fn__none"
></div>
<div
id=
"tabsPanel_comment-list"
class=
"fn__none"
></div>
<div
id=
"tabsPanel_plugin-list"
class=
"fn__none"
></div>
<div
id=
"tabsPanel_staticsite"
class=
"fn__none"
></div>
<div
id=
"tabsPanel_about"
class=
"fn__none"
></div>
</div>
<div
class=
"fn__clear"
></div>
...
...
@@ -184,6 +190,7 @@
<script
src=
"${staticServePath}/js/admin/categoryList.js"
></script>
<script
src=
"${staticServePath}/js/admin/commentList.js"
></script>
<script
src=
"${staticServePath}/js/admin/plugin.js"
></script>
<script
src=
"${staticServePath}/js/admin/staticsite.js"
></script>
<script
src=
"${staticServePath}/js/admin/main.js"
></script>
<script
src=
"${staticServePath}/js/admin/about.js"
></script>
<script
src=
"${staticServePath}/js/admin/themeList.js"
></script>
...
...
src/main/resources/admin/admin-staticsite.ftl
0 → 100644
View file @
499d4fbf
<#--
Solo - A small and beautiful blogging system written in Java.
Copyright (c) 2010-present, b3log.org
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
-->
<div class="form form__no-table">
${configStaticSiteGenLabel}
<label>${siteURLLabel}</label>
<input id="siteURL" type="text" placeholder="https://yourname.github.io"/>
<br><br>
<button onclick="admin.staticsite.update();" class="fn__right">${generateLabel}</button>
<div class="fn__clear"></div>
</div>
${plugins}
\ No newline at end of file
src/main/resources/js/admin/admin.js
View file @
499d4fbf
...
...
@@ -20,7 +20,7 @@
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.4.0.
0, Apr 22, 2019
* @version 1.4.0.
1, Jan 13, 2020
*/
Util
.
htmlDecode
=
function
(
code
)
{
...
...
@@ -34,11 +34,7 @@ var Admin = function () {
// 工具栏下的工具
this
.
tools
=
[
'
#page-list
'
,
'
#theme-list
'
,
'
#link-list
'
,
'
#preference
'
,
'
#user-list
'
,
'
#plugin-list
'
,
'
#others
'
,
'
#category-list
'
]
// 多用户时,一般用户不能使用的功能
this
.
adTools
=
[
'
link-list
'
,
'
preference
'
,
'
theme-list
'
,
'
page-list
'
,
'
user-list
'
,
'
plugin-list
'
,
'
others
'
,
'
category-list
'
]
'
#user-list
'
,
'
#plugin-list
'
,
'
#others
'
,
'
#category-list
'
,
"
#staticsite
"
]
}
$
.
extend
(
Admin
.
prototype
,
{
...
...
@@ -264,9 +260,7 @@ $.extend(Admin.prototype, {
inited
:
function
()
{
// Removes functions with the current user role
if
(
Label
.
userRole
!==
'
adminRole
'
)
{
for
(
var
i
=
0
;
i
<
this
.
adTools
.
length
;
i
++
)
{
$
(
'
#tabs
'
).
tabs
(
'
remove
'
,
this
.
adTools
[
i
])
}
$
(
'
#tools
'
).
remove
();
}
else
{
// 当前 tab 属于 Tools 时,设其展开
for
(
var
j
=
0
;
j
<
this
.
tools
.
length
;
j
++
)
{
...
...
src/main/resources/js/admin/staticsite.js
0 → 100644
View file @
499d4fbf
/*
* Solo - A small and beautiful blogging system written in Java.
* Copyright (c) 2010-present, b3log.org
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
/**
* staticsite for admin.
*
* @author <a href="http://vanessa.b3log.org">Liyuan Li</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.0.0, Jan 13, 2020
*/
/* staticsite 相关操作 */
admin
.
staticsite
=
{
/*
* 初始化
*/
init
:
function
()
{
$
(
'
#loadMsg
'
).
text
(
''
)
},
/*
* @description 更新
*/
update
:
function
()
{
$
(
'
#tipMsg
'
).
text
(
''
)
$
(
'
#loadMsg
'
).
text
(
Label
.
loadingLabel
)
var
requestJSONObject
=
{
'
url
'
:
$
(
'
#siteURL
'
).
val
(),
}
$
.
ajax
({
url
:
Label
.
servePath
+
'
/console/staticsite
'
,
type
:
'
PUT
'
,
cache
:
false
,
data
:
JSON
.
stringify
(
requestJSONObject
),
success
:
function
(
result
,
textStatus
)
{
$
(
'
#tipMsg
'
).
text
(
result
.
msg
)
$
(
'
#loadMsg
'
).
text
(
''
)
},
})
},
}
/*
* 注册到 admin 进行管理
*/
admin
.
register
[
'
staticsite
'
]
=
{
'
obj
'
:
admin
.
staticsite
,
'
init
'
:
admin
.
staticsite
.
init
,
'
refresh
'
:
function
()
{
admin
.
clearTip
()
},
}
src/main/resources/lang_en_US.properties
View file @
499d4fbf
...
...
@@ -18,12 +18,16 @@
#
# Description: Solo language configurations(en_US).
# Version: 2.3
6.0.0, Jan 2
, 2020
# Version: 2.3
7.0.0, Jan 13
, 2020
# Author: Liang Ding
# Author: Liyuan Li
# Author: Dongxu Wang
#
siteURLLabel
=
Site URL:
siteGenedLabel
=
Site generated, target dir is [{dir}]
generateLabel
=
Gen
configStaticSiteGenLabel
=
Static site generate
siteLinkLabel
=
Site links
setMobileLabel
=
Set to mobile skin
configSiteLabel
=
Go to the site link to configure GitHub, Twitter, etc.
...
...
@@ -125,6 +129,7 @@ updateCategoryLabel=Update Category
linkManagementLabel
=
Links
categoryListLabel
=
Category
pluginMgmtLabel
=
Plugins
staticsiteMgmtLabel
=
Static Site
pluginNameLabel
=
Name
versionLabel
=
Version
statusLabel
=
Status
...
...
src/main/resources/lang_zh_CN.properties
View file @
499d4fbf
...
...
@@ -18,12 +18,16 @@
#
# Description: Solo default language configurations(zh_CN).
# Version: 2.3
6.0.0, Jan 2
, 2020
# Version: 2.3
7.0.0, Jan 13
, 2020
# Author: Liang Ding
# Author: Liyuan Li
# Author: Dongxu Wang
#
siteURLLabel
=
\u
7AD9
\u
70B9
\u5730\u5740\u
FF1A
siteGenedLabel
=
\u
7AD9
\u
70B9
\u
751F
\u6210\u
5B8C
\u
6BD5
\u
FF0C
\u
8BF7
\u
67E5
\u
770B
\u
76EE
\u
5F55 [{dir}]
generateLabel
=
\u
751F
\u6210
configStaticSiteGenLabel
=
\u9759\u6001\u
7AD9
\u
70B9
\u
751F
\u6210
siteLinkLabel
=
\u
7AD9
\u
70B9
\u
8FDE
\u
63A5
setMobileLabel
=
\u
8BBE
\u
7F6E
\u
4E3A
\u
79FB
\u
52A8
\u
7AEF
\u
76AE
\u
80A4
configSiteLabel
=
\u
524D
\u
5F80
\u
914D
\u
7F6E GitHub
\u
FF0CTwitter
\u
7B49
\u
7AD9
\u
70B9
\u
94FE
\u
63A5
...
...
@@ -125,6 +129,7 @@ updateCategoryLabel=\u66F4\u65B0\u5206\u7C7B
linkManagementLabel
=
\u
94FE
\u
63A5
\u
7BA1
\u7406
categoryListLabel
=
\u5206\u
7C7B
\u
7BA1
\u7406
pluginMgmtLabel
=
\u
63D2
\u
4EF6
\u
7BA1
\u7406
staticsiteMgmtLabel
=
\u9759\u6001\u
7AD9
\u
70B9
pluginNameLabel
=
\u
63D2
\u
4EF6
\u
540D
versionLabel
=
\u7248\u
672C
statusLabel
=
\u
72B6
\u6001
...
...
src/main/resources/skins/Finding/css/base.css
View file @
499d4fbf
.article__toc
{
overflow
:
auto
}
.article__toc
::-webkit-scrollbar
{
display
:
none
}
.article__toc
li
{
list-style-type
:
none
}
.article__toc
li
a
{
padding-left
:
10px
;
display
:
block
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
}
.article__toc
li
a
:hover
{
text-decoration
:
none
}
.article__toc
li
.toc__h3
a
{
padding-left
:
20px
}
.article__toc
li
.toc__h4
a
{
padding-left
:
30px
}
.article__toc
li
.toc__h5
a
{
padding-left
:
40px
}
.user__site
:hover
{
text-decoration
:
none
}
@-webkit-keyframes
tooltip-appear
{
from
{
opacity
:
0
}
to
{
opacity
:
1
}}
@keyframes
tooltip-appear
{
from
{
opacity
:
0
}
to
{
opacity
:
1
}}
.vditor-tooltipped
{
position
:
relative
;
cursor
:
pointer
}
.vditor-tooltipped
::after
{
position
:
absolute
;
z-index
:
1000000
;
display
:
none
;
padding
:
5px
8px
;
font-size
:
11px
;
font-weight
:
normal
;
-webkit-font-smoothing
:
subpixel-antialiased
;
color
:
#fff
;
text-align
:
center
;
text-decoration
:
none
;
text-shadow
:
none
;
text-transform
:
none
;
letter-spacing
:
normal
;
word-wrap
:
break-word
;
white-space
:
pre
;
pointer-events
:
none
;
content
:
attr
(
aria-label
);
background
:
rgba
(
0
,
0
,
0
,
0.8
);
border-radius
:
3px
;
line-height
:
16px
;
opacity
:
0
}
.vditor-tooltipped
::before
{
position
:
absolute
;
z-index
:
1000001
;
display
:
none
;
width
:
0
;
height
:
0
;
color
:
rgba
(
0
,
0
,
0
,
0.8
);
pointer-events
:
none
;
content
:
""
;
border
:
5px
solid
transparent
;
opacity
:
0
}
.vditor-tooltipped--hover
::before
,
.vditor-tooltipped--hover
::after
,
.vditor-tooltipped
:hover::before
,
.vditor-tooltipped
:hover::after
,
.vditor-tooltipped
:active::before
,
.vditor-tooltipped
:active::after
,
.vditor-tooltipped
:focus::before
,
.vditor-tooltipped
:focus::after
{
display
:
inline-block
;
text-decoration
:
none
;
-webkit-animation-name
:
tooltip-appear
;
animation-name
:
tooltip-appear
;
-webkit-animation-duration
:
0.15s
;
animation-duration
:
0.15s
;
-webkit-animation-fill-mode
:
forwards
;
animation-fill-mode
:
forwards
;
-webkit-animation-timing-function
:
ease-in
;
animation-timing-function
:
ease-in
}
.vditor-tooltipped__s
::after
,
.vditor-tooltipped__se
::after
,
.vditor-tooltipped__sw
::after
{
top
:
100%
;
right
:
50%
;
margin-top
:
5px
}
.vditor-tooltipped__s
::before
,
.vditor-tooltipped__se
::before
,
.vditor-tooltipped__sw
::before
{
top
:
auto
;
right
:
50%
;
bottom
:
-5px
;
margin-right
:
-5px
;
border-bottom-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.vditor-tooltipped__se
::after
{
right
:
auto
;
left
:
50%
;
margin-left
:
-15px
}
.vditor-tooltipped__sw
::after
{
margin-right
:
-15px
}
.vditor-tooltipped__n
::after
,
.vditor-tooltipped__ne
::after
,
.vditor-tooltipped__nw
::after
{
right
:
50%
;
bottom
:
100%
;
margin-bottom
:
5px
}
.vditor-tooltipped__n
::before
,
.vditor-tooltipped__ne
::before
,
.vditor-tooltipped__nw
::before
{
top
:
-5px
;
right
:
50%
;
bottom
:
auto
;
margin-right
:
-5px
;
border-top-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.vditor-tooltipped__ne
::after
{
right
:
auto
;
left
:
50%
;
margin-left
:
-15px
}
.vditor-tooltipped__nw
::after
{
margin-right
:
-15px
}
.vditor-tooltipped__s
::after
,
.vditor-tooltipped__n
::after
{
-webkit-transform
:
translateX
(
50%
);
transform
:
translateX
(
50%
)}
.vditor-tooltipped__w
::after
{
right
:
100%
;
bottom
:
50%
;
margin-right
:
5px
;
-webkit-transform
:
translateY
(
50%
);
transform
:
translateY
(
50%
)}
.vditor-tooltipped__w
::before
{
top
:
50%
;
bottom
:
50%
;
left
:
-5px
;
margin-top
:
-5px
;
border-left-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.vditor-tooltipped__e
::after
{
bottom
:
50%
;
left
:
100%
;
margin-left
:
5px
;
-webkit-transform
:
translateY
(
50%
);
transform
:
translateY
(
50%
)}
.vditor-tooltipped__e
::before
{
top
:
50%
;
right
:
-5px
;
bottom
:
50%
;
margin-top
:
-5px
;
border-right-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
@-webkit-keyframes
scale-in
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0.5
);
transform
:
scale
(
0.5
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
@keyframes
scale-in
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0.5
);
transform
:
scale
(
0.5
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
.vditor-panel
{
background-color
:
#fff
;
position
:
absolute
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
3px
;
padding
:
5px
;
z-index
:
3
;
font-size
:
14px
;
display
:
none
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
max-width
:
320px
;
min-width
:
80px
;
-webkit-animation-duration
:
.15s
;
animation-duration
:
.15s
;
-webkit-animation-name
:
scale-in
;
animation-name
:
scale-in
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.2
,
0
,
0.13
,
1.5
);
animation-timing-function
:
cubic-bezier
(
0.2
,
0
,
0.13
,
1.5
)}
.vditor-panel--none
{
color
:
#4285f4
;
padding
:
0
;
-webkit-animation
:
none
;
animation
:
none
;
background-color
:
#f6f8fa
;
min-width
:
auto
;
max-width
:
none
}
.vditor-panel
h1
,
.vditor-panel
h2
,
.vditor-panel
h3
,
.vditor-panel
h4
,
.vditor-panel
h5
,
.vditor-panel
h6
{
margin
:
0
;
cursor
:
pointer
;
padding
:
3px
10px
;
border-radius
:
3px
;
line-height
:
normal
}
.vditor-panel
h1
:hover
,
.vditor-panel
h2
:hover
,
.vditor-panel
h3
:hover
,
.vditor-panel
h4
:hover
,
.vditor-panel
h5
:hover
,
.vditor-panel
h6
:hover
{
background-color
:
#4285f4
;
color
:
#fff
}
.vditor-input
{
border
:
0
;
padding
:
3px
5px
;
background-color
:
#f6f8fa
}
.vditor-input
:focus
{
background-color
:
#fff
;
outline
:
none
}
.vditor-icon
{
color
:
#586069
;
cursor
:
pointer
;
float
:
left
;
padding
:
2px
5px
;
height
:
19px
;
width
:
25px
;
background-color
:
transparent
;
border
:
0
;
box-sizing
:
border-box
}
.vditor-icon
:hover
,
.vditor-icon--current
{
color
:
#4285f4
;
background-color
:
transparent
}
.vditor-icon
:focus
{
outline
:
none
}
.vditor-icon
svg
{
height
:
15px
!important
;
width
:
15px
!important
;
float
:
left
;
fill
:
currentColor
}
.vditor-toolbar
{
background-color
:
#f6f8fa
;
border-bottom
:
1px
solid
#d1d5da
;
padding
:
0
5px
;
border-radius
:
3px
3px
0
0
}
.vditor-toolbar
>
div
{
float
:
left
}
.vditor-toolbar
>
div
>
.vditor-tooltipped
{
border
:
0
;
margin
:
0
;
padding
:
10px
5px
;
background-color
:
transparent
;
height
:
35px
;
width
:
25px
;
box-sizing
:
border-box
}
.vditor-toolbar
>
div
>
.vditor-tooltipped
:focus
{
outline
:
none
}
.vditor-toolbar
.vditor-tooltipped
{
color
:
#586069
}
.vditor-toolbar
.vditor-tooltipped
:hover
{
color
:
#4285f4
}
.vditor-toolbar
svg
{
fill
:
currentColor
;
display
:
inline-block
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
15px
;
height
:
15px
}
.vditor-toolbar
input
{
position
:
absolute
;
width
:
25px
;
height
:
35px
;
top
:
0
;
left
:
0
;
cursor
:
pointer
;
opacity
:
.001
;
overflow
:
hidden
}
.vditor-menu--current
svg
{
color
:
#4285f4
}
.vditor-menu__divider
{
width
:
10px
;
height
:
35px
}
.vditor-menu__br
{
width
:
100%
;
padding
:
0
!important
;
height
:
0
!important
}
.vditor-menu--disabled
svg
{
color
:
rgba
(
88
,
96
,
105
,
0.6
);
cursor
:
not-allowed
}
.vditor-emojis
{
display
:
inline-block
;
overflow
:
auto
}
.vditor-emojis
::-webkit-scrollbar
{
display
:
none
}
.vditor-emojis__tip
{
-webkit-box-flex
:
1
;
flex
:
1
;
width
:
200px
;
margin-right
:
10px
;
color
:
#586069
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
}
.vditor-emojis__tail
{
margin-top
:
5px
;
font-size
:
12px
;
color
:
#586069
;
display
:
-webkit-box
;
display
:
flex
}
.vditor-emojis__tail
a
{
text-decoration
:
none
;
color
:
#586069
}
.vditor-emojis__tail
a
:hover
{
color
:
#4285f4
}
.vditor-emojis
button
{
cursor
:
pointer
;
border-radius
:
3px
;
float
:
left
;
height
:
30px
;
width
:
30px
;
text-align
:
center
;
line-height
:
26px
;
padding
:
3px
;
box-sizing
:
border-box
;
font-size
:
16px
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
;
border
:
0
;
margin
:
0
;
background-color
:
transparent
;
overflow
:
hidden
}
.vditor-emojis
button
:focus
{
outline
:
none
}
.vditor-emojis
button
:hover
.vditor-emojis__icon
{
display
:
inline-block
;
-webkit-transform
:
scale
(
1.2
);
transform
:
scale
(
1.2
)}
.vditor-emojis
img
{
height
:
20px
;
width
:
20px
;
float
:
left
;
margin
:
3px
0
0
3px
}
@-webkit-keyframes
slideInDown
{
from
{
-webkit-transform
:
translate3d
(
0
,
-100%
,
0
);
transform
:
translate3d
(
0
,
-100%
,
0
);
visibility
:
visible
}
to
{
-webkit-transform
:
translate3d
(
0
,
0
,
0
);
transform
:
translate3d
(
0
,
0
,
0
)}}
@keyframes
slideInDown
{
from
{
-webkit-transform
:
translate3d
(
0
,
-100%
,
0
);
transform
:
translate3d
(
0
,
-100%
,
0
);
visibility
:
visible
}
to
{
-webkit-transform
:
translate3d
(
0
,
0
,
0
);
transform
:
translate3d
(
0
,
0
,
0
)}}
.vditor
{
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-orient
:
vertical
;
-webkit-box-direction
:
normal
;
flex-direction
:
column
;
border
:
1px
solid
#d1d5da
;
border-radius
:
3px
;
box-sizing
:
border-box
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
}
.vditor--fullscreen
{
position
:
fixed
;
top
:
0
;
width
:
100%
!important
;
left
:
0
;
height
:
100vh
!important
;
z-index
:
90
;
background-color
:
#fff
}
.vditor-content
{
display
:
-webkit-box
;
display
:
flex
;
min-height
:
60px
;
-webkit-box-flex
:
1
;
flex
:
1
;
position
:
relative
}
.vditor-textarea
{
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
margin
:
0
1px
0
0
;
height
:
100%
;
overflow
:
auto
;
width
:
100%
;
-webkit-box-flex
:
1
;
flex
:
1
;
border
:
0
;
resize
:
none
;
padding
:
10px
9px
10px
10px
;
box-sizing
:
border-box
;
background-color
:
#fafbfc
;
outline
:
0
none
;
font-size
:
16px
;
line-height
:
22px
;
color
:
#24292e
;
border-radius
:
0
0
3px
3px
;
font-variant-ligatures
:
no-common-ligatures
;
white-space
:
pre-wrap
;
word-break
:
break-word
;
word-wrap
:
break-word
}
.vditor-textarea
[
contenteditable
=
"false"
]
{
opacity
:
0.3
;
cursor
:
not-allowed
}
.vditor-textarea
:focus
{
background-color
:
#fff
}
.vditor-textarea
:empty::before
{
content
:
attr
(
placeholder
);
color
:
rgba
(
36
,
41
,
46
,
0.68
)}
.vditor-preview
{
-webkit-box-flex
:
1
;
flex
:
1
;
background-color
:
#fff
;
overflow
:
auto
;
margin-left
:
-1px
;
padding
:
10px
;
box-shadow
:
inset
1px
0
#d1d5da
;
box-sizing
:
border-box
;
border-radius
:
0
0
3px
0
}
.vditor-preview
>
div
::-webkit-scrollbar
{
display
:
none
}
.vditor-preview
>
.vditor-reset
{
margin
:
0
auto
}
.vditor-devtools
{
display
:
none
;
background-color
:
#fff
;
overflow
:
auto
;
-webkit-box-flex
:
1
;
flex
:
1
;
box-shadow
:
inset
1px
0
#d1d5da
;
box-sizing
:
border-box
;
border-radius
:
0
0
3px
0
;
padding
:
10px
}
.vditor-counter
{
padding
:
0
3px
;
position
:
absolute
;
bottom
:
10px
;
right
:
20px
;
color
:
#24292e
;
background-color
:
rgba
(
255
,
255
,
255
,
0.6
);
border-radius
:
3px
;
font-size
:
12px
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
z-index
:
2
}
.vditor-counter--error
{
color
:
#d23f31
;
background-color
:
rgba
(
210
,
63
,
49
,
0.1
)}
.vditor-resize
{
padding
:
3px
0
;
cursor
:
row-resize
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
position
:
absolute
;
width
:
100%
;
z-index
:
2
}
.vditor-resize--top
{
top
:
-3px
}
.vditor-resize--bottom
{
bottom
:
-3px
}
.vditor-resize
>
div
{
height
:
3px
;
background-color
:
#f6f8fa
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
}
.vditor-resize
:hover
>
div
,
.vditor-resize--selected
>
div
{
background-color
:
#4285f4
}
.vditor-resize
:hover
svg
,
.vditor-resize--selected
svg
{
color
:
#fff
}
.vditor-resize
svg
{
fill
:
currentColor
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
13px
;
height
:
3px
;
display
:
block
;
margin
:
0
auto
;
color
:
#586069
}
.vditor-upload
{
position
:
absolute
;
height
:
3px
;
left
:
0
;
top
:
-2px
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
;
background-color
:
rgba
(
66
,
133
,
244
,
0.8
)}
.vditor-tip
{
position
:
absolute
;
font-size
:
12px
;
top
:
10px
;
color
:
#fff
;
-webkit-animation-duration
:
.15s
;
animation-duration
:
.15s
;
-webkit-animation-fill-mode
:
both
;
animation-fill-mode
:
both
;
left
:
50%
}
.vditor-tip--show
{
display
:
block
;
-webkit-animation-name
:
slideInDown
;
animation-name
:
slideInDown
}
.vditor-tip__content
{
text-align
:
left
;
display
:
inline-block
;
line-height
:
16px
;
padding
:
3px
10px
;
border-radius
:
3px
;
background
:
rgba
(
66
,
133
,
244
,
0.8
);
position
:
relative
;
margin-left
:
-50%
}
.vditor-tip__content
ul
{
margin
:
2px
0
;
padding
:
0
0
0
18px
}
.vditor-tip__close
{
position
:
absolute
;
color
:
#586069
;
top
:
-7px
;
right
:
-15px
;
font-weight
:
bold
;
cursor
:
pointer
}
.vditor-tip__close
:hover
{
color
:
#4285f4
}
.vditor-hint
{
background-color
:
#fff
;
position
:
absolute
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
3px
;
padding
:
5px
0
;
z-index
:
4
;
line-height
:
20px
;
list-style
:
none
;
color
:
#24292e
;
font-size
:
12px
;
margin
:
0
;
max-width
:
250px
;
min-width
:
80px
;
display
:
none
}
.vditor-hint
button
{
display
:
block
;
padding
:
3px
10px
;
border
:
0
;
border-bottom
:
1px
solid
#d1d5da
;
line-height
:
20px
;
width
:
100%
;
box-sizing
:
border-box
;
text-align
:
left
;
margin
:
0
;
background-color
:
transparent
}
.vditor-hint
button
:last-child
{
border-bottom
:
0
}
.vditor-hint--current
,
.vditor-hint
button
:hover
{
background-color
:
#4285f4
!important
;
color
:
#fff
}
.vditor-hint__emoji
{
font-size
:
16px
;
float
:
left
;
margin-right
:
3px
}
.vditor-hint
img
{
height
:
20px
;
width
:
20px
;
float
:
left
;
margin-right
:
3px
}
.vditor-reset
{
font-variant-ligatures
:
no-common-ligatures
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
word-wrap
:
break-word
;
overflow
:
auto
;
line-height
:
1.5
;
font-size
:
16px
;
word-break
:
break-word
}
.vditor-reset--anchor
{
padding-left
:
20px
}
.vditor-reset
ul
ul
ul
{
list-style-type
:
square
}
.vditor-reset
ul
ul
{
list-style-type
:
circle
}
.vditor-reset
ul
{
list-style-type
:
disc
}
.vditor-reset
ul
,
.vditor-reset
ol
{
padding-left
:
2em
;
margin-top
:
0
;
margin-bottom
:
16px
}
.vditor-reset
li
+
li
{
margin-top
:
0.25em
}
.vditor-reset
audio
{
max-width
:
100%
}
.vditor-reset
audio
:focus
{
outline
:
none
}
.vditor-reset
video
{
max-height
:
90vh
;
max-width
:
100%
}
.vditor-reset
img
{
max-width
:
100%
}
.vditor-reset
img
.emoji
{
cursor
:
auto
;
max-width
:
20px
;
vertical-align
:
sub
}
.vditor-reset
h1
,
.vditor-reset
h2
,
.vditor-reset
h3
,
.vditor-reset
h4
,
.vditor-reset
h5
,
.vditor-reset
h6
{
margin-top
:
24px
;
margin-bottom
:
16px
;
font-weight
:
600
;
line-height
:
1.25
}
.vditor-reset
h1
:hover
.vditor-anchor
svg
,
.vditor-reset
h2
:hover
.vditor-anchor
svg
,
.vditor-reset
h3
:hover
.vditor-anchor
svg
,
.vditor-reset
h4
:hover
.vditor-anchor
svg
,
.vditor-reset
h5
:hover
.vditor-anchor
svg
,
.vditor-reset
h6
:hover
.vditor-anchor
svg
{
visibility
:
visible
}
.vditor-reset
h1
{
padding-bottom
:
0.3em
;
font-size
:
1.7em
;
border-bottom
:
1px
solid
#eee
}
.vditor-reset
h2
{
padding-bottom
:
0.3em
;
font-size
:
1.5em
;
border-bottom
:
1px
solid
#eee
}
.vditor-reset
h3
{
font-size
:
1.25em
}
.vditor-reset
h4
{
font-size
:
1em
}
.vditor-reset
h5
{
font-size
:
0.875em
}
.vditor-reset
h6
{
font-size
:
0.85em
}
.vditor-reset
hr
{
height
:
2px
;
padding
:
0
;
margin
:
24px
0
;
background-color
:
#e7e7e7
;
border
:
0
}
.vditor-reset
p
{
margin-top
:
0
;
margin-bottom
:
16px
}
.vditor-reset
blockquote
{
padding
:
0
1em
;
color
:
#777
;
border-left
:
0.25em
solid
#ddd
;
margin
:
0
0
16px
0
}
.vditor-reset
blockquote
p
{
margin
:
0
}
.vditor-reset
ins
>
iframe
{
border
:
0
}
.vditor-reset
iframe
{
border
:
1px
solid
#d1d5da
;
max-width
:
100%
;
box-sizing
:
border-box
}
.vditor-reset
iframe
.iframe__video
{
min-width
:
80%
;
min-height
:
36vh
}
.vditor-reset
table
{
width
:
100%
;
border-collapse
:
collapse
;
empty-cells
:
show
;
margin-bottom
:
16px
;
display
:
block
;
overflow
:
auto
;
border-spacing
:
0
}
.vditor-reset
table
tr
{
background-color
:
#fff
;
border-top
:
1px
solid
#c6cbd1
}
.vditor-reset
table
td
,
.vditor-reset
table
th
{
padding
:
6px
13px
;
border
:
1px
solid
#dfe2e5
;
word-break
:
normal
}
.vditor-reset
table
th
{
font-weight
:
600
}
.vditor-reset
table
tbody
tr
:nth-child
(
2n
)
{
background-color
:
#f6f8fa
}
.vditor-reset
code
:not
(
.hljs
)
:not
(
.highlight-chroma
)
{
padding
:
0.2em
0.4em
;
margin
:
0
;
font-size
:
85%
;
border-radius
:
3px
;
font-family
:
mononoki
,
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
word-break
:
break-word
;
background-size
:
20px
20px
;
white-space
:
pre-wrap
;
background-color
:
rgba
(
27
,
31
,
35
,
0.05
)}
.vditor-reset
pre
>
code
{
margin
:
0
;
font-size
:
85%
;
padding
:
0.5em
;
border-radius
:
5px
;
display
:
block
;
overflow
:
auto
;
white-space
:
pre
;
font-family
:
mononoki
,
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
background-size
:
20px
20px
;
background-image
:
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AgMAAABHkjHhAAAACVBMVEWAgIBaWlo+Pj7rTFvWAAAAA3RSTlMHCAw+VhR4AAAA+klEQVQoz4WSMW7EQAhFPxKWNh2FCx+HkaZI6RRb5DYbyVfIJXLKDCFoMbaTKSw/8ZnPAPjaH2xgZcUNUDADD7D9LtDBCLZ45fbkvo/30K8yeI64pPwl6znd/3n/Oe93P3ho9qeh72btTFzqkz0rsJle8Zr81OLEwZ1dv/713uWqvu2pl+k0fy7MWtj9r/tN5q/02z89qa/L4Dc2LvM93kezPfXlME/O86EbY/V9GB9ePX8G1/6W+/9h1dq/HGfTfzT3j/xNo7522Bfnqe5jO/fvhVthlfk434v3iO9zG/UOphyPeinPl1J8Gtaa7xPTa/Dk+RIs4deMvwGvcGsmsCvJ0AAAAABJRU5ErkJggg==)
;
word-break
:
initial
;
word-wrap
:
normal
}
.vditor-reset
pre
:hover
div
.vditor-copy
{
display
:
block
}
.vditor-reset
kbd
{
display
:
inline-block
;
padding
:
3px
5px
;
font
:
11px
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
;
line-height
:
10px
;
color
:
#555
;
vertical-align
:
middle
;
background-color
:
#fcfcfc
;
border
:
solid
1px
#d1d5da
;
border-bottom-color
:
#bbb
;
border-radius
:
3px
;
box-shadow
:
inset
0
-1px
0
#bbb
}
.vditor-reset
summary
{
cursor
:
pointer
}
.vditor-reset
summary
:focus
{
outline
:
none
}
.vditor-reset
svg
{
height
:
auto
;
width
:
auto
}
.vditor-reset
p
:last-child
,
.vditor-reset
blockquote
:last-child
,
.vditor-reset
pre
:last-child
,
.vditor-reset
ul
:last-child
,
.vditor-reset
ol
:last-child
,
.vditor-reset
hr
:last-child
{
margin-bottom
:
0
}
.vditor-reset
.language-echarts
{
overflow
:
hidden
;
height
:
420px
}
.vditor-task
{
list-style
:
none
}
.vditor-task
input
{
margin
:
0
.2em
.25em
-1.6em
;
font-size
:
12px
;
vertical-align
:
middle
}
.vditor-copy
{
position
:
relative
;
display
:
none
;
z-index
:
1
}
.vditor-copy
textarea
{
position
:
absolute
;
left
:
-100000px
;
height
:
10px
}
.vditor-copy
span
{
cursor
:
pointer
;
position
:
absolute
;
right
:
0.5em
;
top
:
0.5em
;
height
:
14px
;
width
:
14px
;
display
:
block
;
background-color
:
#f6f8fa
;
border-radius
:
3px
;
padding
:
3px
}
.vditor-copy
svg
{
color
:
#586069
;
height
:
14px
;
width
:
14px
!important
;
display
:
block
;
fill
:
currentColor
}
.vditor-linenumber
{
padding-left
:
4em
!important
;
position
:
relative
}
.vditor-linenumber__rows
{
position
:
absolute
;
pointer-events
:
none
;
top
:
0.5em
;
left
:
0
;
width
:
3em
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
counter-reset
:
linenumber
}
.vditor-linenumber__rows
>
span
{
pointer-events
:
none
;
display
:
block
}
.vditor-linenumber__rows
>
span
::before
{
counter-increment
:
linenumber
;
content
:
counter
(
linenumber
);
color
:
rgba
(
158
,
150
,
150
,
0.38
);
display
:
block
;
padding-right
:
1em
;
text-align
:
right
}
.vditor-speech
{
position
:
absolute
;
display
:
none
;
background-color
:
#f6f8fa
;
border
:
1px
solid
#d1d5da
;
border-radius
:
3px
;
padding
:
3px
;
cursor
:
pointer
;
color
:
#586069
}
.vditor-speech
:hover
,
.vditor-speech--current
{
color
:
#4285f4
}
.vditor-speech
svg
{
height
:
14px
;
width
:
14px
;
fill
:
currentColor
;
display
:
block
;
stroke-width
:
0
;
stroke
:
currentColor
}
.vditor-anchor
{
float
:
left
;
padding-right
:
4px
;
margin-left
:
-20px
}
.vditor-anchor
svg
{
visibility
:
hidden
}
.vditor-anchor
:hover
svg
{
visibility
:
visible
}
.vditor-anchor
:focus
{
outline
:
none
}
.vditor--error
{
color
:
#d23f31
;
font-size
:
12px
;
display
:
block
;
line-height
:
16px
}
.vditor-wysiwyg
{
background-color
:
#fafbfc
;
box-sizing
:
border-box
;
-webkit-box-flex
:
1
;
flex
:
1
;
margin
:
0
;
white-space
:
pre-wrap
;
position
:
relative
}
.vditor-wysiwyg
[
contenteditable
=
"false"
]
{
opacity
:
0.3
;
cursor
:
not-allowed
}
.vditor-wysiwyg
:focus
{
outline
:
none
;
background-color
:
#fff
}
.vditor-wysiwyg
blockquote
:empty::before
,
.vditor-wysiwyg
pre
>
code
:empty::before
{
content
:
' '
}
.vditor-wysiwyg__block
[
data-type
=
"html-block"
]>
pre
,
.vditor-wysiwyg__block
[
data-type
=
"math-block"
]>
pre
{
margin-bottom
:
0
}
.vditor-wysiwyg__block
>
pre
{
margin-bottom
:
-1em
}
.vditor-wysiwyg__block
>
pre
>
code
{
background-color
:
#fff
!important
;
border
:
1px
solid
#d1d5da
;
overflow
:
auto
!important
}
.vditor-wysiwyg__block
[
data-type
=
html-inline
]
.vditor-wysiwyg__preview
svg
{
fill
:
rgba
(
88
,
96
,
105
,
0.36
);
height
:
12px
;
cursor
:
pointer
;
width
:
12px
}
.vditor-wysiwyg__preview
{
cursor
:
pointer
;
white-space
:
initial
;
min-height
:
27px
}
.vditor-wysiwyg__preview
pre
{
margin-bottom
:
1em
!important
}
.vditor-wysiwyg
h1
:before
,
.vditor-wysiwyg
h2
:before
,
.vditor-wysiwyg
h3
:before
,
.vditor-wysiwyg
h4
:before
,
.vditor-wysiwyg
h5
:before
,
.vditor-wysiwyg
h6
:before
,
.vditor-wysiwyg
div
.vditor-wysiwyg__block
:before
{
float
:
left
;
padding-right
:
4px
;
margin-left
:
-29px
;
content
:
'h1'
;
font-size
:
0.85rem
;
font-weight
:
normal
;
text-transform
:
uppercase
;
color
:
rgba
(
88
,
96
,
105
,
0.36
)}
.vditor-wysiwyg
h2
:before
{
content
:
'h2'
}
.vditor-wysiwyg
h3
:before
{
content
:
'h3'
}
.vditor-wysiwyg
h4
:before
{
content
:
'h4'
}
.vditor-wysiwyg
h5
:before
{
content
:
'h5'
}
.vditor-wysiwyg
h6
:before
{
content
:
'h6'
}
.vditor-wysiwyg
div
.vditor-wysiwyg__block
:before
{
content
:
"</>"
}
.vditor-wysiwyg
details
{
white-space
:
initial
}
.vditor-wysiwyg
span
[
data-type
=
"backslash"
]>
span
{
display
:
none
;
color
:
rgba
(
88
,
96
,
105
,
0.36
)}
.user__site
{
float
:
left
;
margin-left
:
10px
}
.user__site
svg
{
height
:
20px
;
width
:
20px
;
fill
:
currentColor
}
html
{
height
:
100%
;
max-height
:
100%
;
font-size
:
62.5%
;
-webkit-tap-highlight-color
:
rgba
(
0
,
0
,
0
,
0
)}
body
{
height
:
100%
;
max-height
:
100%
;
font-family
:
"Merriweather"
,
"Microsoft Yahei"
,
'Helvetica'
;
letter-spacing
:
0.01rem
;
font-size
:
1.8rem
;
line-height
:
1.75em
;
color
:
#3A4145
;
-webkit-font-feature-settings
:
'kern'
1
;
-moz-font-feature-settings
:
'kern'
1
;
-o-font-feature-settings
:
'kern'
1
;
text-rendering
:
geometricPrecision
;
margin
:
0
}
::-moz-selection
{
background
:
#D6EDFF
}
::selection
{
background
:
#D6EDFF
}
a
{
color
:
#4A4A4A
;
-webkit-transition
:
color
0.3s
ease
;
transition
:
color
0.3s
ease
}
a
:hover
{
color
:
#111
}
h1
,
h2
,
h3
,
h4
,
h5
,
h6
{
-webkit-font-feature-settings
:
'dlig'
1
,
'liga'
1
,
'lnum'
1
,
'kern'
1
;
-moz-font-feature-settings
:
'dlig'
1
,
'liga'
1
,
'lnum'
1
,
'kern'
1
;
-o-font-feature-settings
:
'dlig'
1
,
'liga'
1
,
'lnum'
1
,
'kern'
1
;
color
:
#2E2E2E
;
line-height
:
1.15em
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
text-rendering
:
geometricPrecision
}
h1
{
font-size
:
5rem
}
h2
{
font-size
:
3.6rem
}
h3
{
font-size
:
3rem
}
h4
{
font-size
:
2.5rem
}
h5
{
font-size
:
2rem
}
h6
{
font-size
:
2rem
}
img
{
max-width
:
100%
;
height
:
auto
}
p
,
ul
,
ol
,
dl
{
-webkit-font-feature-settings
:
'liga'
1
,
'onum'
1
,
'kern'
1
;
-moz-font-feature-settings
:
'liga'
1
,
'onum'
1
,
'kern'
1
;
-o-font-feature-settings
:
'liga'
1
,
'onum'
1
,
'kern'
1
;
margin
:
0
0
1.75em
0
;
text-rendering
:
geometricPrecision
}
ol
,
ul
{
padding-left
:
3rem
}
ol
ol
,
ul
ul
,
ul
ol
,
ol
ul
{
padding-left
:
2em
;
margin-bottom
:
0
}
dl
dt
{
float
:
left
;
width
:
180px
;
overflow
:
hidden
;
clear
:
left
;
text-align
:
right
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
font-weight
:
700
;
margin-bottom
:
1em
}
dl
dd
{
margin-left
:
200px
;
margin-bottom
:
1em
}
li
li
{
margin
:
0
}
hr
{
display
:
block
;
height
:
1px
;
border
:
0
;
border-top
:
#EFEFEF
1px
solid
;
margin
:
3.2em
0
;
padding
:
0
}
blockquote
{
box-sizing
:
border-box
;
margin
:
1.75em
0
1.75em
0
;
padding
:
0
0
0
1.75em
;
border-left
:
#4A4A4A
0.4em
solid
}
blockquote
p
{
margin
:
0.8em
0
;
font-style
:
italic
}
blockquote
small
{
display
:
inline-block
;
margin
:
0.8em
0
0.8em
1.5em
;
font-size
:
0.9em
;
color
:
#CCC
}
blockquote
small
:before
{
content
:
"\2014 \00A0"
}
blockquote
cite
{
font-weight
:
700
}
blockquote
cite
a
{
font-weight
:
normal
}
mark
{
background-color
:
#fdffb6
}
code
,
tt
{
padding
:
1px
3px
;
font-family
:
Inconsolata
,
monospace
,
"Microsoft Yahei"
,
'Helvetica'
;
font-size
:
0.85em
;
white-space
:
pre-wrap
;
border
:
#E3EDF3
1px
solid
;
background
:
#F7FAFB
;
border-radius
:
2px
}
pre
code
,
pre
tt
{
font-size
:
inherit
;
white-space
:
pre-wrap
;
background
:
transparent
;
border
:
none
;
padding
:
0
}
.fn-clear
:before
,
.fn-clear
:after
{
display
:
table
;
content
:
""
}
.fn-clear
:after
{
clear
:
both
}
.fn-left
{
float
:
left
}
.fn-right
{
float
:
right
}
.fn-none
{
display
:
none
}
.fn-vertical
{
display
:
table-cell
;
vertical-align
:
middle
}
.fn-wrap
{
width
:
80%
;
max-width
:
768px
;
margin
:
0
auto
}
@-webkit-keyframes
fade-in-down
{
0
%
{
opacity
:
0
;
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}}
@keyframes
fade-in-down
{
0
%
{
opacity
:
0
;
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}}
@-webkit-keyframes
bounce
{
0
%,
10
%,
25
%,
40
%,
50
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}
20
%
{
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
30
%
{
-webkit-transform
:
translateY
(
-5px
);
transform
:
translateY
(
-5px
)}}
@keyframes
bounce
{
0
%,
20
%,
50
%,
80
%,
100
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}
40
%
{
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
60
%
{
-webkit-transform
:
translateY
(
-5px
);
transform
:
translateY
(
-5px
)}}
@-webkit-keyframes
upbounce
{
0
%,
10
%,
25
%,
40
%,
50
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}
20
%
{
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
30
%
{
-webkit-transform
:
translateY
(
-5px
);
transform
:
translateY
(
-5px
)}}
@keyframes
upbounce
{
0
%,
20
%,
50
%,
80
%,
100
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}
40
%
{
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
60
%
{
-webkit-transform
:
translateY
(
-5px
);
transform
:
translateY
(
-5px
)}}
@font-face
{
font-family
:
'icomoon'
;
src
:
url("fonts/icomoon.eot?hvf32e")
;
src
:
url("fonts/icomoon.eot?hvf32e#iefix")
format
(
"embedded-opentype"
),
url("fonts/icomoon.ttf?hvf32e")
format
(
"truetype"
),
url("fonts/icomoon.woff?hvf32e")
format
(
"woff"
),
url("fonts/icomoon.svg?hvf32e#icomoon")
format
(
"svg"
);
font-weight
:
normal
;
font-style
:
normal
}
[
class
^=
"icon-"
],[
class
*=
" icon-"
]
{
font-size
:
2rem
;
font-family
:
'icomoon'
!important
;
speak
:
none
;
font-style
:
normal
;
font-weight
:
normal
;
font-variant
:
normal
;
text-transform
:
none
;
line-height
:
1
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
}
.icon-qqz
:before
{
content
:
"\e902"
}
.icon-register
:before
{
content
:
"\e600"
}
.icon-logout
:before
{
content
:
"\e601"
}
.icon-setting
:before
{
content
:
"\e602"
}
.icon-gotop
:before
{
content
:
"\e60a"
}
.icon-twitter
:before
{
content
:
"\e60b"
}
.icon-login
:before
{
content
:
"\e611"
}
.icon-arrow-left
:before
{
content
:
"\f605"
}
.icon-menu
:before
{
line-height
:
38px
;
content
:
"\f609"
;
font-size
:
20px
}
.icon-wechat
:before
{
content
:
"\e903"
}
.icon-sitemap
:before
{
content
:
"\e900"
}
.icon-list
:before
{
content
:
"\e901"
}
.avatar
{
border-radius
:
100%
;
float
:
left
;
height
:
24px
;
margin-right
:
9px
;
width
:
24px
}
.avatar-warp
{
width
:
10%
;
padding-right
:
10px
;
box-sizing
:
border-box
}
.avatar-48
{
box-shadow
:
0
0
2px
#ddd
;
height
:
auto
;
width
:
48px
;
margin-right
:
10px
;
border-radius
:
24px
}
.form
{
width
:
100%
;
margin-top
:
50px
}
.form
input
,
.form
textarea
,
.form
button
{
border
:
1px
solid
#CCCCCC
;
background-color
:
#FAFAFA
;
border-radius
:
3px
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.075
)
inset
;
padding
:
7px
8px
;
width
:
100%
;
box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
;
font-family
:
"Microsoft Yahei"
,
'Helvetica'
;
outline
:
none
}
.form
button
{
width
:
auto
;
vertical-align
:
bottom
}
.form
input
:focus
,
.form
textarea
:focus
{
background-color
:
#FFF
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.075
)
inset
,
0
0
5px
rgba
(
81
,
167
,
232
,
0.5
);
border
:
1px
solid
#51A7E8
}
.error-msg
{
font-size
:
1.5rem
;
color
:
#9EABB3
}
.cmtFromSym
{
font-size
:
1rem
;
color
:
#9EABB3
}
.main-header
{
position
:
relative
;
display
:
table
;
width
:
100%
;
height
:
100vh
;
margin-bottom
:
5rem
;
text-align
:
center
;
background
:
#222
no-repeat
center
center
;
background-size
:
cover
;
overflow
:
hidden
;
background-image
:
url("../images/header-bg.jpg")
;
min-height
:
50vh
}
.site-wrapper
{
position
:
relative
;
z-index
:
10
;
min-height
:
100%
;
background
:
#fff
;
-webkit-transition
:
-webkit-transform
0.5s
ease
;
transition
:
-webkit-transform
0.5s
ease
;
transition
:
transform
0.5s
ease
;
transition
:
transform
0.5s
ease
,
-webkit-transform
0.5s
ease
}
.nav-opened
.site-wrapper
{
overflow-x
:
hidden
;
margin-right
:
240px
;
-webkit-transition
:
margin
0.3s
ease
;
transition
:
margin
0.3s
ease
}
.page-title
a
{
-webkit-animation
:
fade-in-down
0.6s
;
animation
:
fade-in-down
0.6s
;
-webkit-animation-delay
:
0.2s
;
animation-delay
:
0.2s
;
margin
:
10px
0
10px
0
;
font-size
:
5rem
;
letter-spacing
:
-1px
;
font-weight
:
700
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
color
:
#fff
;
text-shadow
:
0px
0px
3px
rgba
(
0
,
0
,
0
,
0.9
);
text-decoration
:
none
}
.page-description
,
.page-description
a
{
-webkit-animation
:
fade-in-down
0.9s
;
animation
:
fade-in-down
0.9s
;
-webkit-animation-delay
:
0.1s
;
animation-delay
:
0.1s
;
margin
:
0
;
font-size
:
2rem
;
line-height
:
1.5em
;
font-weight
:
400
;
letter-spacing
:
0.01rem
;
color
:
rgba
(
255
,
255
,
255
,
0.8
)}
.scroll-down
{
display
:
block
;
position
:
absolute
;
z-index
:
100
;
bottom
:
45px
;
left
:
50%
;
margin-left
:
-16px
;
width
:
34px
;
height
:
34px
;
font-size
:
34px
;
text-align
:
center
;
text-decoration
:
none
;
color
:
rgba
(
255
,
255
,
255
,
0.7
);
-webkit-animation
:
bounce
4s
2s
infinite
;
animation
:
bounce
4s
2s
infinite
}
.scroll-down
:hover
{
color
:
#fff
;
-webkit-animation
:
none
;
animation
:
none
}
.menu-button
{
position
:
fixed
;
box-sizing
:
border-box
;
display
:
inline-block
;
float
:
right
;
height
:
38px
;
padding
:
0
15px
;
opacity
:
1
;
font-size
:
12px
;
text-transform
:
uppercase
;
line-height
:
46px
;
border-radius
:
3px
;
-webkit-transition
:
all
0.5s
ease
;
transition
:
all
0.5s
ease
;
right
:
20px
;
top
:
40px
;
text-decoration
:
none
;
font-family
:
'Open Sans'
,
"Microsoft Yahei"
,
'Helvetica'
;
z-index
:
30
;
overflow
:
hidden
;
background-color
:
#111
;
border
:
1px
solid
#111
;
color
:
#fff
;
cursor
:
pointer
}
.menu-button
:hover
{
background
:
#fff
}
.menu-button
:focus
{
outline
:
0
}
.nav-closed
.menu-button
:hover
{
color
:
#222
}
.nav-opened
.menu-button
{
padding
:
0
12px
;
background
:
#111
;
border-color
:
#111
;
color
:
#fff
;
-webkit-transform
:
translate3D
(
50px
,
0
,
0
);
transform
:
translate3D
(
50px
,
0
,
0
);
-webkit-transition
:
all
0.3s
ease
;
transition
:
all
0.3s
ease
;
right
:
287px
;
z-index
:
10
;
width
:
46px
;
border-radius
:
3px
0
0
3px
}
.menu-button
.word
{
float
:
right
;
margin
:
-4px
0
0
10px
}
.nav
{
position
:
fixed
;
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-orient
:
vertical
;
-webkit-box-direction
:
normal
;
flex-direction
:
column
;
top
:
0
;
right
:
0
;
bottom
:
0
;
z-index
:
5
;
width
:
220px
;
padding
:
10px
10px
0
10px
;
opacity
:
0
;
background
:
#111
;
margin-bottom
:
0
;
text-align
:
left
;
overflow-y
:
auto
;
color
:
#FFF
;
-webkit-transition
:
-webkit-transform
0.5s
ease
,
opacity
0.3s
ease
0.7s
;
-webkit-transition
:
opacity
0.3s
ease
0.7s
,
-webkit-transform
0.5s
ease
;
transition
:
opacity
0.3s
ease
0.7s
,
-webkit-transform
0.5s
ease
;
transition
:
transform
0.5s
ease
,
opacity
0.3s
ease
0.7s
;
transition
:
transform
0.5s
ease
,
opacity
0.3s
ease
0.7s
,
-webkit-transform
0.5s
ease
;
overflow-x
:
hidden
}
.nav
::-webkit-scrollbar
{
display
:
none
}
.nav
ul
{
-webkit-box-flex
:
1
;
flex
:
1
;
margin
:
0
;
padding
:
0px
0
5%
;
list-style
:
none
;
counter-reset
:
item
}
.nav
li
{
height
:
30px
;
line-height
:
1.4rem
}
.nav
li
:before
{
display
:
block
;
float
:
right
;
padding-right
:
4%
;
padding-left
:
5px
;
text-align
:
right
;
font-size
:
1.2rem
;
vertical-align
:
bottom
;
color
:
#B8B8B8
;
content
:
counter
(
item
,
lower-roman
);
counter-increment
:
item
;
line-height
:
2.5rem
}
.nav
a
{
color
:
#989898
;
text-decoration
:
none
;
line-height
:
1.4
;
font-size
:
1.4rem
}
.nav
a
:hover
,
.nav
a
.current
{
color
:
#FFF
}
.nav
li
a
{
display
:
block
;
padding
:
0.6rem
4%
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
}
.nav
li
a
:after
{
display
:
inline-block
;
content
:
" ......................................................."
;
color
:
rgba
(
255
,
255
,
255
,
0.2
);
margin-left
:
5px
}
.nav
.count
{
font-size
:
1rem
;
word-wrap
:
normal
;
word-break
:
break-all
;
white-space
:
nowrap
}
.nav
.page-icon
{
float
:
left
;
height
:
14px
;
width
:
14px
;
margin
:
3px
4px
0
0
}
body
.nav-closed
.nav
{
-webkit-transform
:
translate3D
(
240px
,
0
,
0
);
transform
:
translate3D
(
240px
,
0
,
0
)}
body
.nav-opened
.nav
{
opacity
:
1
;
-webkit-transition
:
-webkit-transform
0.3s
ease
,
opacity
0s
ease
0s
;
-webkit-transition
:
opacity
0s
ease
0s
,
-webkit-transform
0.3s
ease
;
transition
:
opacity
0s
ease
0s
,
-webkit-transform
0.3s
ease
;
transition
:
transform
0.3s
ease
,
opacity
0s
ease
0s
;
transition
:
transform
0.3s
ease
,
opacity
0s
ease
0s
,
-webkit-transform
0.3s
ease
;
-webkit-transform
:
translate3D
(
0
,
0
,
0
);
transform
:
translate3D
(
0
,
0
,
0
)}
article
.post
{
position
:
relative
;
margin
:
4rem
auto
;
padding-bottom
:
4rem
;
border-bottom
:
#EBF2F6
1px
solid
;
word-wrap
:
break-word
;
width
:
80%
}
article
.post
.share
{
position
:
relative
}
article
.post
.share
canvas
{
position
:
absolute
;
left
:
0
;
top
:
36px
}
.post-content--article
{
padding-bottom
:
10px
}
.post-content--article
::-webkit-scrollbar
{
display
:
none
}
article
.post
:after
{
display
:
block
;
content
:
""
;
width
:
7px
;
height
:
7px
;
border
:
#E7EEF2
1px
solid
;
position
:
absolute
;
bottom
:
-5px
;
left
:
50%
;
margin-left
:
-5px
;
background
:
#FFF
;
border-radius
:
100%
;
box-shadow
:
#FFF
0
0
0
5px
}
.post-title
a
{
text-decoration
:
none
}
.post-tip
{
display
:
inline-block
;
text-transform
:
uppercase
;
font-size
:
1.3rem
;
white-space
:
nowrap
;
color
:
#9EABB3
;
cursor
:
text
}
.post-tip
:hover
{
color
:
#9EABB3
}
.post-tip
:visited
{
color
:
#fff
}
.post-excerpt
p
{
margin
:
0
;
font-size
:
0.9em
;
line-height
:
1.7em
}
.post-meta
{
color
:
#9eabb3
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
font-size
:
1.5rem
;
line-height
:
2.2rem
;
margin
:
1.75rem
0
0
0
}
.post-meta
a
{
color
:
#9EABB3
;
text-decoration
:
none
}
.post-meta
a
:hover
{
text-decoration
:
underline
}
.post-meta
time
{
border-left
:
1px
solid
#d5dbde
;
display
:
inline-block
;
font-size
:
1.3rem
;
margin-left
:
8px
;
padding-left
:
12px
;
text-transform
:
uppercase
;
white-space
:
nowrap
}
.post-author
{
box-sizing
:
border-box
;
display
:
block
;
position
:
absolute
;
bottom
:
-57px
;
left
:
50%
;
margin-left
:
-40px
;
width
:
80px
;
height
:
80px
;
border-radius
:
100%
;
overflow
:
hidden
;
padding
:
6px
;
background
:
#fff
;
z-index
:
2
;
box-shadow
:
#E7EEF2
0
0
0
1px
}
.post-author
a
{
background-size
:
cover
;
background-position
:
center
center
;
width
:
68px
;
height
:
68px
;
display
:
block
;
border-radius
:
35px
}
.share
.icon
{
cursor
:
pointer
;
-webkit-transition
:
all
0.2s
ease-out
0s
;
transition
:
all
0.2s
ease-out
0s
;
display
:
inline-block
;
font-size
:
16px
;
margin-top
:
15px
}
.share
.icon
:hover
{
-webkit-transform
:
rotate
(
360deg
);
transform
:
rotate
(
360deg
);
color
:
#9EABB3
}
.icon-weibo
:before
{
content
:
"\e605"
}
.icon-twitter
:before
{
content
:
"\e60b"
}
.icon-tencent
:before
{
content
:
"\e60d"
}
.icon-google
:before
{
content
:
"\e603"
}
.icon-gotop
:before
{
content
:
"\E60A"
;
font-weight
:
bold
}
.icon-gotop
{
cursor
:
pointer
;
position
:
fixed
;
bottom
:
30px
;
right
:
30px
;
-webkit-animation
:
upbounce
4s
2s
infinite
;
animation
:
upbounce
4s
2s
infinite
;
text-decoration
:
none
;
z-index
:
12
}
.icon-gotop
:hover
{
color
:
#B8B8B8
;
-webkit-animation
:
none
;
animation
:
none
}
.pagination
{
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
font-size
:
1.3rem
;
color
:
#9eabb3
;
text-align
:
center
}
.pagination
a
{
color
:
#9EABB3
;
-webkit-transition
:
all
0.2s
ease
;
transition
:
all
0.2s
ease
;
padding
:
0
15px
;
border
:
#bfc8cd
1px
solid
;
text-decoration
:
none
;
display
:
inline-block
;
border-radius
:
4px
}
.pagination
a
:hover
{
border-color
:
#98a0a4
;
color
:
#889093
}
ul
.comments
{
padding
:
0
;
list-style
:
none
;
margin-top
:
100px
;
position
:
relative
}
.comments
li
{
padding
:
10px
;
white-space
:
normal
;
word-wrap
:
break-word
;
position
:
relative
;
border-bottom
:
#EBF2F6
1px
solid
}
.comments
li
:hover
{
background-color
:
#F7F7F7
}
.comments
li
img
{
vertical-align
:
sub
}
.comments
.comment-content
{
margin
:
8px
0
0
}
.comments
li
.comment-body-ref
{
position
:
absolute
;
z-index
:
10
;
background-color
:
#EBF2F6
;
border
:
#d5dbde
1px
solid
;
width
:
86%
;
left
:
69px
}
.comments
.post-meta
{
margin-top
:
0
}
#captcha
,
#captchaReply
{
height
:
27px
;
display
:
inline-block
;
vertical-align
:
inherit
}
.read-next
{
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-align
:
stretch
;
align-items
:
stretch
;
margin-top
:
10rem
}
.read-next-story
{
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-flex
:
1
;
flex-grow
:
1
;
min-width
:
50%
;
text-decoration
:
none
;
position
:
relative
;
text-align
:
center
;
color
:
#fff
;
background
:
#222
no-repeat
center
center
;
background-size
:
cover
;
overflow
:
hidden
}
.read-next-story
a
{
color
:
#BBB
}
.read-next-story
a
:hover
{
color
:
#FFF
}
.read-next-story
:hover:before
{
background
:
rgba
(
0
,
0
,
0
,
0.8
);
-webkit-transition
:
all
0.2s
ease
;
transition
:
all
0.2s
ease
}
.read-next-story
:hover
.post
:before
{
color
:
#222
;
background
:
#fff
;
-webkit-transition
:
all
0.2s
ease
;
transition
:
all
0.2s
ease
}
.read-next-story
:before
{
content
:
""
;
display
:
block
;
position
:
absolute
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
background
:
rgba
(
0
,
0
,
0
,
0.7
);
-webkit-transition
:
all
0.5s
ease
;
transition
:
all
0.5s
ease
}
.read-next-story
.post
{
padding-top
:
6rem
;
padding-bottom
:
6rem
;
width
:
80%
;
position
:
relative
;
margin
:
0
auto
}
.read-next-story
.post
:before
{
content
:
"Read This Next"
;
padding
:
4px
10px
5px
;
text-transform
:
uppercase
;
font-size
:
1.1rem
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
color
:
rgba
(
255
,
255
,
255
,
0.8
);
border
:
1px
solid
rgba
(
255
,
255
,
255
,
0.5
);
border-radius
:
4px
;
-webkit-transition
:
all
0.5s
ease
;
transition
:
all
0.5s
ease
}
.read-next-story.prev
.post
:before
{
content
:
"Read This Before"
}
.read-next-story
h2
{
margin-top
:
1rem
;
color
:
#fff
}
.read-next-story
p
{
margin
:
0
;
color
:
rgba
(
255
,
255
,
255
,
0.8
)}
.read-next
+
.site-footer
{
position
:
absolute
;
bottom
:
0
;
left
:
0
;
right
:
0
;
margin
:
0
}
#tags
{
padding
:
0
}
#tags
li
{
list-style
:
none
;
float
:
left
}
#tags
li
a
{
border
:
1px
solid
#4A4A4A
;
display
:
inline-block
;
padding
:
10px
;
margin
:
1rem
;
border-radius
:
5px
;
text-decoration
:
none
}
#tags
li
a
:hover
{
border
:
1px
solid
#FFF
;
color
:
#FFF
;
background-color
:
#4A4A4A
}
.dynamic
.read-next-story
>
div
{
position
:
relative
;
width
:
60%
;
margin
:
50px
auto
;
text-align
:
left
}
.dynamic
a
{
text-decoration
:
none
;
margin
:
0
;
color
:
rgba
(
255
,
255
,
255
,
0.8
)}
.dynamic
a
:hover
{
color
:
rgba
(
255
,
255
,
255
,
0.5
)}
.site-footer
{
position
:
relative
;
margin
:
8rem
0
0
0
;
padding
:
1rem
15px
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
font-size
:
1rem
;
line-height
:
1.75em
;
color
:
#BBC7CC
}
.site-footer
a
{
color
:
#BBC7CC
;
font-weight
:
bold
;
text-decoration
:
none
}
.site-footer
a
:hover
{
text-decoration
:
underline
}
@media
only
screen
and
(
max-width
:
900px
){
blockquote
{
margin-left
:
0
}
.main-header
{
box-sizing
:
border-box
;
height
:
auto
;
min-height
:
240px
;
height
:
60vh
;
padding
:
15%
0
}
.scroll-down
{
display
:
none
}
.page-title
,
.page-title
a
{
font-size
:
4rem
;
letter-spacing
:
-1px
}
.page-description
,
.page-description
a
{
font-size
:
1.8rem
;
line-height
:
1.5em
}
.post
{
font-size
:
0.95em
}
hr
{
margin
:
2.4em
0
}
ol
,
ul
{
padding-left
:
2em
}
h1
{
font-size
:
4.5rem
}
h2
{
font-size
:
3.6rem
}
h3
{
font-size
:
3.1rem
}
h4
{
font-size
:
2.5rem
}
h5
{
font-size
:
2.2rem
}
h6
{
font-size
:
1.8rem
}
.read-next
{
-webkit-box-orient
:
vertical
;
-webkit-box-direction
:
normal
;
flex-direction
:
column
;
margin-top
:
4rem
}}
@media
only
screen
and
(
max-width
:
500px
){
.main-header
{
margin-bottom
:
15px
;
height
:
40vh
}
.pagination
{
width
:
auto
;
margin
:
2rem
auto
}
.post
{
width
:
auto
;
margin-top
:
2rem
;
margin-bottom
:
2rem
;
margin-left
:
16px
;
margin-right
:
16px
;
padding-bottom
:
2rem
;
line-height
:
1.65em
}
hr
{
margin
:
1.75em
0
}
p
,
ul
,
ol
,
dl
{
font-size
:
0.95em
;
margin
:
0
0
2.5rem
0
}
.page-title
,
.page-title
a
{
font-size
:
3rem
}
.post-excerpt
p
{
font-size
:
0.85em
}
.page-description
,
.page-description
a
{
font-size
:
1.6rem
}
h1
,
h2
,
h3
,
h4
,
h5
,
h6
{
margin
:
0
0
0.3em
0
}
h1
{
font-size
:
2.8rem
;
letter-spacing
:
-1px
}
h2
{
font-size
:
2.4rem
;
letter-spacing
:
0
}
h3
{
font-size
:
2.1rem
}
h4
{
font-size
:
1.9rem
}
h5
{
font-size
:
1.8rem
}
h6
{
font-size
:
1.8rem
}
.post-content
img
{
padding
:
0
;
width
:
calc
(
100%
+
32px
);
min-width
:
0
;
max-width
:
112%
}
.post-meta
{
font-size
:
1.3rem
;
margin-top
:
1rem
}
.site-footer
{
margin-top
:
3rem
}
.read-next
{
margin-top
:
2rem
;
margin-bottom
:
-37px
}
.read-next
.post
{
width
:
100%
}
.menu-button
{
border
:
0
;
top
:
0
;
right
:
0
}
.nav-opened
.site-wrapper
{
margin-right
:
0
}
.nav
{
z-index
:
11
}
.nav-closed
.menu-button
:hover
{
color
:
#FFF
;
background-color
:
transparent
}
.post-author
{
width
:
40px
;
height
:
40px
;
bottom
:
-37px
;
padding
:
3px
;
margin-left
:
-20px
}
.post-author
a
{
width
:
34px
;
height
:
34px
;
display
:
block
;
border-radius
:
17px
}
.nav
.count
{
line-height
:
1.5rem
}
#tags
li
a
{
padding
:
0
5px
}}
.article__toc
{
overflow
:
auto
}
.article__toc
::-webkit-scrollbar
{
display
:
none
}
.article__toc
li
{
list-style-type
:
none
}
.article__toc
li
a
{
padding-left
:
10px
;
display
:
block
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
}
.article__toc
li
a
:hover
{
text-decoration
:
none
}
.article__toc
li
.toc__h3
a
{
padding-left
:
20px
}
.article__toc
li
.toc__h4
a
{
padding-left
:
30px
}
.article__toc
li
.toc__h5
a
{
padding-left
:
40px
}
.user__site
:hover
{
text-decoration
:
none
}
@-webkit-keyframes
tooltip-appear
{
from
{
opacity
:
0
}
to
{
opacity
:
1
}}
@keyframes
tooltip-appear
{
from
{
opacity
:
0
}
to
{
opacity
:
1
}}
.vditor-tooltipped
{
position
:
relative
;
cursor
:
pointer
}
.vditor-tooltipped
::after
{
position
:
absolute
;
z-index
:
1000000
;
display
:
none
;
padding
:
5px
8px
;
font-size
:
11px
;
font-weight
:
normal
;
-webkit-font-smoothing
:
subpixel-antialiased
;
color
:
#fff
;
text-align
:
center
;
text-decoration
:
none
;
text-shadow
:
none
;
text-transform
:
none
;
letter-spacing
:
normal
;
word-wrap
:
break-word
;
white-space
:
pre
;
pointer-events
:
none
;
content
:
attr
(
aria-label
);
background
:
rgba
(
0
,
0
,
0
,
0.8
);
border-radius
:
3px
;
line-height
:
16px
;
opacity
:
0
}
.vditor-tooltipped
::before
{
position
:
absolute
;
z-index
:
1000001
;
display
:
none
;
width
:
0
;
height
:
0
;
color
:
rgba
(
0
,
0
,
0
,
0.8
);
pointer-events
:
none
;
content
:
""
;
border
:
5px
solid
transparent
;
opacity
:
0
}
.vditor-tooltipped--hover
::before
,
.vditor-tooltipped--hover
::after
,
.vditor-tooltipped
:hover::before
,
.vditor-tooltipped
:hover::after
,
.vditor-tooltipped
:active::before
,
.vditor-tooltipped
:active::after
,
.vditor-tooltipped
:focus::before
,
.vditor-tooltipped
:focus::after
{
display
:
inline-block
;
text-decoration
:
none
;
-webkit-animation-name
:
tooltip-appear
;
animation-name
:
tooltip-appear
;
-webkit-animation-duration
:
0.15s
;
animation-duration
:
0.15s
;
-webkit-animation-fill-mode
:
forwards
;
animation-fill-mode
:
forwards
;
-webkit-animation-timing-function
:
ease-in
;
animation-timing-function
:
ease-in
}
.vditor-tooltipped__s
::after
,
.vditor-tooltipped__se
::after
,
.vditor-tooltipped__sw
::after
{
top
:
100%
;
right
:
50%
;
margin-top
:
5px
}
.vditor-tooltipped__s
::before
,
.vditor-tooltipped__se
::before
,
.vditor-tooltipped__sw
::before
{
top
:
auto
;
right
:
50%
;
bottom
:
-5px
;
margin-right
:
-5px
;
border-bottom-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.vditor-tooltipped__se
::after
{
right
:
auto
;
left
:
50%
;
margin-left
:
-15px
}
.vditor-tooltipped__sw
::after
{
margin-right
:
-15px
}
.vditor-tooltipped__n
::after
,
.vditor-tooltipped__ne
::after
,
.vditor-tooltipped__nw
::after
{
right
:
50%
;
bottom
:
100%
;
margin-bottom
:
5px
}
.vditor-tooltipped__n
::before
,
.vditor-tooltipped__ne
::before
,
.vditor-tooltipped__nw
::before
{
top
:
-5px
;
right
:
50%
;
bottom
:
auto
;
margin-right
:
-5px
;
border-top-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.vditor-tooltipped__ne
::after
{
right
:
auto
;
left
:
50%
;
margin-left
:
-15px
}
.vditor-tooltipped__nw
::after
{
margin-right
:
-15px
}
.vditor-tooltipped__s
::after
,
.vditor-tooltipped__n
::after
{
-webkit-transform
:
translateX
(
50%
);
transform
:
translateX
(
50%
)}
.vditor-tooltipped__w
::after
{
right
:
100%
;
bottom
:
50%
;
margin-right
:
5px
;
-webkit-transform
:
translateY
(
50%
);
transform
:
translateY
(
50%
)}
.vditor-tooltipped__w
::before
{
top
:
50%
;
bottom
:
50%
;
left
:
-5px
;
margin-top
:
-5px
;
border-left-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
.vditor-tooltipped__e
::after
{
bottom
:
50%
;
left
:
100%
;
margin-left
:
5px
;
-webkit-transform
:
translateY
(
50%
);
transform
:
translateY
(
50%
)}
.vditor-tooltipped__e
::before
{
top
:
50%
;
right
:
-5px
;
bottom
:
50%
;
margin-top
:
-5px
;
border-right-color
:
rgba
(
0
,
0
,
0
,
0.8
)}
@-webkit-keyframes
scale-in
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0.5
);
transform
:
scale
(
0.5
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
@keyframes
scale-in
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
0.5
);
transform
:
scale
(
0.5
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
.vditor-panel
{
background-color
:
#fff
;
position
:
absolute
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
3px
;
padding
:
5px
;
z-index
:
3
;
font-size
:
14px
;
display
:
none
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
max-width
:
320px
;
min-width
:
80px
;
-webkit-animation-duration
:
.15s
;
animation-duration
:
.15s
;
-webkit-animation-name
:
scale-in
;
animation-name
:
scale-in
;
-webkit-animation-timing-function
:
cubic-bezier
(
0.2
,
0
,
0.13
,
1.5
);
animation-timing-function
:
cubic-bezier
(
0.2
,
0
,
0.13
,
1.5
)}
.vditor-panel--none
{
color
:
#4285f4
;
padding
:
0
;
-webkit-animation
:
none
;
animation
:
none
;
background-color
:
#f6f8fa
;
min-width
:
auto
;
max-width
:
none
}
.vditor-panel
h1
,
.vditor-panel
h2
,
.vditor-panel
h3
,
.vditor-panel
h4
,
.vditor-panel
h5
,
.vditor-panel
h6
{
margin
:
0
;
cursor
:
pointer
;
padding
:
3px
10px
;
border-radius
:
3px
;
line-height
:
normal
}
.vditor-panel
h1
:hover
,
.vditor-panel
h2
:hover
,
.vditor-panel
h3
:hover
,
.vditor-panel
h4
:hover
,
.vditor-panel
h5
:hover
,
.vditor-panel
h6
:hover
{
background-color
:
#4285f4
;
color
:
#fff
}
.vditor-input
{
border
:
0
;
padding
:
3px
5px
;
background-color
:
#f6f8fa
}
.vditor-input
:focus
{
background-color
:
#fff
;
outline
:
none
}
.vditor-icon
{
color
:
#586069
;
cursor
:
pointer
;
float
:
left
;
padding
:
2px
5px
;
height
:
19px
;
width
:
25px
;
background-color
:
transparent
;
border
:
0
;
box-sizing
:
border-box
}
.vditor-icon
:hover
,
.vditor-icon--current
{
color
:
#4285f4
;
background-color
:
transparent
}
.vditor-icon
:focus
{
outline
:
none
}
.vditor-icon
svg
{
height
:
15px
!important
;
width
:
15px
!important
;
float
:
left
;
fill
:
currentColor
}
.vditor-toolbar
{
background-color
:
#f6f8fa
;
border-bottom
:
1px
solid
#d1d5da
;
padding
:
0
5px
;
border-radius
:
3px
3px
0
0
}
.vditor-toolbar
>
div
{
float
:
left
}
.vditor-toolbar
>
div
>
.vditor-tooltipped
{
border
:
0
;
margin
:
0
;
padding
:
10px
5px
;
background-color
:
transparent
;
height
:
35px
;
width
:
25px
;
box-sizing
:
border-box
}
.vditor-toolbar
>
div
>
.vditor-tooltipped
:focus
{
outline
:
none
}
.vditor-toolbar
.vditor-tooltipped
{
color
:
#586069
}
.vditor-toolbar
.vditor-tooltipped
:hover
{
color
:
#4285f4
}
.vditor-toolbar
svg
{
fill
:
currentColor
;
display
:
inline-block
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
15px
;
height
:
15px
}
.vditor-toolbar
input
{
position
:
absolute
;
width
:
25px
;
height
:
35px
;
top
:
0
;
left
:
0
;
cursor
:
pointer
;
opacity
:
.001
;
overflow
:
hidden
}
.vditor-menu--current
svg
{
color
:
#4285f4
}
.vditor-menu__divider
{
width
:
10px
;
height
:
35px
}
.vditor-menu__br
{
width
:
100%
;
padding
:
0
!important
;
height
:
0
!important
}
.vditor-menu--disabled
svg
{
color
:
rgba
(
88
,
96
,
105
,
0.6
);
cursor
:
not-allowed
}
.vditor-emojis
{
display
:
inline-block
;
overflow
:
auto
}
.vditor-emojis
::-webkit-scrollbar
{
display
:
none
}
.vditor-emojis__tip
{
-webkit-box-flex
:
1
;
flex
:
1
;
width
:
200px
;
margin-right
:
10px
;
color
:
#586069
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
}
.vditor-emojis__tail
{
margin-top
:
5px
;
font-size
:
12px
;
color
:
#586069
;
display
:
-webkit-box
;
display
:
flex
}
.vditor-emojis__tail
a
{
text-decoration
:
none
;
color
:
#586069
}
.vditor-emojis__tail
a
:hover
{
color
:
#4285f4
}
.vditor-emojis
button
{
cursor
:
pointer
;
border-radius
:
3px
;
float
:
left
;
height
:
30px
;
width
:
30px
;
text-align
:
center
;
line-height
:
26px
;
padding
:
3px
;
box-sizing
:
border-box
;
font-size
:
16px
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
;
border
:
0
;
margin
:
0
;
background-color
:
transparent
;
overflow
:
hidden
}
.vditor-emojis
button
:focus
{
outline
:
none
}
.vditor-emojis
button
:hover
.vditor-emojis__icon
{
display
:
inline-block
;
-webkit-transform
:
scale
(
1.2
);
transform
:
scale
(
1.2
)}
.vditor-emojis
img
{
height
:
20px
;
width
:
20px
;
float
:
left
;
margin
:
3px
0
0
3px
}
@-webkit-keyframes
slideInDown
{
from
{
-webkit-transform
:
translate3d
(
0
,
-100%
,
0
);
transform
:
translate3d
(
0
,
-100%
,
0
);
visibility
:
visible
}
to
{
-webkit-transform
:
translate3d
(
0
,
0
,
0
);
transform
:
translate3d
(
0
,
0
,
0
)}}
@keyframes
slideInDown
{
from
{
-webkit-transform
:
translate3d
(
0
,
-100%
,
0
);
transform
:
translate3d
(
0
,
-100%
,
0
);
visibility
:
visible
}
to
{
-webkit-transform
:
translate3d
(
0
,
0
,
0
);
transform
:
translate3d
(
0
,
0
,
0
)}}
.vditor
{
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-orient
:
vertical
;
-webkit-box-direction
:
normal
;
flex-direction
:
column
;
border
:
1px
solid
#d1d5da
;
border-radius
:
3px
;
box-sizing
:
border-box
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
}
.vditor--fullscreen
{
position
:
fixed
;
top
:
0
;
width
:
100%
!important
;
left
:
0
;
height
:
100vh
!important
;
z-index
:
90
;
background-color
:
#fff
}
.vditor-content
{
display
:
-webkit-box
;
display
:
flex
;
min-height
:
60px
;
-webkit-box-flex
:
1
;
flex
:
1
;
position
:
relative
}
.vditor-textarea
{
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
margin
:
0
1px
0
0
;
height
:
100%
;
overflow
:
auto
;
width
:
100%
;
-webkit-box-flex
:
1
;
flex
:
1
;
border
:
0
;
resize
:
none
;
padding
:
10px
9px
10px
10px
;
box-sizing
:
border-box
;
background-color
:
#fafbfc
;
outline
:
0
none
;
font-size
:
16px
;
line-height
:
22px
;
color
:
#24292e
;
border-radius
:
0
0
3px
3px
;
font-variant-ligatures
:
no-common-ligatures
;
white-space
:
pre-wrap
;
word-break
:
break-word
;
word-wrap
:
break-word
}
.vditor-textarea
[
contenteditable
=
"false"
]
{
opacity
:
0.3
;
cursor
:
not-allowed
}
.vditor-textarea
:focus
{
background-color
:
#fff
}
.vditor-textarea
:empty::before
{
content
:
attr
(
placeholder
);
color
:
rgba
(
36
,
41
,
46
,
0.68
)}
.vditor-preview
{
-webkit-box-flex
:
1
;
flex
:
1
;
background-color
:
#fff
;
overflow
:
auto
;
margin-left
:
-1px
;
padding
:
10px
;
box-shadow
:
inset
1px
0
#d1d5da
;
box-sizing
:
border-box
;
border-radius
:
0
0
3px
0
}
.vditor-preview
>
div
::-webkit-scrollbar
{
display
:
none
}
.vditor-preview
>
.vditor-reset
{
margin
:
0
auto
}
.vditor-devtools
{
display
:
none
;
background-color
:
#fff
;
overflow
:
auto
;
-webkit-box-flex
:
1
;
flex
:
1
;
box-shadow
:
inset
1px
0
#d1d5da
;
box-sizing
:
border-box
;
border-radius
:
0
0
3px
0
;
padding
:
10px
}
.vditor-counter
{
padding
:
0
3px
;
position
:
absolute
;
bottom
:
10px
;
right
:
20px
;
color
:
#24292e
;
background-color
:
rgba
(
255
,
255
,
255
,
0.6
);
border-radius
:
3px
;
font-size
:
12px
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
z-index
:
2
}
.vditor-counter--error
{
color
:
#d23f31
;
background-color
:
rgba
(
210
,
63
,
49
,
0.1
)}
.vditor-resize
{
padding
:
3px
0
;
cursor
:
row-resize
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
position
:
absolute
;
width
:
100%
;
z-index
:
2
}
.vditor-resize--top
{
top
:
-3px
}
.vditor-resize--bottom
{
bottom
:
-3px
}
.vditor-resize
>
div
{
height
:
3px
;
background-color
:
#f6f8fa
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
}
.vditor-resize
:hover
>
div
,
.vditor-resize--selected
>
div
{
background-color
:
#4285f4
}
.vditor-resize
:hover
svg
,
.vditor-resize--selected
svg
{
color
:
#fff
}
.vditor-resize
svg
{
fill
:
currentColor
;
stroke-width
:
0
;
stroke
:
currentColor
;
width
:
13px
;
height
:
3px
;
display
:
block
;
margin
:
0
auto
;
color
:
#586069
}
.vditor-upload
{
position
:
absolute
;
height
:
3px
;
left
:
0
;
top
:
-2px
;
-webkit-transition
:
all
0.15s
ease-in-out
;
transition
:
all
0.15s
ease-in-out
;
background-color
:
rgba
(
66
,
133
,
244
,
0.8
)}
.vditor-tip
{
position
:
absolute
;
font-size
:
12px
;
top
:
10px
;
color
:
#fff
;
-webkit-animation-duration
:
.15s
;
animation-duration
:
.15s
;
-webkit-animation-fill-mode
:
both
;
animation-fill-mode
:
both
;
left
:
50%
}
.vditor-tip--show
{
display
:
block
;
-webkit-animation-name
:
slideInDown
;
animation-name
:
slideInDown
}
.vditor-tip__content
{
text-align
:
left
;
display
:
inline-block
;
line-height
:
16px
;
padding
:
3px
10px
;
border-radius
:
3px
;
background
:
rgba
(
66
,
133
,
244
,
0.8
);
position
:
relative
;
margin-left
:
-50%
}
.vditor-tip__content
ul
{
margin
:
2px
0
;
padding
:
0
0
0
18px
}
.vditor-tip__close
{
position
:
absolute
;
color
:
#586069
;
top
:
-7px
;
right
:
-15px
;
font-weight
:
bold
;
cursor
:
pointer
}
.vditor-tip__close
:hover
{
color
:
#4285f4
}
.vditor-hint
{
background-color
:
#fff
;
position
:
absolute
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
3px
;
padding
:
5px
0
;
z-index
:
4
;
line-height
:
20px
;
list-style
:
none
;
color
:
#24292e
;
font-size
:
12px
;
margin
:
0
;
max-width
:
250px
;
min-width
:
80px
;
display
:
none
}
.vditor-hint
button
{
display
:
block
;
padding
:
3px
10px
;
border
:
0
;
border-bottom
:
1px
solid
#d1d5da
;
line-height
:
20px
;
width
:
100%
;
box-sizing
:
border-box
;
text-align
:
left
;
margin
:
0
;
background-color
:
transparent
}
.vditor-hint
button
:last-child
{
border-bottom
:
0
}
.vditor-hint--current
,
.vditor-hint
button
:hover
{
background-color
:
#4285f4
!important
;
color
:
#fff
}
.vditor-hint__emoji
{
font-size
:
16px
;
float
:
left
;
margin-right
:
3px
}
.vditor-hint
img
{
height
:
20px
;
width
:
20px
;
float
:
left
;
margin-right
:
3px
}
.vditor-reset
{
font-variant-ligatures
:
no-common-ligatures
;
font-family
:
"Helvetica Neue"
,
"Luxi Sans"
,
"DejaVu Sans"
,
Tahoma
,
"Hiragino Sans GB"
,
"Microsoft Yahei"
,
sans-serif
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
word-wrap
:
break-word
;
overflow
:
auto
;
line-height
:
1.5
;
font-size
:
16px
;
word-break
:
break-word
}
.vditor-reset--anchor
{
padding-left
:
20px
}
.vditor-reset
ul
ul
ul
{
list-style-type
:
square
}
.vditor-reset
ul
ul
{
list-style-type
:
circle
}
.vditor-reset
ul
{
list-style-type
:
disc
}
.vditor-reset
ul
,
.vditor-reset
ol
{
padding-left
:
2em
;
margin-top
:
0
;
margin-bottom
:
16px
}
.vditor-reset
li
+
li
{
margin-top
:
0.25em
}
.vditor-reset
audio
{
max-width
:
100%
}
.vditor-reset
audio
:focus
{
outline
:
none
}
.vditor-reset
video
{
max-height
:
90vh
;
max-width
:
100%
}
.vditor-reset
img
{
max-width
:
100%
}
.vditor-reset
img
.emoji
{
cursor
:
auto
;
max-width
:
20px
;
vertical-align
:
sub
}
.vditor-reset
h1
,
.vditor-reset
h2
,
.vditor-reset
h3
,
.vditor-reset
h4
,
.vditor-reset
h5
,
.vditor-reset
h6
{
margin-top
:
24px
;
margin-bottom
:
16px
;
font-weight
:
600
;
line-height
:
1.25
}
.vditor-reset
h1
:hover
.vditor-anchor
svg
,
.vditor-reset
h2
:hover
.vditor-anchor
svg
,
.vditor-reset
h3
:hover
.vditor-anchor
svg
,
.vditor-reset
h4
:hover
.vditor-anchor
svg
,
.vditor-reset
h5
:hover
.vditor-anchor
svg
,
.vditor-reset
h6
:hover
.vditor-anchor
svg
{
visibility
:
visible
}
.vditor-reset
h1
{
padding-bottom
:
0.3em
;
font-size
:
1.7em
;
border-bottom
:
1px
solid
#eee
}
.vditor-reset
h2
{
padding-bottom
:
0.3em
;
font-size
:
1.5em
;
border-bottom
:
1px
solid
#eee
}
.vditor-reset
h3
{
font-size
:
1.25em
}
.vditor-reset
h4
{
font-size
:
1em
}
.vditor-reset
h5
{
font-size
:
0.875em
}
.vditor-reset
h6
{
font-size
:
0.85em
}
.vditor-reset
hr
{
height
:
2px
;
padding
:
0
;
margin
:
24px
0
;
background-color
:
#e7e7e7
;
border
:
0
}
.vditor-reset
p
{
margin-top
:
0
;
margin-bottom
:
16px
}
.vditor-reset
blockquote
{
padding
:
0
1em
;
color
:
#777
;
border-left
:
0.25em
solid
#ddd
;
margin
:
0
0
16px
0
}
.vditor-reset
blockquote
p
{
margin
:
0
}
.vditor-reset
ins
>
iframe
{
border
:
0
}
.vditor-reset
iframe
{
border
:
1px
solid
#d1d5da
;
max-width
:
100%
;
box-sizing
:
border-box
}
.vditor-reset
iframe
.iframe__video
{
min-width
:
80%
;
min-height
:
36vh
}
.vditor-reset
table
{
width
:
100%
;
border-collapse
:
collapse
;
empty-cells
:
show
;
margin-bottom
:
16px
;
display
:
block
;
overflow
:
auto
;
border-spacing
:
0
}
.vditor-reset
table
tr
{
background-color
:
#fff
;
border-top
:
1px
solid
#c6cbd1
}
.vditor-reset
table
td
,
.vditor-reset
table
th
{
padding
:
6px
13px
;
border
:
1px
solid
#dfe2e5
;
word-break
:
normal
}
.vditor-reset
table
th
{
font-weight
:
600
}
.vditor-reset
table
tbody
tr
:nth-child
(
2n
)
{
background-color
:
#f6f8fa
}
.vditor-reset
code
:not
(
.hljs
)
:not
(
.highlight-chroma
)
{
padding
:
0.2em
0.4em
;
margin
:
0
;
font-size
:
85%
;
border-radius
:
3px
;
font-family
:
mononoki
,
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
word-break
:
break-word
;
background-size
:
20px
20px
;
white-space
:
pre-wrap
;
background-color
:
rgba
(
27
,
31
,
35
,
0.05
)}
.vditor-reset
pre
>
code
{
margin
:
0
;
font-size
:
85%
;
padding
:
0.5em
;
border-radius
:
5px
;
display
:
block
;
overflow
:
auto
;
white-space
:
pre
;
font-family
:
mononoki
,
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
,
"Apple Color Emoji"
,
"Segoe UI Emoji"
,
"Noto Color Emoji"
,
"Segoe UI Symbol"
,
"Android Emoji"
,
"EmojiSymbols"
;
background-size
:
20px
20px
;
background-image
:
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8AgMAAABHkjHhAAAACVBMVEWAgIBaWlo+Pj7rTFvWAAAAA3RSTlMHCAw+VhR4AAAA+klEQVQoz4WSMW7EQAhFPxKWNh2FCx+HkaZI6RRb5DYbyVfIJXLKDCFoMbaTKSw/8ZnPAPjaH2xgZcUNUDADD7D9LtDBCLZ45fbkvo/30K8yeI64pPwl6znd/3n/Oe93P3ho9qeh72btTFzqkz0rsJle8Zr81OLEwZ1dv/713uWqvu2pl+k0fy7MWtj9r/tN5q/02z89qa/L4Dc2LvM93kezPfXlME/O86EbY/V9GB9ePX8G1/6W+/9h1dq/HGfTfzT3j/xNo7522Bfnqe5jO/fvhVthlfk434v3iO9zG/UOphyPeinPl1J8Gtaa7xPTa/Dk+RIs4deMvwGvcGsmsCvJ0AAAAABJRU5ErkJggg==)
;
word-break
:
initial
;
word-wrap
:
normal
}
.vditor-reset
pre
:hover
div
.vditor-copy
{
display
:
block
}
.vditor-reset
kbd
{
display
:
inline-block
;
padding
:
3px
5px
;
font
:
11px
Consolas
,
"Liberation Mono"
,
Menlo
,
Courier
,
monospace
;
line-height
:
10px
;
color
:
#555
;
vertical-align
:
middle
;
background-color
:
#fcfcfc
;
border
:
solid
1px
#d1d5da
;
border-bottom-color
:
#bbb
;
border-radius
:
3px
;
box-shadow
:
inset
0
-1px
0
#bbb
}
.vditor-reset
summary
{
cursor
:
pointer
}
.vditor-reset
summary
:focus
{
outline
:
none
}
.vditor-reset
svg
{
height
:
auto
;
width
:
auto
}
.vditor-reset
p
:last-child
,
.vditor-reset
blockquote
:last-child
,
.vditor-reset
pre
:last-child
,
.vditor-reset
ul
:last-child
,
.vditor-reset
ol
:last-child
,
.vditor-reset
hr
:last-child
{
margin-bottom
:
0
}
.vditor-reset
.language-echarts
{
overflow
:
hidden
;
height
:
420px
}
.vditor-task
{
list-style
:
none
}
.vditor-task
input
{
margin
:
0
.2em
.25em
-1.6em
;
font-size
:
12px
;
vertical-align
:
middle
}
.vditor-copy
{
position
:
relative
;
display
:
none
;
z-index
:
1
}
.vditor-copy
textarea
{
position
:
absolute
;
left
:
-100000px
;
height
:
10px
}
.vditor-copy
span
{
cursor
:
pointer
;
position
:
absolute
;
right
:
0.5em
;
top
:
0.5em
;
height
:
14px
;
width
:
14px
;
display
:
block
;
background-color
:
#f6f8fa
;
border-radius
:
3px
;
padding
:
3px
}
.vditor-copy
svg
{
color
:
#586069
;
height
:
14px
;
width
:
14px
!important
;
display
:
block
;
fill
:
currentColor
}
.vditor-linenumber
{
padding-left
:
4em
!important
;
position
:
relative
}
.vditor-linenumber__rows
{
position
:
absolute
;
pointer-events
:
none
;
top
:
0.5em
;
left
:
0
;
width
:
3em
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
counter-reset
:
linenumber
}
.vditor-linenumber__rows
>
span
{
pointer-events
:
none
;
display
:
block
}
.vditor-linenumber__rows
>
span
::before
{
counter-increment
:
linenumber
;
content
:
counter
(
linenumber
);
color
:
rgba
(
158
,
150
,
150
,
0.38
);
display
:
block
;
padding-right
:
1em
;
text-align
:
right
}
.vditor-speech
{
position
:
absolute
;
display
:
none
;
background-color
:
#f6f8fa
;
border
:
1px
solid
#d1d5da
;
border-radius
:
3px
;
padding
:
3px
;
cursor
:
pointer
;
color
:
#586069
}
.vditor-speech
:hover
,
.vditor-speech--current
{
color
:
#4285f4
}
.vditor-speech
svg
{
height
:
14px
;
width
:
14px
;
fill
:
currentColor
;
display
:
block
;
stroke-width
:
0
;
stroke
:
currentColor
}
.vditor-anchor
{
float
:
left
;
padding-right
:
4px
;
margin-left
:
-20px
}
.vditor-anchor
svg
{
visibility
:
hidden
}
.vditor-anchor
:hover
svg
{
visibility
:
visible
}
.vditor-anchor
:focus
{
outline
:
none
}
.vditor--error
{
color
:
#d23f31
;
font-size
:
12px
;
display
:
block
;
line-height
:
16px
}
.vditor-wysiwyg
{
background-color
:
#fafbfc
;
box-sizing
:
border-box
;
-webkit-box-flex
:
1
;
flex
:
1
;
margin
:
0
;
white-space
:
pre-wrap
;
position
:
relative
}
.vditor-wysiwyg
[
contenteditable
=
"false"
]
{
opacity
:
0.3
;
cursor
:
not-allowed
}
.vditor-wysiwyg
:focus
{
outline
:
none
;
background-color
:
#fff
}
.vditor-wysiwyg
blockquote
:empty::before
,
.vditor-wysiwyg
pre
>
code
:empty::before
{
content
:
' '
}
.vditor-wysiwyg__block
[
data-type
=
"html-block"
]>
pre
,
.vditor-wysiwyg__block
[
data-type
=
"math-block"
]>
pre
{
margin-bottom
:
0
}
.vditor-wysiwyg__block
>
pre
{
margin-bottom
:
-1em
}
.vditor-wysiwyg__block
>
pre
>
code
{
background-color
:
#fff
!important
;
border
:
1px
solid
#d1d5da
;
overflow
:
auto
!important
}
.vditor-wysiwyg__block
[
data-type
=
html-inline
]
.vditor-wysiwyg__preview
svg
{
fill
:
rgba
(
88
,
96
,
105
,
0.36
);
height
:
12px
;
cursor
:
pointer
;
width
:
12px
}
.vditor-wysiwyg__preview
{
cursor
:
pointer
;
white-space
:
initial
;
min-height
:
27px
}
.vditor-wysiwyg__preview
pre
{
margin-bottom
:
1em
!important
}
.vditor-wysiwyg
h1
:before
,
.vditor-wysiwyg
h2
:before
,
.vditor-wysiwyg
h3
:before
,
.vditor-wysiwyg
h4
:before
,
.vditor-wysiwyg
h5
:before
,
.vditor-wysiwyg
h6
:before
,
.vditor-wysiwyg
div
.vditor-wysiwyg__block
:before
{
float
:
left
;
padding-right
:
4px
;
margin-left
:
-29px
;
content
:
'h1'
;
font-size
:
0.85rem
;
font-weight
:
normal
;
text-transform
:
uppercase
;
color
:
rgba
(
88
,
96
,
105
,
0.36
)}
.vditor-wysiwyg
h2
:before
{
content
:
'h2'
}
.vditor-wysiwyg
h3
:before
{
content
:
'h3'
}
.vditor-wysiwyg
h4
:before
{
content
:
'h4'
}
.vditor-wysiwyg
h5
:before
{
content
:
'h5'
}
.vditor-wysiwyg
h6
:before
{
content
:
'h6'
}
.vditor-wysiwyg
div
.vditor-wysiwyg__block
:before
{
content
:
"</>"
}
.vditor-wysiwyg
details
{
white-space
:
initial
}
.vditor-wysiwyg
span
[
data-type
=
"backslash"
]>
span
{
display
:
none
;
color
:
rgba
(
88
,
96
,
105
,
0.36
)}
.user__site
{
float
:
left
;
margin-left
:
10px
}
.user__site
svg
{
height
:
20px
;
width
:
20px
;
fill
:
currentColor
}
html
{
height
:
100%
;
max-height
:
100%
;
font-size
:
62.5%
;
-webkit-tap-highlight-color
:
rgba
(
0
,
0
,
0
,
0
)}
body
{
height
:
100%
;
max-height
:
100%
;
font-family
:
"Merriweather"
,
"Microsoft Yahei"
,
'Helvetica'
;
letter-spacing
:
0.01rem
;
font-size
:
1.8rem
;
line-height
:
1.75em
;
color
:
#3A4145
;
-webkit-font-feature-settings
:
'kern'
1
;
-moz-font-feature-settings
:
'kern'
1
;
-o-font-feature-settings
:
'kern'
1
;
text-rendering
:
geometricPrecision
;
margin
:
0
}
::-moz-selection
{
background
:
#D6EDFF
}
::selection
{
background
:
#D6EDFF
}
a
{
color
:
#4A4A4A
;
-webkit-transition
:
color
0.3s
ease
;
transition
:
color
0.3s
ease
}
a
:hover
{
color
:
#111
}
h1
,
h2
,
h3
,
h4
,
h5
,
h6
{
-webkit-font-feature-settings
:
'dlig'
1
,
'liga'
1
,
'lnum'
1
,
'kern'
1
;
-moz-font-feature-settings
:
'dlig'
1
,
'liga'
1
,
'lnum'
1
,
'kern'
1
;
-o-font-feature-settings
:
'dlig'
1
,
'liga'
1
,
'lnum'
1
,
'kern'
1
;
color
:
#2E2E2E
;
line-height
:
1.15em
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
text-rendering
:
geometricPrecision
}
h1
{
font-size
:
5rem
}
h2
{
font-size
:
3.6rem
}
h3
{
font-size
:
3rem
}
h4
{
font-size
:
2.5rem
}
h5
{
font-size
:
2rem
}
h6
{
font-size
:
2rem
}
img
{
max-width
:
100%
;
height
:
auto
}
p
,
ul
,
ol
,
dl
{
-webkit-font-feature-settings
:
'liga'
1
,
'onum'
1
,
'kern'
1
;
-moz-font-feature-settings
:
'liga'
1
,
'onum'
1
,
'kern'
1
;
-o-font-feature-settings
:
'liga'
1
,
'onum'
1
,
'kern'
1
;
margin
:
0
0
1.75em
0
;
text-rendering
:
geometricPrecision
}
ol
,
ul
{
padding-left
:
3rem
}
ol
ol
,
ul
ul
,
ul
ol
,
ol
ul
{
padding-left
:
2em
;
margin-bottom
:
0
}
dl
dt
{
float
:
left
;
width
:
180px
;
overflow
:
hidden
;
clear
:
left
;
text-align
:
right
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
font-weight
:
700
;
margin-bottom
:
1em
}
dl
dd
{
margin-left
:
200px
;
margin-bottom
:
1em
}
li
li
{
margin
:
0
}
hr
{
display
:
block
;
height
:
1px
;
border
:
0
;
border-top
:
#EFEFEF
1px
solid
;
margin
:
3.2em
0
;
padding
:
0
}
blockquote
{
box-sizing
:
border-box
;
margin
:
1.75em
0
1.75em
0
;
padding
:
0
0
0
1.75em
;
border-left
:
#4A4A4A
0.4em
solid
}
blockquote
p
{
margin
:
0.8em
0
;
font-style
:
italic
}
blockquote
small
{
display
:
inline-block
;
margin
:
0.8em
0
0.8em
1.5em
;
font-size
:
0.9em
;
color
:
#CCC
}
blockquote
small
:before
{
content
:
"\2014 \00A0"
}
blockquote
cite
{
font-weight
:
700
}
blockquote
cite
a
{
font-weight
:
normal
}
mark
{
background-color
:
#fdffb6
}
code
,
tt
{
padding
:
1px
3px
;
font-family
:
Inconsolata
,
monospace
,
"Microsoft Yahei"
,
'Helvetica'
;
font-size
:
0.85em
;
white-space
:
pre-wrap
;
border
:
#E3EDF3
1px
solid
;
background
:
#F7FAFB
;
border-radius
:
2px
}
pre
code
,
pre
tt
{
font-size
:
inherit
;
white-space
:
pre-wrap
;
background
:
transparent
;
border
:
none
;
padding
:
0
}
.fn-clear
:before
,
.fn-clear
:after
{
display
:
table
;
content
:
""
}
.fn-clear
:after
{
clear
:
both
}
.fn-left
{
float
:
left
}
.fn-right
{
float
:
right
}
.fn-none
{
display
:
none
}
.fn-vertical
{
display
:
table-cell
;
vertical-align
:
middle
}
.fn-wrap
{
width
:
80%
;
max-width
:
768px
;
margin
:
0
auto
}
@-webkit-keyframes
fade-in-down
{
0
%
{
opacity
:
0
;
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}}
@keyframes
fade-in-down
{
0
%
{
opacity
:
0
;
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
100
%
{
opacity
:
1
;
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}}
@-webkit-keyframes
bounce
{
0
%,
10
%,
25
%,
40
%,
50
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}
20
%
{
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
30
%
{
-webkit-transform
:
translateY
(
-5px
);
transform
:
translateY
(
-5px
)}}
@keyframes
bounce
{
0
%,
20
%,
50
%,
80
%,
100
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}
40
%
{
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
60
%
{
-webkit-transform
:
translateY
(
-5px
);
transform
:
translateY
(
-5px
)}}
@-webkit-keyframes
upbounce
{
0
%,
10
%,
25
%,
40
%,
50
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}
20
%
{
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
30
%
{
-webkit-transform
:
translateY
(
-5px
);
transform
:
translateY
(
-5px
)}}
@keyframes
upbounce
{
0
%,
20
%,
50
%,
80
%,
100
%
{
-webkit-transform
:
translateY
(
0
);
transform
:
translateY
(
0
)}
40
%
{
-webkit-transform
:
translateY
(
-10px
);
transform
:
translateY
(
-10px
)}
60
%
{
-webkit-transform
:
translateY
(
-5px
);
transform
:
translateY
(
-5px
)}}
@font-face
{
font-family
:
'icomoon'
;
src
:
url("fonts/icomoon.eot?hvf32e")
;
src
:
url("fonts/icomoon.eot?hvf32e#iefix")
format
(
"embedded-opentype"
),
url("fonts/icomoon.ttf?hvf32e")
format
(
"truetype"
),
url("fonts/icomoon.woff?hvf32e")
format
(
"woff"
),
url("fonts/icomoon.svg?hvf32e#icomoon")
format
(
"svg"
);
font-weight
:
normal
;
font-style
:
normal
}
[
class
^=
"icon-"
],[
class
*=
" icon-"
]
{
font-size
:
2rem
;
font-family
:
'icomoon'
!important
;
speak
:
none
;
font-style
:
normal
;
font-weight
:
normal
;
font-variant
:
normal
;
text-transform
:
none
;
line-height
:
1
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
}
.icon-qqz
:before
{
content
:
"\e902"
}
.icon-register
:before
{
content
:
"\e600"
}
.icon-logout
:before
{
content
:
"\e601"
}
.icon-setting
:before
{
content
:
"\e602"
}
.icon-gotop
:before
{
content
:
"\e60a"
}
.icon-twitter
:before
{
content
:
"\e60b"
}
.icon-login
:before
{
content
:
"\e611"
}
.icon-arrow-left
:before
{
content
:
"\f605"
}
.icon-menu
:before
{
line-height
:
38px
;
content
:
"\f609"
;
font-size
:
20px
}
.icon-wechat
:before
{
content
:
"\e903"
}
.icon-sitemap
:before
{
content
:
"\e900"
}
.icon-list
:before
{
content
:
"\e901"
}
.avatar
{
border-radius
:
100%
;
float
:
left
;
height
:
24px
;
margin-right
:
9px
;
width
:
24px
}
.avatar-warp
{
width
:
10%
;
padding-right
:
10px
;
box-sizing
:
border-box
}
.avatar-48
{
box-shadow
:
0
0
2px
#ddd
;
height
:
auto
;
width
:
48px
;
margin-right
:
10px
;
border-radius
:
24px
}
.form
{
width
:
100%
;
margin-top
:
50px
}
.form
input
,
.form
textarea
,
.form
button
{
border
:
1px
solid
#CCCCCC
;
background-color
:
#FAFAFA
;
border-radius
:
3px
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.075
)
inset
;
padding
:
7px
8px
;
width
:
100%
;
box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
;
font-family
:
"Microsoft Yahei"
,
'Helvetica'
;
outline
:
none
}
.form
button
{
width
:
auto
;
vertical-align
:
bottom
}
.form
input
:focus
,
.form
textarea
:focus
{
background-color
:
#FFF
;
box-shadow
:
0
1px
2px
rgba
(
0
,
0
,
0
,
0.075
)
inset
,
0
0
5px
rgba
(
81
,
167
,
232
,
0.5
);
border
:
1px
solid
#51A7E8
}
.error-msg
{
font-size
:
1.5rem
;
color
:
#9EABB3
}
.cmtFromSym
{
font-size
:
1rem
;
color
:
#9EABB3
}
.main-header
{
position
:
relative
;
display
:
table
;
width
:
100%
;
height
:
100vh
;
margin-bottom
:
5rem
;
text-align
:
center
;
background
:
#222
no-repeat
center
center
;
background-size
:
cover
;
overflow
:
hidden
;
background-image
:
url("../images/header-bg.jpg")
;
min-height
:
50vh
}
.site-wrapper
{
position
:
relative
;
z-index
:
10
;
min-height
:
100%
;
background
:
#fff
;
-webkit-transition
:
-webkit-transform
0.5s
ease
;
transition
:
-webkit-transform
0.5s
ease
;
transition
:
transform
0.5s
ease
;
transition
:
transform
0.5s
ease
,
-webkit-transform
0.5s
ease
}
.nav-opened
.site-wrapper
{
overflow-x
:
hidden
;
margin-right
:
240px
;
-webkit-transition
:
margin
0.3s
ease
;
transition
:
margin
0.3s
ease
}
.page-title
a
{
-webkit-animation
:
fade-in-down
0.6s
;
animation
:
fade-in-down
0.6s
;
-webkit-animation-delay
:
0.2s
;
animation-delay
:
0.2s
;
margin
:
10px
0
10px
0
;
font-size
:
5rem
;
letter-spacing
:
-1px
;
font-weight
:
700
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
color
:
#fff
;
text-shadow
:
0px
0px
3px
rgba
(
0
,
0
,
0
,
0.9
);
text-decoration
:
none
}
.page-description
,
.page-description
a
{
-webkit-animation
:
fade-in-down
0.9s
;
animation
:
fade-in-down
0.9s
;
-webkit-animation-delay
:
0.1s
;
animation-delay
:
0.1s
;
margin
:
0
;
font-size
:
2rem
;
line-height
:
1.5em
;
font-weight
:
400
;
letter-spacing
:
0.01rem
;
color
:
rgba
(
255
,
255
,
255
,
0.8
)}
.scroll-down
{
display
:
block
;
position
:
absolute
;
z-index
:
100
;
bottom
:
45px
;
left
:
50%
;
margin-left
:
-16px
;
width
:
34px
;
height
:
34px
;
font-size
:
34px
;
text-align
:
center
;
text-decoration
:
none
;
color
:
rgba
(
255
,
255
,
255
,
0.7
);
-webkit-animation
:
bounce
4s
2s
infinite
;
animation
:
bounce
4s
2s
infinite
}
.scroll-down
:hover
{
color
:
#fff
;
-webkit-animation
:
none
;
animation
:
none
}
.menu-button
{
position
:
fixed
;
box-sizing
:
border-box
;
display
:
inline-block
;
float
:
right
;
height
:
38px
;
padding
:
0
15px
;
opacity
:
1
;
font-size
:
12px
;
text-transform
:
uppercase
;
line-height
:
46px
;
border-radius
:
3px
;
-webkit-transition
:
all
0.5s
ease
;
transition
:
all
0.5s
ease
;
right
:
20px
;
top
:
40px
;
text-decoration
:
none
;
font-family
:
'Open Sans'
,
"Microsoft Yahei"
,
'Helvetica'
;
z-index
:
30
;
overflow
:
hidden
;
background-color
:
#111
;
border
:
1px
solid
#111
;
color
:
#fff
;
cursor
:
pointer
}
.menu-button
:hover
{
background
:
#fff
}
.menu-button
:focus
{
outline
:
0
}
.nav-closed
.menu-button
:hover
{
color
:
#222
}
.nav-opened
.menu-button
{
padding
:
0
12px
;
background
:
#111
;
border-color
:
#111
;
color
:
#fff
;
-webkit-transform
:
translate3D
(
50px
,
0
,
0
);
transform
:
translate3D
(
50px
,
0
,
0
);
-webkit-transition
:
all
0.3s
ease
;
transition
:
all
0.3s
ease
;
right
:
287px
;
z-index
:
10
;
width
:
46px
;
border-radius
:
3px
0
0
3px
}
.menu-button
.word
{
float
:
right
;
margin
:
-4px
0
0
10px
}
.nav
{
position
:
fixed
;
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-orient
:
vertical
;
-webkit-box-direction
:
normal
;
flex-direction
:
column
;
top
:
0
;
right
:
0
;
bottom
:
0
;
z-index
:
5
;
width
:
220px
;
padding
:
10px
10px
0
10px
;
opacity
:
0
;
background
:
#111
;
margin-bottom
:
0
;
text-align
:
left
;
overflow-y
:
auto
;
color
:
#FFF
;
-webkit-transition
:
-webkit-transform
0.5s
ease
,
opacity
0.3s
ease
0.7s
;
-webkit-transition
:
opacity
0.3s
ease
0.7s
,
-webkit-transform
0.5s
ease
;
transition
:
opacity
0.3s
ease
0.7s
,
-webkit-transform
0.5s
ease
;
transition
:
transform
0.5s
ease
,
opacity
0.3s
ease
0.7s
;
transition
:
transform
0.5s
ease
,
opacity
0.3s
ease
0.7s
,
-webkit-transform
0.5s
ease
;
overflow-x
:
hidden
}
.nav
::-webkit-scrollbar
{
display
:
none
}
.nav
ul
{
-webkit-box-flex
:
1
;
flex
:
1
;
margin
:
0
;
padding
:
0px
0
5%
;
list-style
:
none
;
counter-reset
:
item
}
.nav
li
{
height
:
30px
;
line-height
:
1.4rem
}
.nav
li
:before
{
display
:
block
;
float
:
right
;
padding-right
:
4%
;
padding-left
:
5px
;
text-align
:
right
;
font-size
:
1.2rem
;
vertical-align
:
bottom
;
color
:
#B8B8B8
;
content
:
counter
(
item
,
lower-roman
);
counter-increment
:
item
;
line-height
:
2.5rem
}
.nav
a
{
color
:
#989898
;
text-decoration
:
none
;
line-height
:
1.4
;
font-size
:
1.4rem
}
.nav
a
:hover
,
.nav
a
.current
{
color
:
#FFF
}
.nav
li
a
{
display
:
block
;
padding
:
0.6rem
4%
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
}
.nav
li
a
:after
{
display
:
inline-block
;
content
:
" ......................................................."
;
color
:
rgba
(
255
,
255
,
255
,
0.2
);
margin-left
:
5px
}
.nav
.count
{
font-size
:
1rem
;
word-wrap
:
normal
;
word-break
:
break-all
;
white-space
:
nowrap
}
.nav
.page-icon
{
float
:
left
;
height
:
14px
;
width
:
14px
;
margin
:
3px
4px
0
0
}
body
.nav-closed
.nav
{
-webkit-transform
:
translate3D
(
240px
,
0
,
0
);
transform
:
translate3D
(
240px
,
0
,
0
)}
body
.nav-opened
.nav
{
opacity
:
1
;
-webkit-transition
:
-webkit-transform
0.3s
ease
,
opacity
0s
ease
0s
;
-webkit-transition
:
opacity
0s
ease
0s
,
-webkit-transform
0.3s
ease
;
transition
:
opacity
0s
ease
0s
,
-webkit-transform
0.3s
ease
;
transition
:
transform
0.3s
ease
,
opacity
0s
ease
0s
;
transition
:
transform
0.3s
ease
,
opacity
0s
ease
0s
,
-webkit-transform
0.3s
ease
;
-webkit-transform
:
translate3D
(
0
,
0
,
0
);
transform
:
translate3D
(
0
,
0
,
0
)}
article
.post
{
position
:
relative
;
margin
:
4rem
auto
;
padding-bottom
:
4rem
;
border-bottom
:
#EBF2F6
1px
solid
;
word-wrap
:
break-word
;
width
:
80%
}
article
.post
.share
{
position
:
relative
}
article
.post
.share
canvas
{
position
:
absolute
;
left
:
0
;
top
:
36px
}
.post-content--article
{
padding-bottom
:
10px
}
.post-content--article
::-webkit-scrollbar
{
display
:
none
}
article
.post
:after
{
display
:
block
;
content
:
""
;
width
:
7px
;
height
:
7px
;
border
:
#E7EEF2
1px
solid
;
position
:
absolute
;
bottom
:
-5px
;
left
:
50%
;
margin-left
:
-5px
;
background
:
#FFF
;
border-radius
:
100%
;
box-shadow
:
#FFF
0
0
0
5px
}
.post-title
a
{
text-decoration
:
none
}
.post-tip
{
display
:
inline-block
;
text-transform
:
uppercase
;
font-size
:
1.3rem
;
white-space
:
nowrap
;
color
:
#9EABB3
;
cursor
:
text
}
.post-tip
:hover
{
color
:
#9EABB3
}
.post-tip
:visited
{
color
:
#fff
}
.post-excerpt
p
{
margin
:
0
;
font-size
:
0.9em
;
line-height
:
1.7em
}
.post-meta
{
color
:
#9eabb3
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
font-size
:
1.5rem
;
line-height
:
2.2rem
;
margin
:
1.75rem
0
0
0
}
.post-meta
a
{
color
:
#9EABB3
;
text-decoration
:
none
}
.post-meta
a
:hover
{
text-decoration
:
underline
}
.post-meta
time
{
border-left
:
1px
solid
#d5dbde
;
display
:
inline-block
;
font-size
:
1.3rem
;
margin-left
:
8px
;
padding-left
:
12px
;
text-transform
:
uppercase
;
white-space
:
nowrap
}
.post-author
{
box-sizing
:
border-box
;
display
:
block
;
position
:
absolute
;
bottom
:
-57px
;
left
:
50%
;
margin-left
:
-40px
;
width
:
80px
;
height
:
80px
;
border-radius
:
100%
;
overflow
:
hidden
;
padding
:
6px
;
background
:
#fff
;
z-index
:
2
;
box-shadow
:
#E7EEF2
0
0
0
1px
}
.post-author
a
{
background-size
:
cover
;
background-position
:
center
center
;
width
:
68px
;
height
:
68px
;
display
:
block
;
border-radius
:
35px
}
.share
.icon
{
cursor
:
pointer
;
-webkit-transition
:
all
0.2s
ease-out
0s
;
transition
:
all
0.2s
ease-out
0s
;
display
:
inline-block
;
font-size
:
16px
;
margin-top
:
15px
}
.share
.icon
:hover
{
-webkit-transform
:
rotate
(
360deg
);
transform
:
rotate
(
360deg
);
color
:
#9EABB3
}
.icon-weibo
:before
{
content
:
"\e605"
}
.icon-twitter
:before
{
content
:
"\e60b"
}
.icon-tencent
:before
{
content
:
"\e60d"
}
.icon-google
:before
{
content
:
"\e603"
}
.icon-gotop
:before
{
content
:
"\E60A"
;
font-weight
:
bold
}
.icon-gotop
{
cursor
:
pointer
;
position
:
fixed
;
bottom
:
30px
;
right
:
30px
;
-webkit-animation
:
upbounce
4s
2s
infinite
;
animation
:
upbounce
4s
2s
infinite
;
text-decoration
:
none
;
z-index
:
12
}
.icon-gotop
:hover
{
color
:
#B8B8B8
;
-webkit-animation
:
none
;
animation
:
none
}
.pagination
{
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
font-size
:
1.3rem
;
color
:
#9eabb3
;
text-align
:
center
}
.pagination
a
{
color
:
#9EABB3
;
-webkit-transition
:
all
0.2s
ease
;
transition
:
all
0.2s
ease
;
padding
:
0
15px
;
border
:
#bfc8cd
1px
solid
;
text-decoration
:
none
;
display
:
inline-block
;
border-radius
:
4px
}
.pagination
a
:hover
{
border-color
:
#98a0a4
;
color
:
#889093
}
ul
.comments
{
padding
:
0
;
list-style
:
none
;
margin-top
:
100px
;
position
:
relative
}
.comments
li
{
padding
:
10px
;
white-space
:
normal
;
word-wrap
:
break-word
;
position
:
relative
;
border-bottom
:
#EBF2F6
1px
solid
}
.comments
li
:hover
{
background-color
:
#F7F7F7
}
.comments
li
img
{
vertical-align
:
sub
}
.comments
.comment-content
{
margin
:
8px
0
0
}
.comments
li
.comment-body-ref
{
position
:
absolute
;
z-index
:
10
;
background-color
:
#EBF2F6
;
border
:
#d5dbde
1px
solid
;
width
:
86%
;
left
:
69px
}
.comments
.post-meta
{
margin-top
:
0
}
#captcha
,
#captchaReply
{
height
:
27px
;
display
:
inline-block
;
vertical-align
:
inherit
}
.read-next
{
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-align
:
stretch
;
align-items
:
stretch
;
margin-top
:
10rem
}
.read-next-story
{
display
:
-webkit-box
;
display
:
flex
;
-webkit-box-flex
:
1
;
flex-grow
:
1
;
min-width
:
50%
;
text-decoration
:
none
;
position
:
relative
;
text-align
:
center
;
color
:
#fff
;
background
:
#222
no-repeat
center
center
;
background-size
:
cover
;
overflow
:
hidden
}
.read-next-story
a
{
color
:
#BBB
}
.read-next-story
a
:hover
{
color
:
#FFF
}
.read-next-story
:hover:before
{
background
:
rgba
(
0
,
0
,
0
,
0.8
);
-webkit-transition
:
all
0.2s
ease
;
transition
:
all
0.2s
ease
}
.read-next-story
:hover
.post
:before
{
color
:
#222
;
background
:
#fff
;
-webkit-transition
:
all
0.2s
ease
;
transition
:
all
0.2s
ease
}
.read-next-story
:before
{
content
:
""
;
display
:
block
;
position
:
absolute
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
background
:
rgba
(
0
,
0
,
0
,
0.7
);
-webkit-transition
:
all
0.5s
ease
;
transition
:
all
0.5s
ease
}
.read-next-story
.post
{
padding-top
:
6rem
;
padding-bottom
:
6rem
;
width
:
80%
;
position
:
relative
;
margin
:
0
auto
}
.read-next-story
.post
:before
{
content
:
"Read This Next"
;
padding
:
4px
10px
5px
;
text-transform
:
uppercase
;
font-size
:
1.1rem
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
color
:
rgba
(
255
,
255
,
255
,
0.8
);
border
:
1px
solid
rgba
(
255
,
255
,
255
,
0.5
);
border-radius
:
4px
;
-webkit-transition
:
all
0.5s
ease
;
transition
:
all
0.5s
ease
}
.read-next-story.prev
.post
:before
{
content
:
"Read This Before"
}
.read-next-story
h2
{
margin-top
:
1rem
;
color
:
#fff
}
.read-next-story
p
{
margin
:
0
;
color
:
rgba
(
255
,
255
,
255
,
0.8
)}
.read-next
+
.site-footer
{
position
:
absolute
;
bottom
:
0
;
left
:
0
;
right
:
0
;
margin
:
0
}
#tags
{
padding
:
0
}
#tags
li
{
list-style
:
none
;
float
:
left
}
#tags
li
a
{
border
:
1px
solid
#4A4A4A
;
display
:
inline-block
;
padding
:
10px
;
margin
:
1rem
;
border-radius
:
5px
;
text-decoration
:
none
}
#tags
li
a
:hover
{
border
:
1px
solid
#FFF
;
color
:
#FFF
;
background-color
:
#4A4A4A
}
.dynamic
.read-next-story
>
div
{
position
:
relative
;
width
:
60%
;
margin
:
50px
auto
;
text-align
:
left
}
.dynamic
a
{
text-decoration
:
none
;
margin
:
0
;
color
:
rgba
(
255
,
255
,
255
,
0.8
)}
.dynamic
a
:hover
{
color
:
rgba
(
255
,
255
,
255
,
0.5
)}
.site-footer
{
position
:
relative
;
margin
:
8rem
0
0
0
;
padding
:
1rem
15px
;
font-family
:
"Open Sans"
,
"Microsoft Yahei"
,
'Helvetica'
;
font-size
:
1rem
;
line-height
:
1.75em
;
color
:
#BBC7CC
}
.site-footer
a
{
color
:
#BBC7CC
;
font-weight
:
bold
;
text-decoration
:
none
}
.site-footer
a
:hover
{
text-decoration
:
underline
}
@media
only
screen
and
(
max-width
:
900px
){
blockquote
{
margin-left
:
0
}
.main-header
{
box-sizing
:
border-box
;
height
:
auto
;
min-height
:
240px
;
height
:
60vh
;
padding
:
15%
0
}
.scroll-down
{
display
:
none
}
.page-title
,
.page-title
a
{
font-size
:
4rem
;
letter-spacing
:
-1px
}
.page-description
,
.page-description
a
{
font-size
:
1.8rem
;
line-height
:
1.5em
}
.post
{
font-size
:
0.95em
}
hr
{
margin
:
2.4em
0
}
ol
,
ul
{
padding-left
:
2em
}
h1
{
font-size
:
4.5rem
}
h2
{
font-size
:
3.6rem
}
h3
{
font-size
:
3.1rem
}
h4
{
font-size
:
2.5rem
}
h5
{
font-size
:
2.2rem
}
h6
{
font-size
:
1.8rem
}
.read-next
{
-webkit-box-orient
:
vertical
;
-webkit-box-direction
:
normal
;
flex-direction
:
column
;
margin-top
:
4rem
}}
@media
only
screen
and
(
max-width
:
500px
){
.main-header
{
margin-bottom
:
15px
;
height
:
40vh
}
.pagination
{
width
:
auto
;
margin
:
2rem
auto
}
.post
{
width
:
auto
;
margin-top
:
2rem
;
margin-bottom
:
2rem
;
margin-left
:
16px
;
margin-right
:
16px
;
padding-bottom
:
2rem
;
line-height
:
1.65em
}
hr
{
margin
:
1.75em
0
}
p
,
ul
,
ol
,
dl
{
font-size
:
0.95em
;
margin
:
0
0
2.5rem
0
}
.page-title
,
.page-title
a
{
font-size
:
3rem
}
.post-excerpt
p
{
font-size
:
0.85em
}
.page-description
,
.page-description
a
{
font-size
:
1.6rem
}
h1
,
h2
,
h3
,
h4
,
h5
,
h6
{
margin
:
0
0
0.3em
0
}
h1
{
font-size
:
2.8rem
;
letter-spacing
:
-1px
}
h2
{
font-size
:
2.4rem
;
letter-spacing
:
0
}
h3
{
font-size
:
2.1rem
}
h4
{
font-size
:
1.9rem
}
h5
{
font-size
:
1.8rem
}
h6
{
font-size
:
1.8rem
}
.post-content
img
{
padding
:
0
;
width
:
calc
(
100%
+
32px
);
min-width
:
0
;
max-width
:
112%
}
.post-meta
{
font-size
:
1.3rem
;
margin-top
:
1rem
}
.site-footer
{
margin-top
:
3rem
}
.read-next
{
margin-top
:
2rem
;
margin-bottom
:
-37px
}
.read-next
.post
{
width
:
100%
}
.menu-button
{
border
:
0
;
top
:
0
;
right
:
0
}
.nav-opened
.site-wrapper
{
margin-right
:
0
}
.nav
{
z-index
:
11
}
.nav-closed
.menu-button
:hover
{
color
:
#FFF
;
background-color
:
transparent
}
.post-author
{
width
:
40px
;
height
:
40px
;
bottom
:
-37px
;
padding
:
3px
;
margin-left
:
-20px
}
.post-author
a
{
width
:
34px
;
height
:
34px
;
display
:
block
;
border-radius
:
17px
}
.nav
.count
{
line-height
:
1.5rem
}
#tags
li
a
{
padding
:
0
5px
}}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment