上一篇博客說的是偽類,這次我們來說說偽元素。先來補充一下上篇博客漏掉的一個偽類::focus 偽類
(1)定義和用法
:focus偽類在元素獲得焦點時向元素添加特殊的樣式。注釋IE瀏覽器不支持此屬性。
(2)說明
這個偽類應用于有焦點的元素。
例如HTML中一個有文本輸入焦點的輸入框,其中出現了文本輸入光標;也就是說,在用戶開始鍵入時,文本會
輸入到這個輸入框。其他元素(如超鏈接)也可以有焦點,不過CSS沒有定義哪些元素可以有焦點。
~~~
a:link {color: #FF0000} /* 未訪問的鏈接 */
a:focus {color: #00FF00} /* 獲得焦點的鏈接 */
~~~
再來一個結合其他選擇器的例子:
~~~
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標題文檔</title>
<style type="text/css">
a.red:visited {color: #FF0000;}
</style>
</head>
<body>
<a class="red" href="http://www.baidu.com">百度一下,你就知道</a>
</body>
</html>
~~~
如果上面這個例子中的鏈接已被訪問過,那么它會顯示為紅色。那么運行的結果為也是這樣子的。
(3)實例:規定獲得焦點的輸入字段的顏色的完整代碼為:
~~~
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>CSS選擇器演示</title>
<style type="text/css">
input:focus
{
background-color:yellow;
}
</style>
</head>
<body>
<form action="form_action.asp" method="get">
First name: <input type="text" name="fname" /><br />
Last name: <input type="text" name="lname" /><br />
<input type="submit" value="Submit" />
</form>
<p><b>注釋:</b>如果已規定 !DOCTYPE,那么 Internet Explorer 8 (以及更高版本)支持 :focus 偽類。</p>
</body>
</html>
~~~
運行的結果為:

瀏覽器支持
所有主流瀏覽器都支持 :focus 偽類。注釋:如果已規定 !DOCTYPE,那么 Internet Explorer 8 (以及更高版本)
支持 :focus 偽類。
下面我們來說偽元素
CSS偽元素用于向某些選擇器設置特殊效果。
語法
偽元素的語法(和偽類是一樣的):
selector:pseudo-element {property:value;}
CSS 類也可以與偽元素配合使用:
selector.class:pseudo-element {property:value;}
(1):first-line 偽元素
":first-line" 偽元素用于向文本的首行設置特殊樣式。
在下面的例子中,瀏覽器會根據 "first-line" 偽元素中的樣式對 p 元素的第一行文本進行格式化:
~~~
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>CSS選擇器演示</title>
<style type="text/css">
p:first-line
{
color: #ff0000;
font-size:18px;
}
</style>
</head>
<body>
<p>出師未捷身先死,<br/>長使英雄淚滿襟。</p>
</body>
</html>
~~~
運行的結果為:

注釋:"first-line" 偽元素只能用于塊級元素。
注釋:下面的屬性可應用于 "first-line" 偽元素:
font
color
background
word-spacing
letter-spacing
text-decoration
vertical-align
text-transform
line-height
clear
(2):first-letter 偽元素
":first-letter" 偽元素用于向文本的首字母設置特殊樣式:
來看一個實例:
~~~
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>CSS選擇器演示</title>
<style type="text/css">
p:first-letter
{
color: #ff0000;
font-size:18px;
}
</style>
</head>
<body>
<p>出師未捷身先死,<br/>長使英雄淚滿襟。</p>
<hr/>
<p>兩情若是久長時,又豈在朝朝暮暮</p>
</body>
</html>
~~~
運行的結果為:

注釋:"first-letter" 偽元素只能用于塊級元素。
注釋:下面的屬性可應用于 "first-letter" 偽元素:
font
color
background
margin
padding
border
text-decoration
vertical-align (僅當 float 為 none 時)
text-transform
line-height
float
clear
(3)偽元素和CSS類
偽元素可以與CSS類配合使用:
~~~
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>CSS選擇器演示</title>
<style type="text/css">
p.article:first-letter
{
color: #FF0000;
}
</style>
</head>
<body>
<p class="one">出師未捷身先死,<br/>長使英雄淚滿襟。</p>
<hr/>
<p class="article">兩情若是久長時,又豈在朝朝暮暮</p>
</body>
</html>
~~~
上面的例子會使所有 class 為 article 的段落的首字母變為紅色。
運行的結果為:

(4)多重偽元素
可以結合多個偽元素來使用。
在下面的例子中,段落的第一個字母將顯示為紅色,其字體大小為 xx-large。第一行中的其余文本將為藍色,并
以小型大寫字母顯示。段落中的其余文本將以默認字體大小和顏色來顯示:
~~~
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>CSS選擇器演示</title>
<style type="text/css">
p:first-letter
{
color:#ff0000;
font-size:xx-large;
}
p:first-line
{
color:#0000ff;
font-variant:small-caps;
}
</style>
</head>
<body>
<p class="one">出師未捷身先死,<br/>長使英雄淚滿襟。</p>
<hr/>
<p class="article">兩情若是久長時,又豈在朝朝暮暮</p>
</body>
</html>
~~~
運行的結果為:

:before 偽元素
":before" 偽元素可以在元素的內容前面插入新內容。
下面的例子在每個 <p> 元素前面插入一幅圖片:
~~~
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>CSS選擇器演示</title>
<style type="text/css">
p:before {
content:url(01.jpg);
}
</style>
</head>
<body>
<p class="one">出師未捷身先死,<br/>長使英雄淚滿襟。</p>
<hr/>
<p class="article">兩情若是久長時,又豈在朝朝暮暮</p>
</body>
</html>
~~~
運行的結果為:

:after 偽元素
":after" 偽元素可以在元素的內容之后插入新內容。
下面的例子在每個 <p> 元素后面插入一幅圖片:
~~~
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>CSS選擇器演示</title>
<style type="text/css">
p:after {
content:url(01.jpg);
}
</style>
</head>
<body>
<p class="one">出師未捷身先死,<br/>長使英雄淚滿襟。</p>
<hr/>
<p class="article">兩情若是久長時,又豈在朝朝暮暮</p>
</body>
</html>
~~~
運行的結果為:

- 前言
- HTML學習1:Dreamweaver8的安裝
- HTML學習2:初識HTML
- HTML學習3:常用標簽之文本標簽
- HTML學習4:常用標簽之列表標簽
- HTML學習5:常用標簽之圖像標簽
- HTML學習6:常用標簽之超鏈接標簽
- HTML學習7:常用標簽之表格標簽
- HTML學習8:常用標簽之框架標簽
- HTML學習9:常用標簽之表單標簽
- HTML學習10:表單格式化
- HTML學習11:HTTP 方法
- HTML學習12:其他常見標簽之頭標簽
- HTML學習13:其他常見標簽之體標簽
- 輕松學習JavaScript一:為什么學習JavaScript
- 輕松學習JavaScript二:JavaScript語言的基本語法要求
- 輕松學習JavaScript三:JavaScript與HTML的結合
- 輕松學習JavaScript四:JS點擊燈泡來點亮或熄滅這盞燈的網頁特效映射出JS在HTML中作用
- 輕松學習JavaScript五:JavaScript的變量和數據類型
- 輕松學習JavaScript六:JavaScript的表達式與運算符
- 輕松學習JavaScript七:JavaScript的流程控制語句
- 輕松學習JavaScript八:JavaScript函數
- 輕松學習JavaScript九:JavaScript對象和數組
- 輕松學習JavaScript十:JavaScript的Date對象制作一個簡易鐘表
- 輕松學習JavaScript十一:JavaScript基本類型(包含類型轉換)和引用類型
- 輕松學習JavaScript十二:JavaScript基于面向對象之創建對象(一)
- 輕松學習JavaScript十二:JavaScript基于面向對象之創建對象(二)
- 輕松學習JavaScript十三:JavaScript基于面向對象之繼承(包含面向對象繼承機制)
- 輕松學習JavaScript十四:JavaScript的RegExp對象(正則表達式)
- 輕松學習JavaScript十五:JavaScript之BOM簡介
- 輕松學習JavaScript十六:JavaScript的BOM學習(一)
- 輕松學習JavaScript十七:JavaScript的BOM學習(二)
- 輕松學習JavaScript二十九:JavaScript中的this詳解
- CSS基礎學習一:CSS概述
- CSS基礎學習二:如何創建 CSS
- CSS基礎學習三:CSS語法
- CSS基礎學習四:元素選擇器
- CSS基礎學習五:類選擇器
- CSS基礎學習六:id選擇器
- CSS基礎學習七:屬性選擇器
- CSS基礎學習八:派生選擇器
- CSS基礎學習九:偽類
- CSS基礎學習十:偽元素
- CSS基礎學習十一:選擇器的優先級
- CSS基礎學習十二:CSS樣式
- CSS基礎學習十三:盒子模型
- CSS基礎學習十四:盒子模型補充之display屬性設置
- CSS基礎學習十五:盒子模型補充之外邊距合并
- CSS基礎學習十六:CSS盒子模型補充之border-radius屬性
- CSS基礎學習十七:CSS布局之定位
- CSS基礎學習十八:CSS布局之浮動
- CSS基礎學習十九:CSS布局之圖文混排,圖像簽名,多圖拼接和圖片特效
- DIV+CSS實操一:經管系網頁總體模塊布局
- DIV+CSS實操二:經管系網頁添加導航欄和友情鏈接欄
- DIV+CSS實操三:經管系網頁內容模塊添加標題欄和版權信息模塊
- DIV+CSS實操四:經管系網頁內容模塊內容添加(一)
- DIV+CSS實操五:經管系網頁內容模塊內容添加(二)
- DIV+CSS實操六:經管系網頁添加導航欄下拉菜單
- DIV+CSS實操七:中文系內容模塊控制文本不換行和超出指定寬度后用省略號代替
- JS中實現字符串和數組的相互轉化