Page 153 - css揭秘
P. 153

pre, code {
                                                      font-family: monospace;
                                                  }

                                                  pre {
                                                      display: block;
                                                      margin: 1em 0;
                                                      white-space: pre;
                                                  }


                                                  这远不足以解决代码展示所独有的种种挑战。这其中最大的一个问题
                                                                                ①
                                              在于,即使 tab 非常适合用来缩进代码 ,但人们在网页中却常常有意避开
                                              tab。这是因为浏览器会把其宽度显示为 8 个字符!看看图 5-12 就可以发
                                              现这么宽的缩进是多么难看、多么浪费:这段代码甚至已经装不进这个容
                                                   1
                                              器了!


                                              解决方案

                    图 5-12                        谢天谢地,在 CSS 文本(第三版)中,一个新的 CSS 属性 tab-size
                    代码是以 tab 的默认宽度(8 个        可以控制这个情况。这个属性接受一个数字(表示字符数)或者一个长度值
                    字符)来显示的
                                             (这个不那么实用)。我们通常希望把它设置为 4(表示 4 个字符的宽度)或
                                              2,后者是最近更为流行的缩进尺寸。

                                                  pre {
                                                      tab-size: 2;
                                                  }

                                                  可以在图 5-13 中看到结果,它看起来要易读得多。你甚至可以把 tab-
                                              size 设置为 0 来完全禁用 tab,但这通常不是什么好主意,因为它的效果会
                                              变成如图 5-14 所示。即使浏览器不支持这个属性,一切也依然安好——我
                    图 5-13                    们得到的 tab 宽度只不过是夸张的默认样式而已,而这副样子我们早已忍受
                    代码还是图 5-12 中的那段代码,        多年了。
                    但 tab 的宽度被显示为 2 个字符
                    的宽度
                                               试一试 play.csssecrets.io/tab-size



                                                   „ CSS 文本                                        相关规范
                                                  http://w3.org/TR/css-text





                    图 5-14
                    代码中的 tab 宽度被设置为 0,
                    这导致所有基于 tab 的缩进效果
                    都消失了——千万别这么做              ①  你是不是一看到缩进代码就心生怯意?这个话题确实超出了本书的范畴,但你可以在这篇文
                                                章(http://lea.verou.me/2012/01/why-tabs-are-clearly-superior)里找到我的思考过程。



                  122   第 5 章 字体排印







          ඀ࠡ  JOEC
   148   149   150   151   152   153   154   155   156   157   158