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格式的电子书的更多相关文章

  1. Epub格式的电子书——文件组成

    epub格式电子书遵循IDPF推出的OCF规范,OCF规范遵循ZIP压缩技术,即epub电子书本身就是一个ZIP文件,我们将epub格式电子书的后缀.epub修改为.zip后,可以通过解压缩软件(例如 ...

  2. 关于Angular+ngx-perfect-scrollbar自定义各大浏览器滚动条样式的解决方法

    资料: http://manos.malihu.gr/jquery-custom-content-scroller/  (此项是结合Jquery使用的,在此并未采用) https://www.npmj ...

  3. PDF转EPUB格式电子书经验总结

    依据本人将PDF转换为EPUB电子书的经验,总结整理了这篇文章.因本人水平有限,难免有错误和不足之处,望大家及时批评指正.   写这篇文章时,假定读者已经会使用文中所列出软件的基本操作,比方如何用No ...

  4. 一步步开发自己的博客 .NET版 剧终篇(6、响应式布局 和 自定义样式)

    前言 这次开发的博客主要功能或特点:    第一:可以兼容各终端,特别是手机端.    第二:到时会用到大量html5,炫啊.    第三:导入博客园的精华文章,并做分类.(不要封我)    第四:做 ...

  5. 使用 Vue 和 epub.js 制作电子书阅读器

    ePub 简介 ePub 是一种电子书的标准格式,平时我看的电子书大部分是这种格式.在手机上我一般用"多看"阅读 ePub 电子书,在 Windows 上找不到用起来比较顺心的软件 ...

  6. TXT电子书格式怎样转换成epub格式

    怎样将TXT电子书格式转换成epub格式呢?因为很多时候不同的阅读器所支持的电子书格式是有所不同,所以电子书格式转换的问题,在生活中也是会经常出现的问题.如果我们需要将TXT电子书格式转换成epub格 ...

  7. Expo大作战(十二)--expo中的自定义样式Custom font,以及expo中的路由Route&Navigation

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  8. H5 <audio> 音频标签自定义样式修改以及添加播放控制事件

    H5 <audio> 音频标签自定义样式修改以及添加播放控制事件 Dandelion_drq 关注 2017.08.28 14:48* 字数 331 阅读 2902评论 3喜欢 3 说明: ...

  9. 超详细的Xcode代码格式化教程,可自定义样式

    为什么要格式化代码 当团队内有多人开发的时候,每个人写的代码格式都有自己的喜好,也可能会忙着写代码而忽略了格式的问题. 在之前,我们可能会写完代码后,再一点一点去调格式,很浪费时间. 有了ClangF ...

随机推荐

  1. Macaca环境搭建全教程

    首先想要会Macaca,还得先会用github,不然你得死……因为各种例子都在git上,官网也一样,蛋疼的很…… #基础环境 1.JDK:jdk1.8-配置变量 2.Android SDK:sdk   ...

  2. php的id加密

    <?php/** * article url:http://kvz.io/blog/2009/06/10/create-short-ids-with-php-like-youtube-or-ti ...

  3. linux/Ubuntu系统上安装mysql数据库(附图详解)

    在前面的文章中,我已经分享了如何在Ubuntu系统中安装以及搭建java开发环境,那么当我们需要跟数据打交道的时候,那么就需要在ubuntu系统中安装一个数据库了,那么废话就不多说了,我们这里主要是分 ...

  4. UnityShader学习笔记1 — — 入门知识整理

    注:资料整理自<Unity Shader入门精要>一书 一.渲染流程概念阶段:  应用阶段:(1)准备好场景数据:(如摄像机位置,物体以及光源等)   (2)粗粒度剔除(Culling): ...

  5. CentOS7的安装与配置

    Linux系统以前接触的不多,主要是公司的网站部署在了一台安装了Ubuntu系统的机器上.是典型的LAMP架构的产物,因为偶而需要更新网站内容及需要定期备份.所以学习了一些Ubuntu & A ...

  6. OpenSSH技术详解

    一.什么是Openssh  OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现.SSH协议族可以用来进行远程控制, 或在计算机之间传送文件.而实现此功能的传统方式,如teln ...

  7. 使用过滤器解决JSP页面的乱码问题

    乱码详情  总结:讨论了使用GET和POST方法,控制台和JSP页面显示的问题. 最终发现:在servlet或者过滤器中添加:request.setCharacterEncoding("ut ...

  8. Log4j简单配置解析

    log4j.rootLogger=ERROR, stdoutlog4j.logger.tk.mybatis.simple.mapper=TRACElog4j.appender.stdout=org.a ...

  9. PLSQL触发器,游标

    --触发器 drop table emp_log create table emp_log( empno number, log_date date, new_salary number, actio ...

  10. Redis Jedis简介

    Redis是一种基于内存类型的数据存储工具 Jedis是一个用java写的Redis数据库操作的客户端,通过Jedis,可以很方便的对redis数据库进行操作.Jedis通过Jedis Pool进行R ...