让示例代码在手机上换行显示

原文链接: Wrapping Code Samples on Mobile Devices

原文日期: 2014年5月29日

翻译日期: 2014年5月30日

翻译人员: 铁锚

作为一个技术博客的站长,我的博客中有很多的代码示例(code samples ),有时还需要兼顾小屏幕移动设备。 我惊讶地看到超过 10%以上的访问量是通过手机访问的 —— 真的快疯了! 我开始关注手机上的显示细节,并看到在手机上代码示例会显示出长长的水平滚动条: 这真是糟糕的用户体验。 通过使用CSS的 white-space属性, 使代码在小屏幕上进行换行(wrap),以避免恼人的滚动条:

对pre标签添加CSS属性

/*
  white-space 属性的取值:
  normal    默认。空白会被浏览器忽略。
  pre       空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。
  nowrap    文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。
  pre-wrap  保留空白符序列,但是正常地进行换行。
  pre-line  合并空白符序列,但是保留换行符。
*/
pre {
  white-space: pre-line;
}

我喜欢使用PrismJS,所以需要使用不同的选择器:

/*
  匹配到具有 language- 开头的class的pre,code元素
  例如: <pre class=" language-css" prism="1">
  或 <code class=" language-css">
*/
pre[class*='language-'], code[class*='language-'] {
  white-space: pre-line;
}

伟大的 white-space 属性避免了在手机设备上的水平滚动。 当然你需要根据情况通过 media query 决定在哪些设备上生效。 有时候, 代码示例被强制断行(line-broken)可能不好阅读, 但比起让人抓狂的水平滚动条来说,换行肯定要友好一些。

让示例代码在手机上换行显示,布布扣,bubuko.com

时间: 2024-10-18 17:16:11

让示例代码在手机上换行显示的相关文章

反人类的MyEclipse之-调整JavaScript代码-花括号换行显示

然后将除最后一项外所有的都勾选为Next Line

如何正确地在手机上显示图片——QImage与QPixmap完全解析

引言 用Qt程序在手机上显示一幅图片对编程人员来说是再基础不过的一件事情了.那么先让大家看两段代码: //dangerous should not be used, cannot display earth.png, //but if we change earth.png to a smaller image e.g. apple.png, apple.png can be displayed QPixmap pixmap; pixmap.load( ":/pics/earth.png&quo

transform:rotate在手机上显示有锯齿的解决方案

transform:rotate 属于简单好用的效果,但在手机上显示时,会有比较明显锯齿. 解决方案也很简单, 利用外层容器的overflow:hidden 加上图片margin:-1px 就可以解决. 原理没去深究,理论上是矢量跟位图的处理不一样,这个方案也有个小问题 就是图片变小了 ^_^ 可以用手机看看demo http://labs.aoao.org.cn/demo/transform-rotate/ update: 大家反应这方案在电脑上反而会出问题. 我测试了个新的方案rotate3

Android用OpenGL ES2.0显示YUV数据,在手机上需要两种坐标系的解决方案

如题 ,不知道大家看懂了这个题目没有,给个链接:http://blog.csdn.net/wangchenggggdn/article/details/8896453(下称链接①), 里面评论有很多人提到了这个问题,我也是其中一员,但是问遍了所有人,自己也发帖(http://bbs.csdn.net/topics/390769358) 寻求解决方案,却终究没能得到一个可用的方案. 从2014年4月中旬遇到这个问题,纠结了两个多星期,终于在看了好多好多资料之后,于4月的最后一个周一,暂时解决了这么

关于 toLocaleString() 在手机上显示和小程序开发者工具显示不一样的问题

今天写项目时遇到的一个问题,现在来记录一下,加深一下自己的印象: 我从后台拿到数据之后,需要把里面的时间戳转换为日期显示用了toLocaleString()这个方法,刚开始在开发者工具上展示没一点毛病, 当我在手机上运行时,发现展示效果不一样啊!!!! 于是乎,就放弃了toLocaleString() 直接换成了 res = '时间戳' let date = new Date(parseInt(res) * 1000 ) ; res = data.getFullYear()+'/'+(ss.ge

AD帐户操作C#示例代码(一)——导入用户信息

最近写了一个AD帐户导入的小工具(为啥写作“帐”户呢?),跟大家分享下相关代码,欢迎各位高手指教! 首先,我准备一个这样的Excel文件作为导入模版,并添加了一些测试数据. 然后,我打开Visual Studio 2012,新建一个Windows窗体应用程序.在主窗体界面,我放了一些Label.TextBox.Button控件,还有一个ProgressBar. 开始写代码.首先写从Excel里读取数据的方法. private static async Task<DataTable> GetTa

通达OA 在手机上使用OA工作流审批你用过么?

通达的产品真的是不错,除了电脑能够访问,手机也有客户端可以安装,这样随时随地都可以访问OA查看邮件.新闻,通过工作流进行审批工作. 但是不知在手机客户端上用过工作流么?最近进行了一些手机客户端的测试,有些差异的地方: 1.手机上使用不了电脑上用的签章控件,手机上有专门的签章控件: 2.在手机上查看工作流时显示的控件与电脑上也有差异,控件的名称(title值)会直接显示,有些在电脑上通过设置大小等方式进行隐藏的控件也会显示出来.所以这是都需要跟着进行调整.控件的命名要求也就高一些,有些原来只能管理

jQuery中读取json文件示例代码

json文件是一种轻量级的数据交互格式.一般在jquery中使用getJSON()方法读取,具体示例代码如下,感兴趣的朋友可以参考下哈,希望可以帮助到你 json文件是一种轻量级的数据交互格式.一般在jquery中使用getJSON()方法读取. 复制代码 代码如下: $.getJSON(url,[data],[callback]) url:加载的页面地址 data: 可选项,发送到服务器的数据,格式是key/value callback:可选项,加载成功后执行的回调函数 1.首先建一个JSON

java 加入一个线程、创建有响应的用户界面 。 示例代码

javajava 加入一个线程.创建有响应的用户界面 . 示例代码 来自thinking in java 4 21章  部分代码  目录21.2.11 thinking in java 4免费下载:http://download.csdn.net/detail/liangrui1988/7580155 package org.rui.thread.concurrent; /** * 加入一个线程 * 一个线程可以在其他线程之上调用join()方法,其效果是等待一段时间直到第二个线程结束才继续执行