font-family 屬性
font-family屬性用于指定一個(gè)元素的字體
有兩種形式的字體名稱:
---font family: 一種特殊的字體(如:Times New Roman or Arial)
---generic family: 一組具有外觀的字體(如:Serif of Monospace)
以下是一些不同字體樣式的例子:
Generic family:
Seif
Sans-serif
Monospace
Font family:
Times New Roman
Georgia
Arial Verdana
Courier New
Lucida console
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p class="serif">
這個(gè)段落使用 serif 字體
</p>
<p class="sansserif">
這個(gè)段落使用 sans-serif 字體
</p>
<p class="monospace">
這個(gè)段落使用 monospace 字體
</p>
<p class="cursive">
這個(gè)段落使用 cursive 字體
</p>
<p class="fantasy">
這個(gè)段落使用 fantasy 字體
</p>
</body>
</html>
CSS文件:
p.serif {
font-family: 'Times New Roman', Times, serif;
}
p.sansserif {
font-family: Arial, Helvetica, sans-serif;
}
p.monospace {
font-family: 'Courier New', Courier, monospace;
}
p.cursive {
font-family: Florence, cursive;
}
p.fantasy {
font-family: Blippo, fantasy;
}
效果:
使用逗號分開每個(gè)值以顯它們是可替代的.
如果字體名字不只一個(gè),必須用雙引號包含,如:"Times New Roman"
font-family 屬性應(yīng)持有多幾個(gè)字體名以作為后備系統(tǒng).在一個(gè)網(wǎng)頁的樣式中指定字體時(shí),添加多個(gè)字體名字,以避免在異常情況下,比如終端電腦因?yàn)槟承┰驔]有樣式中指定的某一字體,瀏覽器將會嘗試使用下一個(gè)字體.
指定一個(gè)通用的字體是一個(gè)不錯(cuò)的選擇,如果其他字體都不可用時(shí)佣蓉,讓瀏覽器在通用字體中選擇一個(gè)類似的字體.
body {
font-family: Arial, "Helvetica Neue", Helvetica,sans-serif;
}
如果瀏覽器不支持Arial字體,它將嘗試下一個(gè)字體(Helvetical Neue,然后Helvetica),如果瀏覽器不支持所有上面的字體,它將嘗試使用sans-serif. 記住: 當(dāng)字體名字包含多個(gè)單詞時(shí),要使用雙引號包含起來.
font-size屬性
font-size屬性設(shè)定字體的大小,其中一種設(shè)定網(wǎng)頁字體大小的方式是使用關(guān)鍵字, 如: xx-small, small, medium, large, larger 等等
HTML文件
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p class="small">
段落文本字體大小設(shè)置成 small 小字號
</p>
<p class="medium">
段落文本字體大小設(shè)置成 medium 中字號
</p>
<p class="large">
段落文本字體大小設(shè)置成 large 大字號
</p>
<p class="xlarge">
段落文本字體大小設(shè)置成 x-large 非常大字號
</p>
</body>
</html>
CSS文件:
p.small {
font-size: small;
}
p.medium {
font-size: medium;
}
p.large {
font-size: large;
}
p.xlarge {
font-size: x-large;
}
效果
如果不希望用戶自己增加字體的大小使得網(wǎng)頁的外觀變得不好時(shí),使用關(guān)鍵字作為字體的大小設(shè)定是非常有用的.
font-size屬性也可使用像素?cái)?shù)值或ems來設(shè)定字體的大小.
當(dāng)需要精確的像素時(shí)使用像素?cái)?shù)值設(shè)定字體的大小是一個(gè)很好選擇,同時(shí)也具備對字體大小的完全控制.
em大小單位是另外一種設(shè)定字體大小的方式(em是相對大小單位),它允許所有主流的瀏覽器重置文本字體的大小.如果你還沒有設(shè)定網(wǎng)頁字體的大小,這時(shí)瀏覽器將使用默認(rèn)16px的字體大小.
em單位的計(jì)算公式: em = 像素值 / 16
例如:
h1 {
font-size: 20px;
}
h1 {
font-szie: 1.25em;
}
上面兩個(gè)h1在瀏覽器中將有同樣的效果,因?yàn)?20 / 16 = 1.25em
font-style屬性:
font-sytle屬性主要用指定斜體文本
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p class="italic">
這個(gè)段落使用斜體莱睁。
</p>
</body>
</html>
p.italic {
font-style: italic;
}
效果:
font-style屬性有三個(gè)值:normal, italic, oblique.
oblique與italic非常相似痕支,但支持的瀏覽器較少.
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p class="normal">
這個(gè)段落使用 normal
</p>
<p class="italic">
這個(gè)段落使用 italic
</p>
<p class="oblique">
這個(gè)段落使用 oblique
</p>
</body>
</html>
CSS文件:
p.normal {
font-style: normal;
}
p.italic {
font-style: italic;
}
p.oblique {
font-style: oblique;
}
效果:
HTML <i>標(biāo)簽將產(chǎn)生與italic font style一樣的效果.
font-weight 屬性
font-weight屬性控件文本的粗細(xì)程度. 它的值可以設(shè)定為: normal(默認(rèn)值)颁虐,bold, bolder, lighter
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p class="light">
這是使用 lighter 的粗細(xì)度
</p>
<p class="bold">
這是使用 bold 的粗細(xì)度
</p>
<p class="bolder">
這是使用 bolder 的粗細(xì)度
</p>
</body>
</html>
CSS文件:
p.light {
font-weight: lighter;
}
p.bold {
font-weight: bold;
}
p.bolder {
font-weight: bolder;
}
效果:
font-weight 屬性也可以使用數(shù)字100(細(xì))到900(粗)指定文本的粗細(xì)度,400 與normal一樣, 700與bold一樣.
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p class="light">
這是使用 lighter 的粗細(xì)度
</p>
<p class="thick">
這是使用 bold 的粗細(xì)度
</p>
<p class="thicker">
這是使用 700 的粗細(xì)度
</p>
</body>
</html>
CSS文件:
p.light {
font-weight: lighter;
}
p.thick {
font-weight: bold;
}
p.thicker {
font-weight: 700;
}
效果:
HTML的<strong>標(biāo)簽也使用文本更粗
font-variant 屬性
font-variant屬性用于對字母文本進(jìn)行大小寫轉(zhuǎn)換. 它的值可以設(shè)定為: normal, small-caps, inherit.
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p class="normal">
這個(gè)段落的font-variant設(shè)定為 normal
</p>
<p class="small">
這個(gè)段落的font-variant設(shè)定為 small-caps
</p>
<p class="inherit">
這個(gè)段落的font-variant設(shè)定為 inherit
</p>
</body>
</html>
CSS文件:
p.normal {
font-variant: normal;
}
p.small {
font-variant: small-caps;
}
p.inherit {
font-variant: inherit;
}
效果:
color 屬性:
color 屬性用于指定文本的顏色.
其中一種方式用color來指定文本顏色的方式是用顏色名稱, 如: red, green, blue等等.下面是一個(gè)改變文本顏色的例子:
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p class="example">
這段文本是綠色的
</p>
這段文本是黑色的(默認(rèn))
</body>
</html>
CSS文件:
p.example {
color: green;
}
效果:
另外一種設(shè)定color值的方式是使用十六進(jìn)制 和RGB
十六進(jìn)制使用#開頭并跟著6位的十六進(jìn)制數(shù)(0-F)
RGB分別代表Red,Green, Blue.
在下面的例子中,我們使用十六進(jìn)制數(shù)來設(shè)定h1的顏色為blue,使用RGB來設(shè)定p的顏色為紅色.
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<h1>這是一個(gè)標(biāo)題</h1>
<p class="example">
這是一個(gè)段落
</p>
</body>
</html>
CSS文件:
h1 {
color: #0000FF;
}
p.example {
color: rgb(255, 0, 0);
}
效果:
text-align 屬性:
text-align 屬性用于設(shè)定元素中文字的水平對齊,默認(rèn)情況下,文字在網(wǎng)頁中為左對齊,text-align屬性值可設(shè)定為: left, right, center, justify
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p class="left">這個(gè)段落是<strong>左</strong>對齊的</p>
<p class="right">這個(gè)段落是<strong>右</strong>對齊的</p>
<p class="center">這個(gè)段落是<strong>中間</strong>對齊的</p>
</body>
</html>
CSS文件:
p.left {
text-align: left;
}
p.right {
text-align: right;
}
p.center {
text-align: center;
}
效果:
vertical-align屬性:
vertical-align屬性用于設(shè)定元素的垂直對齊,通常使用的值有: top, middle, bottom.
下面的例子展示如何垂直對齊表格中的文本
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<table border="1" cellpadding="2" cellspacing="0" style="height: 150px;">
<tr>
<td class="top">Top</td>
<td class="middle">Middle</td>
<td class="bottom">bottom</td>
</tr>
</table>
</body>
</html>
CSS文件:
td.top {
vertical-align: top;
}
td.middle {
vertical-align: middle;
}
td.bottom {
vertical-align: bottom;
}
效果:
vertical-align也可以設(shè)定為: baseline, sub, super, %和px(或者是pt,cm)
下面的例字展示它們的不同:
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p>這是一個(gè)<span class="baseline">行內(nèi)文本</span>例子.</p>
<p>這是一個(gè)<span class="sub">sub行文本</span>例子.</p>
<p>這是一個(gè)<span class="super">super行文本</span>例子.</p>
<p>這是一個(gè)<span class="pixel">pixel</span>例子.</p>
</body>
</html>
CSS文件:
span.baseline {
vertical-align: baseline;
}
span.sub {
vertical-align: sub;
}
span.super {
vertical-align: super;
}
span.pixel {
vertical-align: -10px;
}
效果:
用于取代px單位卧须,也可以使用pt(點(diǎn)),cm(厘米), %(百分比)這些單位
vertical-align屬性并不是對所有的HTML元素有相同的效果
例如,需要對div元素使用一些附加的樣式
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<div class="main">
<div class="paragraph">
這個(gè)文本是居中對齊的
</div>
</div>
</body>
</html>
CSS文件
.main {
height: 150px; width: 400px;
background-color: lightskyblue;
display: inline-table;
}
.paragraph {
display: table-cell;
vertical-align: middle;
}
效果:
display: inline-table; display: table-cell; 樣式使得vertical-align屬性可以作用于div元素.
text-decoration屬性:
text-decoration屬性用于指定如何修飾文本
通常使用的值有:
none: 默認(rèn)值, 定義為普通文本
inherit: 從父級元素上繼承text-decoration的值
overline: 在文本的上方畫一條水平線.
underline: 在文本的下方畫一條水平線.
line-through: 畫一條水平線穿過文本(取代HTML<s>標(biāo)簽)
例子展示:
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p class="none">這是默認(rèn)樣式的文本(none)</p>
<p class="inherit">這是繼承父級元素樣式的文本</p>
<p class="overline">這是帶上部水平線的文本</p>
<p class="underline">這是下部水平線的文本</p>
<p class="line-through">這是穿透水平線的文本</p>
</body>
</html>
CSS文件:
p.none {
text-decoration: none;
}
p.inherit {
text-decoration: inherit;
}
p.overline{
text-decoration: overline;
}
p.underline {
text-decoration: underline;
}
p.line-through {
text-decoration: line-through;
}
效果:
可以使用空格分隔組合使用 underline, overline, line-through值以混合使用修飾線.
另外一個(gè)text-decoration屬性的值是blink,它使得文本可以閃爍,但大多數(shù)瀏覽器都忽略這個(gè)屬性值.
text-indent屬性:
text-indent屬性用于設(shè)定文本的縮進(jìn),一般指段落的第一行開始之前留下多少空格,它的值可以設(shè)定為length(px,pt,cm,em,等等),%,inherit
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p>這是一個(gè)文本<strong>縮進(jìn)</strong>屬性的例子.文本的第一行縮進(jìn)60px另绩,除了像素單位外,還可以使用其它單位,比如:pt,cm,em,等</p>
</body>
</html>
CSS文件
p {
text-indent: 60px;
}
效果:
也可以使用負(fù)值,使用負(fù)值時(shí),第一行將向左邊縮進(jìn).
text-shadow屬性:
text-shadow屬性用于給文字添加陰影
需要設(shè)定4個(gè)值,第一個(gè)值設(shè)定陰影水平方向的距離,第二個(gè)值設(shè)定陰影垂直方向的距離, 第三個(gè)值 定義陰影的模糊度, 第四個(gè)值設(shè)定陰影的顏色.
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<h1>文本陰影樣例</h1>
</body>
</html>
CSS文件:
h1 {
color: blue;
font-size: 30pt;
text-shadow: 5px 2px 4px grey;
}
在上面的例子中,我們使用以下參數(shù)創(chuàng)建了陰影:
5px --- 水平方向
2px --- 垂直方向
4px --- 模糊度
grey --- 陰影的顏色
效果:
可以使用逗號分隔需要添加的多個(gè)陰影.
CSS文件:
h1 {
color: blue;
font-size: 30pt;
text-shadow: 5px 2px 4px grey, 10px 4px 8px red;
}
效果:
text-shadow 屬性中使用模糊效果
在text-shadow屬性中,可以使用CSS支持的任何顏色格式
對于x,y(水平,垂直)的偏移量,有各種單可以使用(如: px, cm,mm,in,pc,pt 等等)
甚至負(fù)值也是可以使用的.
下面的例子創(chuàng)建了一個(gè)藍(lán)色的下拉陰影,比文本主體高2個(gè)像素,離文本的左邊1個(gè)像素,0.5 em 模糊度.
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<h1>使用模糊效果的文本陰影樣例</h1>
</body>
</html>
CSS文件:
h1 {
font-size: 20pt;
text-shadow: rgba(0, 0, 255, 1) -1px -2px 0.5em;
}
效果:
IE9 或者更早的版本,不支持 text-shadow屬性.
text-transform 屬性:
text-transform屬性用于設(shè)定元素字母文本的大寫形式,例如,可以使文本中每個(gè)單詞的首字母大寫.
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p class="capitalize">
The value capitalize transforms the first
character in each word to uppercase;
all other characters remain unaffected.
</p>
</body>
</html>
CSS文件:
p.capitalize {
text-transform: capitalize;
}
效果:
text-transform 屬性可以設(shè)定所有字母文本都是大寫或都是小寫花嘶,下面是個(gè)例子:
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p class="uppercase">
This value transforms all characters to uppercase.
</p>
<p class="lowercase">
This value transforms all characters to lowercase.
</p>
</body>
</html>
CSS文件:
p.uppercase {
text-transform: uppercase;
}
p.lowercase {
text-transform: lowercase;
}
效果:
如果text-transform屬性值設(shè)定為 none,將不有轉(zhuǎn)換效果.
letter-spacing屬性
letter-spacing屬性用于指定文本中字符間的空間,它的值可以設(shè)定為:
normal --- 默認(rèn)值,字符間沒有額外的空間
length --- 使用px,pt,cm,mm等等單位定義字符間的空間
inherit --- 繼承父級元素的樣式
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p class="normal">
這是一段字符間沒有額外空間的應(yīng)用
</p>
<p class="positive">
這是一段字符間具有4px額外空間的應(yīng)用
</p>
</body>
</html>
CSS文件:
p.normal {
letter-spacing: normal;
}
p.positive {
letter-spacing: 4px;
}
效果:
letter-spacing屬性也可以使用負(fù)值笋籽,例如:
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p class="positive">
這是一段字符間具有4px額外空間的應(yīng)用
</p>
<p class="negative">
這是一段字符間具有-1.5px額外空間的應(yīng)用
</p>
</body>
</html>
CSS文件:
p.positive {
letter-spacing: 4px;
}
p.negative {
letter-spacing: -1.5px;
}
效果:
word-spacing屬性:
word-spacing屬性用于指定單詞間的空間,與letter-spacing屬性相似,這的值也有以下幾種: normal, length, inherit
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p class="normal">
This paragraph has no additional word-spacing applied
</p>
<p class="px">
This paragraph is word-spaced at 30px.
</p>
</body>
</html>
CSS文件:
p.normal {
word-spacing: normal;
}
p.px {
word-spacing: 30px;
}
效果:
white-space 屬性:
white-space 屬性用指定元素內(nèi)部的空格形式,它的值可以設(shè)定:normal, inherit, nowrap等
nowrap值文本連續(xù)在同一行直到遇到
標(biāo)簽,同時(shí)把所有的空格折疊為一個(gè)空格.
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p>
這個(gè)段落有 多個(gè)空格 和
換行,但這些空格將被忽略,因?yàn)槭褂昧?nowrap值
</p>
</body>
</html>
CSS文件:
p {
white-space: nowrap;
}
**效果:
white-space的值也可以用以下值:
pre---文本將連續(xù)的空白符會被保留,在遇到換行符或
標(biāo)簽時(shí)才會換行
pre-line---文本將把連續(xù)的空白合并椭员,遇到換行符或
標(biāo)簽车海,或是為了填充行類塊元素時(shí)才會換行.
pre-wrap---文本將連續(xù)的空白符會被保留.遇到換行符或
標(biāo)簽,或是為了填充行類塊元素時(shí)才會換行.
HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="example.css">
</head>
<body>
<p class="pre">
In the markup we have multiple spaces
and a line break
</p>
<p class="preline">
In the markup we have multiple spaces
and a line break, but in the result multiple spaces are ignored.
</p>
<p class="prewrap">
In the markup we have multiple
spaces and a line break.
</p>
</body>
</html>
CSS文件:
p.pre {
white-space: pre;
}
p.preline {
white-space: pre-line;
}
p.prewrap {
white-space: pre-wrap;
}
效果: