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. Jmeter 数据库配置池设置IP为参数

    我在网上查了很多资料,发现jmter链接数据库的URL都是设置成固定值的.没有参数化. 当我需要使用配置文件链接不同服务器上的数据库的时候,发现无法实现. 原因在于:jmeter的元件执行优先级是配置 ...

  2. 零基础学python之函数与模块(附详细的代码和安装发布文件过程)

    代码重用——函数与模块 摘要:构建函数,创建模块,安装发布文件,安装pytest和PEP 8插件,确认PEP8兼容性以及纠错 重用代码是构建一个可维护系统的关键. 代码组是Python中对块的叫法. ...

  3. Received non-all-whitespace CHARACTERS or CDATA event in nextTag(). ,无法整齐打印验证错误。 解析XML文档出现的问题

    在启动keyCloak,想要在standAlone模式下切换数据库,修改standAlone.xml文件时. 在bin/目录下启动standAlone模式出现错误: 10:07:24,799 INFO ...

  4. Netty源码分析第8章(高性能工具类FastThreadLocal和Recycler)---->第2节: FastThreadLocal的set方法

    Netty源码分析第八章: 高性能工具类FastThreadLocal和Recycler 第二节: FastThreadLocal的set方法 上一小节我们学习了FastThreadLocal的创建和 ...

  5. Codeforces70 | Codeforces Beta Round #64 | 瞎讲报告

    目录 前言 正文 A B C D E 前言 这个毒瘤的517 放了Div1 然后D题是昨天讲的动态凸包(啊喂!我还没来的及去写 结果自己想的是二分凸包 (当然没有写出来 写完前两题之后就愉快地弃疗 C ...

  6. 温习DL之一:梯度的概念

    1.梯度的概念 梯度是一个矢量,表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向变化最快. 在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写 ...

  7. Python set 集合

    简介 python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联 合), intersection(交), difference ...

  8. javaweb 安全传输签名机制

    java web传输中的安全签名说明: 对请求中的数据 Key对进行签名,最终生成一个签名字符串,标记为sign:"djflw8wejwl9w0ejwlush8fw9ew9",位数 ...

  9. 利用cocoapods创建基于git的私有库Spec Repo

    上一篇文章记录了我利用cocoapods创建基于SVN的私有库的全部过程,今天我再记录一下基于git创建的过程. 整体先说明一下创建一个私有的podspec包括如下那么几个步骤: 创建并设置一个私有的 ...

  10. ffmpeg——压缩mav格式音频

    今天偶然帮朋友压缩一个mav格式的音频.开始用压缩码率的方式,mav格式的音频体积一点都没变,查资料需要压缩音频文件的采样率和声道才能压缩mav格式的音频. 压缩要求是:将一个mav格式的音频文件,由 ...