codecamp

3.3 行距


3.3 行距


行与行之间的距离最常用的称呼是行距,而当网页设计者们发现他们能够控制行距时最常用的称呼是"Weee!"


行高

行高简直是上帝发给人间的福音。利用行高我们可以随心所欲地控制行与行之间的垂直距离。

    B { line-height: 16pt }



你所用的参数就是相邻两行的基准线(基准线就是英文小写字母如x,a的下阶线,但不包括诸如y,g等字母超过下阶线的部分)之间的垂直距离。注意你所设定的参数将完全代替浏览器的缺省参数。

Netscape Communitor和Internet Explorer在行之前加入行高参数。所以如果你将参数设为10px,浏览器将把文字的第1行以10px的高度显示。

有3种设定行高的方法:

  • 数字

  • 长度单位

  • 比例


用数字设行距

    B { font-size: 12pt; 
    line-height: 2 }



当你用数字设定行高的时候,浏览器将利用字号来确定行距:它将字号乘以设定的参数值。所以,在本例中,行高将是24点。显示效果如下:

    Four score and seven years ago,
    the Web wasn't yet a glimmer in
    anyone's eye. No one needed it,
    no one missed it. Eighty-seven
    years from now, what will
    people laugh at us for lacking?


你还可以用小数设定参数值。


(你应该知道IE 3 不支持数字参数值,在IE 3 中使用数字参数将出现大片文字的互相重叠。)


用长度单位设定行距

    B { font-size: 12pt; line-height: 11pt }



设定行高的另一种方法就是利用先前学过的长度单位(em及pt是最常用的单位),以下为显示效果:

    Four score and seven years ago,
    the Web wasn't yet a glimmer in
    anyone's eye. No one needed
    it, no one missed it.
    Eighty-seven years from now,
    what will people laugh at us
    for lacking?


你既可以轻松地将行距缩小也可以将行距放大。有了样式表,这一切都易如反掌!


用比例设定行距

    B { font-size: 10pt; line-height: 140% }



在本例中,行距是长度10points的140%,即14points。明白了吗?


让文字互相重叠!


你可能会问这样的问题:如果行距太小的话,文字岂不就重叠在一起了吗?是这样的。我们来看看这个例子:

    B { font-size: 28pt; line-height: 2pt }



以下为显示效果:

    Whoa.
    Cool.


"Whoa" 使用了浏览器的缺省行高设置。但"Cool"的行高很小所以它和第1行重叠了。 


(Communicator和Internet Explorer对行高的诠释有所不同。 Communicator将只是将文字的上半部分重叠一点,而IE则将其全部重叠。)


如果你计划将你的网页中的某些内容重叠显示,行高设置还不是最佳的选择,因为不同的浏览器对其的支持有差别。在第5天的课程中我们将研究文字及图象布局的最佳方式。

3.2 字间距及字母间距
3.4 文字对齐及缩行
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }