上一篇博客说的是伪类,这次我们来说说伪元素。先来补充一下上篇博客漏掉的一个伪类::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>
~~~
运行的结果为:
![](https://box.kancloud.cn/2016-04-28_5721559698422.jpg)
浏览器支持
所有主流浏览器都支持 :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>
~~~
运行的结果为:
![](https://box.kancloud.cn/2016-04-28_57215596a9cf5.jpg)
注释:"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>
~~~
运行的结果为:
![](https://box.kancloud.cn/2016-04-28_57215596bc8c9.jpg)
注释:"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 的段落的首字母变为红色。
运行的结果为:
![](https://box.kancloud.cn/2016-04-28_57215596cb5ba.jpg)
(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>
~~~
运行的结果为:
![](https://box.kancloud.cn/2016-04-28_57215596e0cd2.jpg)
: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>
~~~
运行的结果为:
![](https://box.kancloud.cn/2016-04-28_57215596f2687.jpg)
: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>
~~~
运行的结果为:
![](https://box.kancloud.cn/2016-04-28_572155970fcaa.jpg)
- 前言
- 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中实现字符串和数组的相互转化