DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> 網頁設計教程:CSS文字排版技巧大全
網頁設計教程:CSS文字排版技巧大全
編輯:CSS詳解     
譯自:The Ultimate Guide to CSS Typography
中文:CSS文字排版終極指南
請尊重版權,轉載請注明來源!多謝。

在今天的設計中,排版常常被忽視,特別是被網頁設計師忽視。這真是件遺憾的事情因為CSS可以做很多事情來控制我們的排版。也就是說,我們被局限於某些“網絡安全”排版,但是我們不應該限制我們自己的創造性。本文整理了一些用於在網頁上排版的CSS技巧。

Font屬性

CSS提供了font屬性,它允許我們在我們的頁面中調整文字。這是一系列的關於語法和如何使用CSS調整文字的概述。

Font-size

使用font-size可以修改你的文字的大小。

1
2
3
font-size: 1.2em;
font-size: 12px;
font-size: 10pt;
預覽
  1. 文字大小為1.2em.
  2. 文字大小為12px.
  3. 文字大小為10pt.

 

Font-weight

該屬性用來改變你的文字的粗細(比如bold, bolder)

1
2
3
4
font-weight: normal;
font-weight: bold;
font-weight: bolder;
font-weight: lighter;
預覽
  1. font-weight設置為normal
  2. font-weight設置為bold
  3. font-weight設置為bolder
  4. font-weight設置為lighter

font-weight屬性還可以使用100,200,300,400,500,600,700,800,900等數字值,數字越大,文字越粗。400等效於normal,700等效於bold。

Text-transform

text-transform屬性允許你應用uppercase(大寫), lowercase(小寫), 以及capitalize(首字母大寫)等效果到你的文字。當然,該屬性不能用於中文。

1
2
3
4
text-transform: capitalize;
text-transform: uppercase;
text-transform: lowercase;
text-transform: inherit;
預覽
  1. Capitalizes The First Letter In Every Word
  2. ALLOWS YOUR Html TO BE LOWER CASE THE CONVERTS IT ALL TO UPPERCASE CHARACTERS
  3. allows your Html to be uppercase then converts it to lowercase, this was typed in allcaps
  4. inherits the text-transform property from its parent element

Text-decoration

text-transform屬性允許你使用一些文字修飾,比如下劃線(underline)、上劃線(overline)、刪除線(line-through)以及文字閃動(blink)。

1
2
3
4
5
text-decoration: normal;
text-decoration: underline;
text-decoration: overline;
text-decoration: line-through;
text-decoration: blink;
預覽
  1. text-decoration設置為normal
  2. text-decoration設置為underline
  3. text-decoration設置為overline
  4. text-decoration設置為line-through
  5. text-decoration設置為blink (只有Firefox 和Opera 支持)

Font-Variant

font-variant屬性允許你制作小型大寫字母效果,也就是將小寫字母變成大寫並減小字體型號

1
2
3
font-variant: normal;
font-variant: small-caps;
font-variant: inherit;
預覽
  1. Font Variant 設置為 normal
  2. Font Variant 設置為 small-caps
  3. Font variant 設置為 inherit

Letter-Spacing 和 Word-spacing

這兩個屬性都用來添加他們對應的元素中的空白。letter-spacing添加字母之間的空白,而word-spacing添加每個單詞之間的空白。請注意,Word-spacing對中文無效。

1
2
3
letter-spacing: normal;
letter-spacing: 2px;
letter-spacing: inherit;
預覽
  1. Letter spacing 設置為 normal
  2. Letter spacing 設置為 2px
  3. Letter spacing設置為 inherit

font縮寫

上面的font屬性可以縮寫,這樣可以大大的提高你的CSS的效率。

1
font:font-style font-variant font-weight font-size[/line-height] font-family

請注意上面的縮寫的書寫順序。另外,如果這裡不設置line-height,元素的line-height將會被設置為默認的1,而不會從父級元素或body元素繼承。使用縮寫的時候,font-size和font-family是必須的,其它幾項可根據情況不寫。

制作有吸引力的段落

對於更有吸引力的段落排版,可以采用Robert Bringhurst的方法,它約定:用你的文字大小乘以30就可以得到段落的寬度。

比如如果你的文字大小是12px,用30乘以它,也就是360px,這樣每行大約可以呈現65個英文字符。

不正確的段落大小:

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centurIEs, but also the leap into electronic typesetting, remaining essentially unchanged.

正確的段落大小

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centurIEs, but also the leap into electronic typesetting, remaining essentially unchanged.

Line-height示例

行高用來限定每行文字之間的空白大小。一個經驗之談就是讓行高比你的字體大6-7px。

比如,如果你的文字大小是12px,加上6px就是你的行高,也就是18px。

不正確的Line-Height

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centurIEs, but also the leap into electronic typesetting, remaining essentially unchanged.

正確的Line-Height

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centurIEs, but also the leap into electronic typesetting, remaining essentially unchanged.

 

清晰的強調文字

下劃線應該只用於文字鏈接,而斜體是一個更清晰的可選方案.

不正確的例子

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centurIEs, but also the leap into electronic typesetting, remaining essentially unchanged.

正確的例子

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printertook a galley of type and scrambled it to make a type specimen book. It has survived not onlyfive centurIEs, but also the leap intoelectronic typesetting, remaining essentially unchanged.

first-letter與first-line

顧名思義,first-letter就是第一個字母,first-line是第一行文字,它們是少有的被所有主流浏覽器支持的CSS 2.1 偽元素,你可以為它們定義任意樣式。

示例代碼
1
2
3
#demo5{ width:400px;}
#demo5:first-letter{ font-size:32px;color:green}
#demo5:first-line{color:red;}
前端觀察 Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centurIEs, but also the leap into electronic typesetting, remaining essentially unchanged.

前瞻 – CSS3

已經有一部分很棒的CSS3特性可以用到你的設計中了。當然這些中的一部分新屬性還不能用於IE,但是你或許了解這對IE來說是常事兒,所以你不妨試試。

@Font-face

@font-face允許你上次一個字體文件到你的網站服務器並將其引入到你的外部CSS文件中,然後就可以將它應用到你的網站的任何文字上。

這是處理文字的最大的功能,但是隨之而來的是它的負面效果。由於版權問題,只有少數的字體“被允許”使用。這些字體也就是CSS3安全就在這裡裡面提到的。當然,對於中文字體來說,除了版權問題,還有網速的問題,一般中文字體動辄幾MB的大小,字體文件下載到浏覽器就要幾分鐘,這對於用戶來說是不劃算的。

使用@font-face

在這個例子中我在我的網站的根目錄下放了一個font文件夾,然後將需要用到的字體放入該文件夾。你首先需要聲明@font-face 屬性以導入你的字體文件,然後使用該字體名稱來控制其它元素的字體。

1
2
3
4
5
6
7
/* 聲明字體 */
@font-face {
src:(font/diavlo.otf)
}
/* 將改字體應用到一個元素 */
h1 {font-family: diavlo, Arial;
}

 

Text-Shadow

text-shadow屬性趕走了用Photoshop為某些元素制作下拉陰影的需求,並給你提供動態的陰影控制。當然,該屬性IE並不支持。

示例標題

1
2
3
4
5
6
p {
font-size: 2em;
font-weight: bold;
color: #777;
text-shadow: 1px 1px 1px #222;
}

示例標題2

1
p {text-shadow: 2px 2px 2px #222;}

示例標題3

1
p {text-shadow: 1px 1px 5px #FFF;}

PS:呃,其實前端觀察的文章標題和章節的二級標題都用了text-shadow,而且還是用了更漂亮的RGBa顏色。

挑戰

本文中提到的這些技術都只是一個入門指南。試著采用並實現你喜歡的技術到你的設計中。排版可能是一個網站中最重要的部分,請不要無視它。

PS:本文在原文的基礎上,補充了少量內容,比如first-letter和first-line部分——神飛

關於原作者

Shane JeffersThree Styles的創辦者和作者。他對設計趨勢和教程有獨特的喜好。你可以通過這個聯系頁面和他聯系到他或者在twitter上關注他 @ThreeStyles

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved