Wrapping Code Samples on Mobile Devices
One part of being a technical blogger that I've had to come to grips with is code samples and small mobile device screens. I was amazed when I saw a double-digit percentage of visits to this blog were from mobile phones -- mental! I started paying more attention to detail on said devices and I realized that code samples required loads of horizontal scrolling: yuck. By utilizing CSS white-space, we can make code wrap and avoid arm-numbing scrolling on small screens:
pre {
white-space: pre-line;
}
I like using PrismJS so that requires a different selector:
pre[class*='language-'], code[class*='language-'] {
white-space: pre-line;
}
Thankfully white-space lets me help you all avoid horizontal scrolling on mobiles. Of course you'll need to choose which media query you want to apply that to, but I'll let you do that. In some cases it may be difficult to read the line-broken code, but that's surely better than all that crazy scrolling.
![Designing for Simplicity]()
Before we get started, it's worth me spending a brief moment introducing myself to you. My name is Mark (or @integralist if Twitter happens to be your communication tool of choice) and I currently work for BBC News in London England as a principal engineer/tech...
![How to Create a RetroPie on Raspberry Pi – Graphical Guide]()
Today we get to play amazing games on our super powered game consoles, PCs, VR headsets, and even mobile devices. While I enjoy playing new games these days, I do long for the retro gaming systems I had when I was a kid: the original Nintendo...
![Create Spinning Rays with CSS3 Animations & JavaScript]()
Thomas Fuchs, creator of script2 (scriptaculous' second iteration) and Zepto.js (mobile JavaScript framework), creates outstanding animated elements with JavaScript. He's a legend in his own right, and for good reason: his work has helped to inspire developers everywhere to drop Flash and opt...
![Hot Effect: MooTools Drag Opacity]()
As you should already know, the best visual features of a website are usually held within the most subtle of details. One simple trick that usually makes a big different is the use of opacity and fading. Another awesome MooTools functionality is...
I’m also using PrismJS. Any tips to get the line-numbers to adjust?
Also, by default tab size is about 4 i believe, this snippet brings it back a little…
// @media query here for small screens... pre{ webkit-tab-size: 2; -moz-tab-size: 2; -ms-tab-size: 2; -o-tab-size: 2; tab-size: 2; }That is, assuming you’ve got tabs over spaces (which you should of course).
Interesting post. I have thought about this for quite some time. The thing is that code is much more readable, in my opinion, when not wrapping it like this.
Since we are used to large screens, reading wrapped code like this is hard and unfamiliar. We do not code on small screens and therefor it makes more sense to scroll horizontally when viewing code then to force line breaking/wrapping.
No offense, but I would rather go with all the crazy scrolling. I honestly think it looks nicer than the broken up code, and it is easier to read and understand code samples.