1

我正准备开始一个将显示代码的 webapp/phonegap 应用程序。

我将使用 highlight.js 来显示代码。HighlightJs 使用 pre 标签,并有一个名为 monokai_sublime 的样式,它使用固定宽度的字体

我有经过仔细编辑的代码片段,最长为 40、60 或 80 个字符。

我想要的是一些 css 或视口魔术,我可以在其中拥有 3 个 css 类 .code40、.code60、.code80,当我在元素上设置它们时,它将使其达到元素宽度恰好包含 40 的位置, 60 或 80 个固定大小的字符。

所以我想在占据整个宽度的地方展示这个片段


    do_some_cool_magic(with,stuff); //size40
    

但也以相同的宽度(全宽)显示此片段,因此字体大小更小


    do_some_cool_magic(with, {stuff:"that is longer"}); //size60
    

如果我将手机切换到横向,它仍然应该做同样的事情。如果应用了类 code60,则 60 个字符应该是屏幕的全宽(或 div)

现在我只是硬编码了我的手机屏幕具有的假定像素数(1080x1920)并将字体大小设置为匹配的像素数量,但在我的手机上,它显示为巨大的字母并且不适合屏幕(有滚动,好像它被放大了 200%,嗯,它取决于屏幕的确切大小/比例)

这是 jsfiddle http://jsfiddle.net/xqck5j4g/

我不希望你重写小提琴,但我想知道设置我的 css 的有效方法是:当我在代码块上设置 class .code60 时,无论屏幕大小、方向、dpi 等如何,字体的宽度应为 60 个字符。 如果有帮助,我们可以假设宽度始终为 100%。

4

0 回答 0