自定义样式,使用浏览器阅读epub格式的电子书
epub格式的电子式一般用专门的阅读器打开,但是如果可以使用浏览器打开,就可以随意更改css了,获得极致的体验效果。
比如可以自定义字体、行间距、背景色、字体大小、缩进等等...
当然,如果您不需要添加翻页按钮,请跳过第二、三步,直接进行第四步也可以。
效果如下:
一、使用解压软件将epub格式的电子书解压到特定的文件夹,解压后一般为html格式。
二、将文件重命名,以数字方式命名,并从1开始编号,可以使用bat批处理文档,方面下一步翻页时计算页面。
将如下代码拷贝到任一个记事本文件里面,将记事本后缀改为.bat,注意一定是真正的后缀是.bat,有的人改完之后是.bat.txt,这样是没有效果的
@echo off
set a=
setlocal EnableDelayedExpansion
for %%n in (*.html) do (
set /A a+=1
ren "%%n" "!a!.html"
)
双击执行批处理即可。
三、在html页面中添加“上一页”,“下一页”按钮。
将代码插入</body>之前,可以使用 notepad批量替换</body>字符。
代码:
<script language="javascript">
<!--var strHref = window.location.href;
var pageName = strHref.slice(strHref.lastIndexOf("/")+1);
var pageNumber=parseInt(pageName.replace(".html",""));
function forward()
{var aa=pageNumber-1;window.location.href=aa+".html";}
function back()
{var bb=pageNumber+1;window.location.href=bb+".html";}
//-->
</script>
<div>
<div class="fanye1"><input type="button" value="上一页" onclick="forward()"></div>
<div class="fanye2"><input type="button" value="下一页" onclick="back()"></div>
</div>
或者在外部引入js(推荐):
将以下代码写入记事本,另存为fanye.js。
<!--
var strHref = window.location.href;
var pageName = strHref.slice(strHref.lastIndexOf("/")+1);
var pageNumber=parseInt(pageName.replace(".html",""));
function forward()
{
var aa=pageNumber-1;
window.location.href=aa+".html";
}
function back()
{
var bb=pageNumber+1;
window.location.href=bb+".html";
}
//-->
在html文件中引入,在</body>前加入如下代码
<script src="fanye.js" type="text/javascript"></script>
<div>
<div class="fanye1"><input type="button" value="上一页" onclick="forward()"></div>
<div class="fanye2"><input type="button" value="下一页" onclick="back()"></div>
</div>
四、在浏览器页面加入CSS样式,获得自定义的阅读效果。
我的css是从https://ebooks.adelaide.edu.au/meta/titles/A.html这个在线书籍网站的页面复制下来的,稍作更改,直接放到解压后的书籍目录下,如下图的stylesheet.css。替换原来解压后的main.css 文件。
我的stylesheet.css
https://files.cnblogs.com/files/ricksteves/stylesheet.css
(如需使用我的css,请右键以上链接目标另存为下载)
使用浏览器阅读的好处是显而易见的,英文书籍直接配合欧路词典,划词取义。
最后是效果图:
自定义样式,使用浏览器阅读epub格式的电子书的更多相关文章
- Epub格式的电子书——文件组成
epub格式电子书遵循IDPF推出的OCF规范,OCF规范遵循ZIP压缩技术,即epub电子书本身就是一个ZIP文件,我们将epub格式电子书的后缀.epub修改为.zip后,可以通过解压缩软件(例如 ...
- 关于Angular+ngx-perfect-scrollbar自定义各大浏览器滚动条样式的解决方法
资料: http://manos.malihu.gr/jquery-custom-content-scroller/ (此项是结合Jquery使用的,在此并未采用) https://www.npmj ...
- PDF转EPUB格式电子书经验总结
依据本人将PDF转换为EPUB电子书的经验,总结整理了这篇文章.因本人水平有限,难免有错误和不足之处,望大家及时批评指正. 写这篇文章时,假定读者已经会使用文中所列出软件的基本操作,比方如何用No ...
- 一步步开发自己的博客 .NET版 剧终篇(6、响应式布局 和 自定义样式)
前言 这次开发的博客主要功能或特点: 第一:可以兼容各终端,特别是手机端. 第二:到时会用到大量html5,炫啊. 第三:导入博客园的精华文章,并做分类.(不要封我) 第四:做 ...
- 使用 Vue 和 epub.js 制作电子书阅读器
ePub 简介 ePub 是一种电子书的标准格式,平时我看的电子书大部分是这种格式.在手机上我一般用"多看"阅读 ePub 电子书,在 Windows 上找不到用起来比较顺心的软件 ...
- TXT电子书格式怎样转换成epub格式
怎样将TXT电子书格式转换成epub格式呢?因为很多时候不同的阅读器所支持的电子书格式是有所不同,所以电子书格式转换的问题,在生活中也是会经常出现的问题.如果我们需要将TXT电子书格式转换成epub格 ...
- Expo大作战(十二)--expo中的自定义样式Custom font,以及expo中的路由Route&Navigation
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- H5 <audio> 音频标签自定义样式修改以及添加播放控制事件
H5 <audio> 音频标签自定义样式修改以及添加播放控制事件 Dandelion_drq 关注 2017.08.28 14:48* 字数 331 阅读 2902评论 3喜欢 3 说明: ...
- 超详细的Xcode代码格式化教程,可自定义样式
为什么要格式化代码 当团队内有多人开发的时候,每个人写的代码格式都有自己的喜好,也可能会忙着写代码而忽略了格式的问题. 在之前,我们可能会写完代码后,再一点一点去调格式,很浪费时间. 有了ClangF ...
随机推荐
- django套用模板404报错小结
首先,我的项目名是MyProject.每次当我运行,然后测试页面的时候,总是弹出 其实根据stackoverflow上某大佬的解释大意就是在setting.py和urls.py的匹配上出了问题 此处放 ...
- Netty源码分析第3章(客户端接入流程)---->第4节: NioSocketChannel注册到selector
Netty源码分析第三章: 客户端接入流程 第四节: NioSocketChannel注册到selector 我们回到最初的NioMessageUnsafe的read()方法: public void ...
- linux的date命令使用指定时间的加减方法与异常
在一般网页里,date命令减时间方法为: date -d '-100 days' 我的需求是,在指定时间上减8小时.按一般理解来看,命令写成如下样子(有异常错误的写法): date -d " ...
- python的Socket网络编程 使用模板
本文给出的是TCP协议的Socket编程. 其中用了一个dbmanager数据库操作模块,这个模块是我自己定义的,可以在我的另一个文章中找到这个模块的分享.python操作mysql数据库的精美实用模 ...
- 第十三次作业psp
psp 进度条 代码累积折线图 博文累积折线图 psp饼状图
- mysql和oracle查询出的一条结果中的多个字段拼接
1,mysql concat('a','b','c')和concat_ws('a','b','c')的区别:前者如果有某个值为空,结果为空;后者如果有某个值为空,可以忽略这个控制 SELECT con ...
- Bing词典vs有道词典比对测试报告——功能篇之辅助功能,差异化功能及软件的效能
1.辅助功能: 和有道相比,必应的词典加入了换肤功能,用户可以选择喜欢的颜色,而且必应的皮肤也比较多,这一点设计给必应增色不少. 相对而言,有道则加入了调节客户端字体的大小,如下,也比较人性化 2.差 ...
- oo第八次作业--5,6,7次作业总结
一.多线程的设计 这三次作业的主要内容就是使用多线程并且解决多线程中出现的问题.而对于多线程我也有了自己的理解.首先明确的一点是单个CPU在同一时间只能处理一件事.那么,不管是多进程还是多线程,我们的 ...
- [BUAA_SE_2017]结对项目-数独程序扩展
结对项目-数独程序扩展 Runnable on x64 Only sudoku17.txt 须放置在可执行文件同目录中,可移步以下链接进行下载 Core-Github项目地址 GUI-Github项目 ...
- 20135332 第一次JAVA实验报告
课程:Java程序设计 班级: 1353 姓名:武西垚 学号:20135332 成绩: 指导教师:娄嘉鹏 实验日期:2 ...