【从0到1学Web前端】CSS伪类和伪元素
1.CSS中的伪类
CSS 伪类用于向某些选择器加入特殊的效果。
语法:
selector : pseudo-class {property: value}
CSS 类也可与伪类搭配使用
selector.class : pseudo-class {property: value}
如以下的一段代码:
a.red : visited {color: #FF0000}
<a class="red" href="css_syntax.asp">CSS Syntax</a>
1.1锚伪类
在支持 CSS 的浏览器中,链接的不同状态都能够不同的方式显示,这些状态包含:活动状态,已被訪问状态。未被訪问状态,和鼠标悬停状态。
a:link {color: #FF0000} /* 未訪问的链接 */
a:visited {color: #00FF00} /* 已訪问的链接 */
a:hover {color: #FF00FF} /* 鼠标移动到链接上 */
a:active {color: #0000FF} /* 选定的链接 */
注意:
1.在 CSS 定义中。a:hover 必须被置于 a:link 和 a:visited之后,才是有效的。
2.在 CSS 定义中。a:active 必须被置于a:hover 之后,才是有效的。
3.伪类名称对大写和小写不敏感。
1.2 CSS2 - :first-child 伪类
定义:
first-child 伪类来选择元素的第一个子元素。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
p:first-child {font-weight: bold;}
li:first-child {text-transform:uppercase;}
</style>
</head>
<body>
<div>
<p>These are the necessary steps:</p>
<ul>
<li>Intert Key</li>
<li>
Turn key <strong>clockwise</strong>
</li>
<li>Push accelerator</li>
</ul>
<p>
Do <em>not</em>
push the brake at the same time as the accelerator.
</p>
</div>
</body>
</html>
效果例如以下图:
第一个规则将作为某元素第一个子元素的全部 p 元素设置为粗体。第二个规则将作为某个元素(在 HTML 中。这肯定是 ol 或 ul 元素)第一个子元素的全部 li 元素变成大写。
必须声明
<!DOCTYPE>,这样 :first-child 才干在 IE 中生效。
<style type="text/css">
p:first-child {
color: red;
}
</style>
选择器匹配作为不论什么元素的第一个子元素的 p 元素
<style type="text/css">
p > i:first-child {
font-weight:bold;
}
</style>
选择器匹配全部 <p>元素中的第一个<i>元素
<style type="text/css">
p:first-child i {
color:blue;
}
</style>
选择器匹配全部作为元素的第一个子元素的 <p>元素中的全部 <i>元素
1.3 CSS2 - :lang 伪类
:lang 伪类使你有能力为不同的语言定义特殊的规则
<style type="text/css">
q:lang(no) {
quotes: "~" "~"
}
</style>
<body>
<p>
文字
<q lang="no">段落中的引用的文字</q>
文字
</p>
</body>
2.CSS中的伪元素
CSS 伪元素用于将特殊的效果加入到某些选择器。
语法:
伪元素的语法:
选择器 : 伪元素 { 属性: 值 }
CSS 类也能够与伪元素配合使用:
选择器 . 类: 伪元素 { 属性: 值 }
p.article:first-letter {color: #FF0000}
<p class="article">文章中的一个段落。
</p>
:first-line的用法:
p {font-size: 12pt}
p:first-line {color: #0000FF; font-variant: small-caps}
first-line 伪元素仅能被用于块级元素。
以下的属性能够被应用到 first-line 伪元素:
font 属性
color 属性
background 属性
word-spacing
letter-spacing
text-decoration
vertical-align
text-transform
line-height
clear
2.1多重伪元素
p {font-size: 12pt;}
p:first-letter {color: #FF0000; font-size: 24pt;}
p:first-line {color: #0000FF;}
<p>The first words of an article</p>
2.2 CSS2 - :before 伪元素
before(>=IE8) 伪元素可用于在某个元素之前插入某些内容。
h1:before
{
content: url(beep.wav)
}
2.3 CSS2 - :after 伪元素
after(>=IE8) 伪类可用于在某个元素之后插入某些内容。
h1:after
{
content: url(beep.wav)
}
content 属性与 :before 及 :after 伪元素配合使用,来插入生成内容。
a:after
{
content: " (" attr(href) ")";
}
【从0到1学Web前端】CSS伪类和伪元素的更多相关文章
- 【从0到1学Web前端】CSS伪类和伪元素 分类: HTML+CSS 2015-06-02 22:29 1065人阅读 评论(0) 收藏
1.CSS中的伪类 CSS 伪类用于向某些选择器添加特殊的效果. 语法: selector : pseudo-class {property: value} CSS 类也可与伪类搭配使用 select ...
- 【从0到1学Web前端】CSS定位问题一(盒模型,浮动,BFC) 分类: HTML+CSS 2015-05-27 22:24 813人阅读 评论(1) 收藏
引子: 在谈到css定位问题的时候先来看一个小问题: 已知宽度(假如:100px)div框,水平居中,左右两百年的分别使用div框填充.且左右div自适应. 效果如下图: 这个问题的难点主要是浏览器宽 ...
- 零基础学WEB前端-CSS
CSS指层叠样式表(Cascading Style Sheets),CSS 是标准的布局语言,用来控制元素的尺寸.颜色.排版.CSS 由 W3C 发明,用来取代基于表格的布局.框架以及其他非标准的表现 ...
- 【从0到1学Web前端】CSS定位问题三(相对定位,绝对定位) 分类: HTML+CSS 2015-05-29 23:01 842人阅读 评论(0) 收藏
引子: 开始的时候我想先要解决一个问题,怎么设置一个div盒子撑满整个屏幕? 看下面的html代码: <body> <div id="father-body"&g ...
- 【从0到1学Web前端】CSS定位问题二(float和display的使用) 分类: HTML+CSS 2015-05-28 22:03 812人阅读 评论(1) 收藏
display 属性规定元素应该生成的框的类型. 这个属性用于定义建立布局时元素生成的显示框类型.对于 HTML 等文档类型,如果使用 display 不谨慎会很危险,因为可能违反 HTML 中已经定 ...
- 【从0到1学Web前端】javascript中的ajax对象(一) 分类: JavaScript 2015-06-24 10:18 754人阅读 评论(1) 收藏
现在最流行的获取后端的(浏览器从服务器)数据的方式就是通过Ajax了吧.今天就来详细的来学习下这个知识吧.如果使用ajax来访问后段的数据,浏览器和浏览器端的js做了那些工作呢?我做了一个图,请大家看 ...
- Web前端-CSS必备知识点
Web前端-CSS必备知识点 css基本内容,类选择符,id选择符,伪类,伪元素,结构,继承,特殊性,层叠,元素分类,颜色,长度,url,文本,字体,边框,块级元素,浮动元素,内联元素,定位. 链接: ...
- WEB前端 CSS(非布局)
目录 WEB前端 CSS CSS引入方式 CSS结构 CSS选择器 直接选择器 组合选择器 分组选择器 也叫并集选择器 属性选择器 伪类选择器 伪元素选择器 CSS选择器是一个查找的过程,高效的查找影 ...
- 想转行做程序员,目前想学WEB前端,想问该自学还是报培训班
首先我们还是先看一下WEB前端目前的工资情况吧,我在IT招聘网站拉勾网来进行搜索1-3年WEB前端工作经验大专学历的条件来看. 深圳: 可以看出目前深圳的平均的工资都在10K以上,因为大城市给的机会多 ...
随机推荐
- tab group of firefox
https://addons.mozilla.org/en-US/firefox/addon/tabgroups-menu/? src=search#detail-relnotes https://g ...
- 王立平-- ContentValues , HashTable , HashMap差别
ContentValues :是一种存储机制,key-value 特点:key仅仅能是string类型.value:仅仅能是基本类型,不能是对象. 应用:经常使用语往数据库中插入数据 Content ...
- Ember.js - About
Ember.js - About More Productive Out of the Box. Write dramatically less code with Ember's Handleb ...
- Spring Tool Suite(简称STS)针对SimpleDateFormat.pase函数的实参值不做检验,异常直接默认值之
Spring Tool Suite(简称STS)是 Spring 团队开发的一款基于Eclipse的IDE,旨在简化开发Spring MVC 应用的流程.可以自动生成spring相关的配置文件.比如a ...
- Spring Configuration Check Unmapped Spring configuration files found
Spring Configuration Check Unmapped Spring configuration files found 项目中有xml文件,但没有被用IntelliJ 导入现有工程时 ...
- Hadoop2.0/YARN深入浅出(Hadoop2.0、Spark、Storm和Tez)
随着云计算.大数据迅速发展,亟需用hadoop解决大数据量高并发访问的瓶颈.谷歌.淘宝.百度.京东等底层都应用hadoop.越来越多的企 业急需引入hadoop技术人才.由于掌握Hadoop技术的开发 ...
- 基于visual Studio2013解决C语言竞赛题之1083人机博弈
题目 解决代码及点评 /************************************************************************/ /* ...
- MsSqlServer bak文件数据导入
MsSqlServer bak文件数据导入 第一步首先在你的数据库中建立一个空数据库 选中新建的数据库 鼠标右键 任务 还原 数据库 这个时候会弹出这种一个框 之后选择原设备 会弹出 点击加入 找到 ...
- Effective C++_笔记_条款01_视C++为一个语言联邦
(整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) C++的各种能力和特性使它成为一个无可匹敌的工具,但也可能引发某 ...
- Delphi一共封装(超类化)了8种Windows基础控件和17种复杂控件
超类化源码: procedure TWinControl.CreateSubClass(var Params: TCreateParams; ControlClassName: PChar); con ...