css 伪类的使用方法详解

css 伪类这个词很奇怪, 在我看来更像标识了特殊状态的标签.

和程序中的类什么的, 一点关系都没有.

伪类用:跟在选择器后面,标识了一些状态

::表示 css3 新增的一些伪类, 建议全部都使用::.这年头还不支持 css3 的浏览器可以不管了

比如这几个伪类:

link 链接还没被用户点击
visited 已经点击的链接
hover 鼠标指针悬停在链接上
active 链接正在被点击(鼠标在元素上按下,还没有释放)
::first-letter 给我感觉更像一个增强选择器

p::first-letter {font-size:300%;}
p::first-line {font-variant:small-caps;} 同上

p.age::before {content:"Age: ";}
p.age::after {content:" years.";}

这个已经是改

CSS :active 伪类,适用于一个元素被激活时的样式

语法: :active
CSS版本:CSS1

说明:
适用于一个元素被激活时的样式,例如鼠标在此元素的区域内按下但还没有释放时
客户端(浏览器)可以根据用户与其交互的动作改变其渲染效果,CSS为这种情况提供了三个伪类:hover、active、focus
上述三种伪类不是互斥的,一个元素同时可以适用其中的若干个
:active伪类,适用于一个元素被用户激活时,例如用户在按下鼠标之后放开鼠标之前的这一段时间内。当用户放开鼠标后,恢复元素原有的样式
active,中文"激活、活跃"的意思

语法

:active
a:active
a.class:active
示例

a:active
{
 color:yellow;
 background:blue;
 font-size:small;
}
p:active
{
 color:yellow;
 background:blue;
 font-size:large;
}
div:active
{
 color:red;
 background:lime;
 font-size:small;
}
CSS :active 伪类示例 -- 可以尝试编辑

CSS :active 伪类示例
伪类选择符的顺序:L-V-H-A

CSS提供了四种元素设置链接的颜色,包括:link、:visited、:hover、:active,它们的声明是有一定顺序的,我们简称这种顺序为L-V-H-A,即link最先,其次visited,之后hover,最后active,如此声明才能保证hover与active状态显示正确的样式

示例

统一定义链接各种状态下的样式

a:link
{
 color:red;
}
a:visited
{
 color:green;
}
a:hover
{
 color:yellow;
 background:blue;
}
a:active
{
 color:lime;
 background:red;
}
CSS :active 伪类示例 -- 可以尝试编辑

CSS伪类示例,统一定义链接各种状态下的样式
一个页面可以定义多个链接样式

可以在一个页面定义多种链接样式,例如下面示例定义了灰色与白色两种样式的连接

.gray:hover,.gray:focus,.gray:active,.gray:link,.gray:visited
{
 color:#999;
}

.white:hover,.white:focus,.white:active,.white:link,.white:visited
{
 color:#000;
 font-weight:bold;
}
CSS :active 伪类示例 -- 可以尝试编辑

CSS伪类示例,一个页面定义多个链接样式
IE浏览器不支持A元素以外的其它元素的:active伪类

IE6、IE7(Q)、IE8(Q)浏览器不支持A元素以外的其它元素的:active伪类

CSS3 target伪类

CSS3 target伪类是众多实用的CSS3特性中的一个。它用来匹配文档(页面)的URI中某个标志符的目标元素。具体来说,URI中的标志符通常会包含一个”#”字符,然后后面带有一个标志符名称,比如#respond,target就是用来匹配ID为respond的元素的。

现在在页面中,点击一个ID链接后,页面只会跳转到相应的位置,但是并不会有比较明显的UI标识,使用:target伪类可以像:hover等伪类一样对目标元素定义样式。

浏览器支持

因为我们在讨论CSS3,所以它现在被除了IE6-8以外的所有浏览器支持,但是IE9会支持这个伪类。这是相当遗憾的,但是这个现实并不影响你使用它。

如何使用:target

:target伪类和:hover、:link、:visited、:focus等伪类的用法是一样的:

selector:target{ color:red; /other styles/ }

实例

让我们通过一个简单的例子来演示。比如我们在页面中常常会用到tab,之前我们要用脚本来实现,YUI、jQuery也都有这样的插件或者模块,但是现在我们用:target伪类就可以实现。

HTML结构:

标签一
标签二
标签三
#### CSS3代码:
/layout styles/ .tab_content { position: absolute;/set content box as absolute/ /other layout styles/ } #tab1:target, #tab2:target, #tab3:target { z-index: 1; }

原理想必大家都看懂了,就是将tab内容框设置为绝对定位,然后通过:target伪类调整其z-index。

时间: 2024-10-25 10:24:47

css 伪类的使用方法详解的相关文章

string类的使用方法详解_C#教程

String:字符串类型 1.构造函数. String() :构造一个空字符串对象.String(byte[] bytes) :通过byte数组构造字符串对象.String(byte[] bytes, int offset, int length) :通过byte数组,从offset开始,总共length长的字节构造字符串对象.String(char[] value) :通过char数组构造字符串对象.String(char[] value, int offset, int count) :通过

CSS中的元素定位方法详解

  1.盒模型 盒模型,就是 浏览器为页面中的每个 HTML 元素生成的矩形盒子. 这些盒子们都要按照 可见版式模型(visual formatting model)在页面上排布.可见的页面版式主要由三个属性控制: position 属性. display 属性和 float 属性.其中,position 属性控制页面上元素间的位置关系, display 属性控制元素是堆叠.并排,还是根本不在页面上出现, float 属性提供控制的方式,以便把元素组成成多栏布局. 盒子属性分三组: 边框(bor

CSS伪类:before, :after详解

 代码如下 复制代码 <!doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>伪类导个航..</title> <style type="text/css"> /*css部分, 留意其中border, marg

整形医院类网站两个重点的网络营销方法详解

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 目前整形行业还处于刚刚起步的阶段,随着爱美之心的泛滥,整形类的网站一定会获得极大的发展,正是因为发展前景相当不错,互联网上的整形医院类的网站如雨后春笋般的建设了起来,这极大的增加了整形医院类网站的竞争激烈程度,所以要想从这个行业里面成功突围,只有利用两大营销方法,一个是SEO优化的搜索引擎营销,另一个就是其他形式的网络营销两种!下面就来进行简

HTML中的CSS盒子模型边界(box-model)问题详解

HTML中的元素我们把他分为一个一个的盒子,盒子里面可以再放盒子,也可以放置文本,默认情况下,我们给盒子设置maring.padding和border的时候,不管设置的是什么单位的值,这些值都会计算在盒子的总体面积以内,这虽然是很基础的CSS技术,但是很多编写代码的人却不甚了解,导致网页错位却不知道怎么解决. HTML中的CSS盒子模型边界(box-model)问题详解 我一直到很不喜欢CSS和填充间距边框的关系,你忙着去定义宽度来满足你的网格布局比例,然后接下来你开始添加文本和设置适量的间距和

Struts中使用validate()输入校验方法详解_java

1.在ActionSupport中有一个validate()方法,这个方法是验证方法,它会在execute()方法执行之前执行,所以能够起到很好的验证的作用. @Override //重写Action中的validate()方法 public void validate() { if(null==this.username||this.username.length()<4||this.username.length()>6){ this.addActionError("userna

jquery 遍历数组 each 方法详解_jquery

JQuery拿取对象的方式 $('#id') :通过元素的id $('tagName') : 通过元素的标签名 $('tagName tagName') : 通过元素的标签名,eg: $('ul li') $('tagName#id): 通过元素的id和标签名 $(':checkbox'):拿取input的 type为checkbox'的所有元素: Eg: <input type="checkbox" name="appetizers" value="

彭宇诚:网站软文推广方法详解

中介交易 SEO诊断 淘宝客 云主机 技术大厅 掌握软文推广方法是一个网络推广人员必备的技能之一,应该说软文推广时贯穿整个网络推广工作的,无论哪种推广方式都离不开软文.在硬广告不再强势的这两年,软文开始占据主力位置,而且会一直延续强劲势头.这篇软文推广方法详解也是彭宇诚做网络推广.营销工作几年来总结的技巧和思路,望对大家有些许帮助.众所周知的王老吉事件,必胜客事件,凡客诚品都是很好利用了软文推广提升了品牌影响力,更是带来了巨大的销量,所以利用好软文,我相信不管是推广什么产品,都会产生巨大的效果.

ASP.NET动态设置页面标题的方法详解

这篇文章介绍了ASP.NET动态设置页面标题的方法详解,有需要的朋友可以参考一下     ASP.NET为我们提供了一个控件类:System.Web.UI.HtmlControls.HtmlGenericControl.它可以实现 HTML的元素的一个实例,比如在.cs代码中控制aspx中的<td>元素(注意,它不是<ASP:TableCell>). 我们知道,页面标题是被包含在<TITLE></TITLE>中的,而<TITLE>也是一个HTML