相关疑难解决方法(0)

将文本拆分为页面并单独显示(HTML5)

假设我们有一个像罗密欧与朱丽叶这样的长文本,我们想在一个简单的电子阅读器中展示它(没有动画,只有页面和自定义字体大小).有什么方法可以得到这个?

到目前为止我想出了什么:

  • 使用css3列,可以将整个文本加载到内存样式中,使得单个列占用整个页面的大小.这样做非常难以控制,需要将整个文本加载到内存中.
  • 使用css3区域(在任何主要浏览器中都不支持)将构成与先前解决方案相同的基本概念,主要区别在于它不会难以控制(因为每个"列"都是自包含元素).
  • 在画布上绘制文本可以让您准确知道文本的结束位置,从而根据该页面绘制下一页.其中一个优点是您只需要将所有文本加载到当前页面(仍然很糟糕,但更好).缺点是文本无法与之交互(如选择文本).
  • 将每个单词放在一个元素中,并为每个元素赋予一个唯一的id(或在javascript中保留一个逻辑引用),然后使用它document.elementFromPoint来查找页面上最后一个元素(word)并从该单词向前显示下一页.尽管这是唯一对我来说看起来很实际的东西,但由此产生的开销必须是巨大的.

然而,这些似乎都没有被接受(首先没有给予足够的控制以使其工作,第二个尚未得到支持,第三个是艰难的,没有文本选择而第四个给出了荒谬的开销),所以任何好的方法我尚未想到,或者解决上述方法的一个或多个缺点的方法(是的,我知道这是一个相当开放的问题,但它越开放,产生任何相关答案的机会越高)?

html javascript css html5-canvas

13
推荐指数
4
解决办法
1万
查看次数

标签 统计

css ×1

html ×1

html5-canvas ×1

javascript ×1