pre的那点事
想搞web什么都要学习,正在一点点修复博客的细节,今天就为一个小细节纠结了半天。
博客的代码高亮显示在pre标签中,这个是pygments自动生成的,也应该是个基本的标准吧。但是使用多了发现个问题,pre标签无法显示长度超过div标签长度的代码,虽然代码超过那个长度很少,而且规范的代码风格也不会允许你超过那个长度,但是少数语言种类,html,javascript多少都会很长的,考虑到这些我也开始尝试美化这个细节
思路一,换行
这个思路就是让pre到长度不够的时候自动换行,这样后面遮住的代码就可以完整的显示出来了,网上找了相关的资料,主要的方法就是修改css,下面整理了一个比较全面的css方案:
1 | pre { |
实测这个方案在chrome,firefox,ie8下是有效的,多余的我就不知道了!但是出来的结果让我不是很满意,首先,我的代码块没有设计行号,这个是为了美观,简洁,后面我们不打算加,那么换行后没有行号作为一个参考,就会显示的很乱,好吧,我放弃了!
方案二,滚动条
换行不行就试试能不能在长度不够的时候自动添加滚动条,我觉得这个应该是个不错的解决方案,由于自己css记得不多,就只能找了,得到下面的方案
1 | pre { |
比较通俗不解释了,不过我有点疑问,为什么默认不设置overflow: auto呢,不过好歹问题解决了
最后的效果可以参考这篇文章