Word 转 HTML
第一步:使用word文档打开文件,将文档另存为 "筛选过的网页(*.htm,*.html)"格式 到 “a文件夹” 下
此时的 “a文件夹” 下会多出一个文件和文件夹:
- 文件:包含html内容、js脚本、css样式,点击可通过浏览器直接预览
- 文件夹:包含word文档中的图片
第二步:将 html 或者 htm 文件使用编辑器打开(以vscode为例)
如果出现乱码,点击 右下角 UTF-8 ,选择通过编码重新打开,点击后,选择 gb2312 即可
如果仍存在乱码使用其余编码格式尝试 或 谷歌搜索,word软件转换的html该以什么编码格式打开
第三步:通过浏览器打开 htm(或 html) 文件,此时点击目录即可跳转到相应锚点
第四步:此时开始调整样式,使用 <div class="left-nav></div>"
包裹整个目录
- 你可以通过vscode的搜索功能快速定位整个目录的元素,例如:我先搜索了 “一、业主端APP”
- 也许存在多个匹配项,可通过hml(或html) 打开的网页可快速确定出现的第几个是匹配目录的
- 给目录元素头部添加
<div class="left-nav">
,尾部添加</div>
- 搜索
</style>
快速定位到css
样式的编写位置,在其后添加 如下代码:
body > div {
position: relative;
overflow: hidden;
margin-left: 260px;
}
.left-nav {
float: left;
width: 260px;
position: fixed;
top: 0;
left: 0;
overflow-y: auto;
height: 100%;
background: #fafafa;
border-right: 1px solid #eee;
padding-bottom: 20px;
}
.left-nav a {
color: #364149;
display: inline-block;
padding: 8px 0;
text-decoration: none;
}
.left-nav a:visited,.left-nav span.MsoHyperlinkFollowed {
color: #008cff;
}
.left-nav a:active,.left-nav span.MsoHyperlink {
color: #008cff;
}
.left-nav p:last-child {
margin-bottom: 20px;
}
p.MsoTocHeading {
padding: 20px 0 !important;
text-align:center;
page-break-after:auto;
color: #364149;
font-weight: bold;
}
p.MsoToc1 {
padding-left: 10px;
}
p.MsoToc1 span {
font-weight: bold !important;
}
p.MsoToc2 {
margin-left: 16px;
}
p.MsoToc3 {
margin-left: 40px;
}
p.MsoToc3 span{
font-size: 15px;
}
.zw2 {
padding-top: 30px;
}
实际上就是向被包裹的目录元素设置固定定位,以及样式内容,同时对内容元素设置 左外边距(margin-left)
如果添加代码后保存时提示无法直接修改,直接选择另存为即可 ,此处我另存为了 rong.htm
(名字无限制)
要点记录:
详解第四步 如何搜索目录元素
- 可先全选htm代码,使用编辑器自带的 整理代码功能,让代码格式更便于阅读
- 为何我的文件转换后的文件没有目录
- 转换文件不会出现原本就不存在的东西,目录需要在word文档中存在目录
- 如果不存在,使用word的插入目录功能,点击引用 -> 目录,生成目录
- 注意生成的目录选第一种,不要第二种,否则将花费时间去掉htm文件中的 “…”
- 通过浏览器控制台配合编辑器可快速定位,一般都是在
WordSectionX
div
中,根据你目录生成位置 MsoTocX
即你的目录层级,一级目录就是 MsoToc1,以此类推- 找到最后一个
MsoTocX
,就是你需要使用<div class="left-nav"></div>
包裹的HTML元素
word 转为html后部分内容渲染与原先不相同
- 大部分是原因是使用了形状,这类元素可以在word文档上随意拖拽的元素使用时需要注意尽可能水平居中,原因是定位不准,可能导致渲染的元素被隐藏
- 使用word的表格功能可以很好的帮助定位元素的位置