• <abbr id="qqgmy"></abbr>
      <menu id="qqgmy"><abbr id="qqgmy"></abbr></menu>
    • <rt id="qqgmy"><code id="qqgmy"></code></rt>
      • 網(wǎng)頁(yè)設(shè)計(jì)中的行高

        • 2018-10-31 17:07:37
        • 閱讀次數(shù):
        • 作者:盈嵐科技小編
        • 來(lái)源:http://www.margaycoffee.com

        管理line-height

        在前幾節(jié)中我們已經(jīng)了解到,網(wǎng)頁(yè)設(shè)計(jì)中改變一個(gè)行內(nèi)元素的line-height可能導(dǎo)致文本行相互重疊。不過(guò),在所有情況下,這種修改都是針對(duì)單個(gè)元素的,所以,如何以一種更一般的方式影響元素的line-height而避免內(nèi)容重疊呢?

        一種辦法是對(duì)font-size有改變的元素結(jié)合使用em單位。例如:

        p {font-size: 14px; line-height: 1em;}

        big {font-size: 250%; line-height! 1em;}

        <p> Not only does this paragraph have "normal" text, but it also<br> 

        contains a line in which <big>some big text </big> is found.<br>

        This large text helps illustrate our point.

        </p>

        通過(guò)為big元素設(shè)置一個(gè)line-height,就提高了行框的總高度,從而提供足夠的空間來(lái)顯示這個(gè)big元素,而不會(huì)與任何其他文本重疊,也不會(huì)改變段落中所有行的line-height。這里使用了值1em,所以big元素的line-height將設(shè)置為與big的 font-size大小相等。要記住,網(wǎng)站建設(shè)line-height相對(duì)于元素本身的font-size設(shè)置,而不是相對(duì)于父元素設(shè)置。其結(jié)果如圖7-37所示。

        注意,以下樣式也會(huì)生成如圖7-37所示的結(jié)果:

        p {fpnt-size: 14px; line-height: 1;}

        big (font-size: 250%;)

        除非line-height值作為縮放因子被繼承,否則p和big元素的line-height值都為1。因此,網(wǎng)頁(yè)設(shè)計(jì)中行內(nèi)框的高度與內(nèi)容區(qū)的高度一致。

        一定要真正理解前幾節(jié)的介紹,因?yàn)槿绻僭黾舆吙颍瑔?wèn)題會(huì)更復(fù)雜。假設(shè)在所有超鏈接上加一個(gè)5像素的邊框:

        a:link {border: 5px solid blue;}

        倘若網(wǎng)站建設(shè)沒(méi)有設(shè)置一個(gè)足夠大的line-height來(lái)容納這個(gè)邊框,就有覆蓋其他行的危險(xiǎn)。可以使用line-height增加未訪問(wèn)鏈接行內(nèi)框的大小,就像前例中對(duì)big元素的做法一樣;在這里,只需讓line-height值比這些鏈接的font-size值大10像素。不過(guò),如果你不知道字體大小是多少像素,這可能很困難。

        另一種解決方法是增加段落的line-height。這將會(huì)影響整個(gè)元素中的每一行,而不只是出現(xiàn)加邊框超鏈接的那一行:

        p {font-size: 14px; line-height: 24px;}

        a:link {border: 5px solid blue;}

        由于各行上下都增加了額外的空間。超鏈接外的邊框不會(huì)覆蓋其他行,如圖7-38所示,

        圖7-38:增加line-height以為行內(nèi)元素邊框留出空間

        當(dāng)然,這種方法在這里是可行的,因?yàn)樗形谋镜拇笮《枷嗤?。如果行中還有另外一些元素改變了行框的高度,邊框情況也可能發(fā)生變化??紤]以下規(guī)則:

        P {font-size: 14px; line-height: 24px;}

        a:link {border: 5px solid blue;}

        big {font-size: 150%; line-height: 1.5em;}

        根據(jù)這些規(guī)則,段落中big元素行內(nèi)框的高度將是31.5像素(14x1.5x1.5),這也是行框的高度。為了保證基線間隔一致,必須讓p元素的line-height等于或大于32px,

        基線與行高

        網(wǎng)頁(yè)設(shè)計(jì)中各行框的具體高度取決于其組成元素相互之間如何對(duì)齊。這種對(duì)齊往往很大程度上依賴于基線落在各元素(或匿名文本各部分)中的哪個(gè)位置,因?yàn)檫@個(gè)位置確定了其行內(nèi)框如何擺放?;€在各em框中的位置對(duì)于不同的字體是不同的。這個(gè)信息內(nèi)里在字體文件中,除非直接編輯字體文件,否則無(wú)法修改。

        因此,要得到一致的基線間隔,這更像是一門藝術(shù)而不只是一門科學(xué)。如果網(wǎng)頁(yè)設(shè)計(jì)中使用一種單位(如em)來(lái)聲明所有字體大小和行高,就很有可能得到一致的基線間隔。不過(guò),如果混合使用了不同的單位,就會(huì)困難得多,甚至是不可能的。在寫作本書(shū)時(shí),為了讓創(chuàng)作人員能夠保證一致的基線間隔而不論內(nèi)聯(lián)內(nèi)容是什么,已經(jīng)提出了很多屬性提案,這會(huì)大大角化行內(nèi)格式化的某些方面。不過(guò),所建議的這些屬性都沒(méi)有具體實(shí)現(xiàn),所以其采納還遙遙無(wú)期。

        縮放行高

        可以看到,設(shè)置line-height的最好辦法是使用一個(gè)原始數(shù)字值。之所以說(shuō)這種方法最好,原因是這個(gè)數(shù)會(huì)成為縮放因子,而該因子是一個(gè)繼承值而非計(jì)算值。假設(shè)你希望一個(gè)文檔中所有元素的line-height都是其font-size的1.5倍,可以如下聲明:

        body {line-height: 1.5;}

        縮放因子1.5在元素間逐層傳遞,在各層上,這個(gè)因子都作為一個(gè)乘數(shù)與各元素的font-size相乘。因此,以下標(biāo)記會(huì)得到如圖7-39所示的結(jié)果:

        p {font-size: 15px; line-height: 1.5;}

        small {font-size: 66%;}

        big {font-size: 200%;}

        <p>This paragraph has a line-height of 1.5 times its font-size. In addition, 

        any e1ements within it <small>such as this small element</small> also have 

        line-heights 1.5 times their font-size...and that includes <big>this big 

        e1ement right here</big>. By using a scaling factor, line-heights scale 

        to match the font-size of any e1ement.</p>在本例子中,small元素的行高為15px,而對(duì)于big元素則為45px(這些數(shù)看上去有些過(guò)分,不過(guò)它們與總的頁(yè)面設(shè)計(jì)是一致的)。當(dāng)然,如果你不希望big文本生成太多行間距,可以為它另外指定一個(gè)line-height值,這會(huì)覆蓋繼承的縮放因子:

        p {font-size: 15px; line-height: 1.5;}

        small {font-size: 66%;}

        big {font-size: 200%; line-height: 1em;}

        還有一種解決方案(可能這是最簡(jiǎn)單的一種方法),即適當(dāng)?shù)卦O(shè)置樣式,使行高恰好能包含行內(nèi)容,而沒(méi)有多余的空間。這里你可能會(huì)使用line-height值1.0。這個(gè)值乘以每個(gè)font-size,其結(jié)果與各元素的font-size值完全相等。因此,對(duì)于每個(gè)元素,行內(nèi)框與內(nèi)容區(qū)相同,這意味著會(huì)使用所需的絕對(duì)最小大小來(lái)包含各元素的內(nèi)容區(qū)。

        注意:網(wǎng)頁(yè)設(shè)計(jì)中大多數(shù)字體在字符字形行之間還顯示有一點(diǎn)空間。因?yàn)樽址绕鋏m框要小。只有script ("cursive")字體例外,其字符字形往往大于其em框。

        當(dāng)前文章標(biāo)題:網(wǎng)頁(yè)設(shè)計(jì)中的行高

        當(dāng)前URL:http://www.margaycoffee.com/news/wzzz/Line-height.html

        上一篇:網(wǎng)頁(yè)設(shè)計(jì)中的行內(nèi)格式化

        下一篇:

        網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷咨詢專線:181-8386-5875(點(diǎn)擊可一鍵撥號(hào))
        在线一区视频二区三区,av无码久久久不卡网站,亚洲国产人成精品,国产成人白丝视频
        • <abbr id="qqgmy"></abbr>
          <menu id="qqgmy"><abbr id="qqgmy"></abbr></menu>
        • <rt id="qqgmy"><code id="qqgmy"></code></rt>