CSS之伪元素
1. :first-line
向元素的首行文本添加样式,不必关心首行是元素节点还是文本节点
<style>
body,htm,div,p{
margin:0;
padding:0;
}
div{
width:100px;
height:100x;
background-color:#FC9;
}
p{
height:50px;
text-align:center;
line-height:50px;
}
div > p:first-child{
background-color:#F90
}
div > p:last-child{
background-color:#6CC
}
div:first-line{
color:red;
background-color:green;
/*这段设置无效
display:block;
width:100px;
height:100px;*/
}
</style>
<div>
<p>p1</p>
<p>p2</p>
</div>

:first-line伪元素相当于给文本添加了span元素<p><span>p1</span></p>,而且CSS代码中设置display:block是无效的
<style>
body,htm,div,p{
margin:0;
padding:0;
}
div{
width:100px;
height:100x;
background-color:#FC9;
}
p{
height:50px;
text-align:center;
line-height:50px;
}
div > p:first-child{
background-color:#F90
}
div > p:last-child{
background-color:#6CC
}
div:first-line{
color:red;
background-color:green;
/*这段设置无效
display:block;
width:100px;
height:100px;*/
}
</style>
<div>
This is first line
<p>p1</p>
<p>p2</p>
</div>

由于文本超过div的宽度,换行后,只有第一行有效果
2. :first-letter
向文本的第一个字母添加特殊样式
<style>
div:first-letter{
color:red;
}
</style>
<div>
This is first line
<p>p1</p>
<p>p2</p>
</div>

默认的display:inline,但是:first-letter不能通过display:block来改变显示方式
3. :before 表示在元素的内容之前新插入内容
:after 表示在元素的内容之后新插入内容
多个内容以空格分隔 content:"hahah" attr(class) url(images/15.gif);
3.1 插入图片
<style>
div:before{
content:url(images/15.gif);
border:10px solid red;
}
span{
border:10px solid green;
}
</style>
<div>
<span>This is first line</span>
<p>p1</p>
<p>p2</p>
</div>

:after默认插入的元素是inline属性的,通过修改display:block来改成块级元素
<style>
div:before{
content:url(images/15.gif);
border:10px solid red;
display:block;
width:100px;
height:50px;
}
span{
border:10px solid green;
}
</style>
<div>
<span>This is first line</span>
<p>p1</p>
<p>p2</p>
</div>

3.2 插入文本
<style>
div{
width:300px;
height:300px;
background-color:#FC9;
text-align:center;
}
div:hover:after{
content:"This is after";
background-color:green;
width:100px;
height:100px;
display:block;
margin:0 auto;
}
</style>
鼠标移动到div上时:

3.3 插入特殊图标
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
.phoneNumber:before{
content:"\260E";
font-size:15px;
}
</style>
</head>
<body>
<p class="phoneNumber">13021020<span>☎</span>394</p>
</body>
</html>

3.4 通过attr()调用当前元素的属性(参数不是字符串)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
div{
color:red;
font-size:1.5em;
}
div:after{
content:attr(id); color:yellow; }
</style>
</head>
<body>
<div id='myDiv' style="width:100px;height:100px;background-color:cyan">DIV<br/></div>
</body>
</html>

CSS之伪元素的更多相关文章
- HTML和CSS设置动态导航以及CSS中伪元素的简单说明
HTML页面代码: <!DOCTYPE html> <html> <head> <title>Test</title> <meta c ...
- CSS的伪元素(二)
随便聊聊CSS的伪元素,虽然它们在项目开发中用的并不多,但确实很有用,在项目中不用它,是因为大家不能了解它们,下面是一个工作场景,如有四个按钮,分别是建立,编辑,删除和修改,而我们要求这在前台显示的汉 ...
- css的伪元素
这里想将的是两个伪元素,一个是:first-line——用来向文本的首行添加特殊样式,并且不论该行出现多少单词:只能与块状元素关联. 如下属性可以应用于:first-line伪元素 font属性 co ...
- [CSS]利用伪元素实现一些特殊图形
给定的html代码是: <div class='square'></div> 平常实现我们常是通过添加小的icon来实现,不仅需要添加图片资源,还需要改动html结构. CSS ...
- [CSS]利用伪元素实现一些特殊图形 from baidu校招
最近在博客园看到某人发的baidu校招题目,说是要用一行html代码实现下面的这个图形: 给定的html代码是: <div class='square'></div> ---- ...
- 笑谈CSS的伪元素
今晚上我们来简单的聊一聊CSS的伪元素,多说无益,开聊 GG: 话说盘古开天辟地之时. QQ:嗨,咱今天还能讲的完吗?您给来点实际的啊. GG:要听实际的是吧,得嘞,那今天咱就来聊一聊CSS里的伪元素 ...
- css的伪元素 ::after ::before 和 图标字体的使用
浅谈css的伪元素::after和::before css中的::after和::before已经被大量地使用在我们日常开发中了,使用他们可以使我们的文档结构更加简洁.但是很多人对::after和 ...
- HTML&CSS基础-伪元素选择器
HTML&CSS基础-伪元素选择器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.html源代码 <!DOCTYPE html> <html> ...
- CSS 的伪元素是什么?
CSS伪元素是用来添加一些选择器的特殊效果.用于:向某个选择器中的文字的首行. ㈠语法 ①伪元素的语法: selector:pseudo-element {property:value;} ②CSS类 ...
- 浅谈css的伪元素::after和::before
css中的::after和::before已经被大量地使用在我们日常开发中了,使用他们可以使我们的文档结构更加简洁.但是很多人对::after和::before仍不是特别了解,究竟他们是做什么的?如何 ...
随机推荐
- PHP【函数】
目录:[PHP函数].[PHP数组] 一.PHP常用函数(和JS一样)函数的四要素:①返回类型②函数名③参数类型④函数体因为PHP是弱类型语言,所以可以不用写返回类型,但是其他三个要素都是必须要写的. ...
- css笔记1: html页面的CSS、DIV命名规则
原地址:http://www.cnblogs.com/rising-fay/archive/2013/02/25/2932592.html CSS命名规则 头:header 内容:content/co ...
- 如何在 SSAS服务器之间做同步
简介: 从SQL Server 2005开始,分析服务就支持了同步的功能.本文将介绍如何在SQL Server 2012下同步Adventureworks的分析服务数据库.通过同步的功能,我们就来可以 ...
- WPF播放视频
在现在的项目中需要使用到播放视频的功能,本来打算使用VLC来做的.后来发现WPF 4.0之后新增了MediaElement类,可以实现视频播放. <Grid> <Grid.RowDe ...
- HDU 2069 Coin Change(完全背包变种)
题意:给你5种银币,50 25 10 5 1,问你可以拼成x的所有可能情况个数,注意总个数不超过100个 组合数问题,一看就是完全背包问题,关键就是总数不超过100个.所有我们开二维dp[k][j], ...
- 坐标系统与投影变换及在ARCGIS中的应用
首先提几个问题:是否有遇到坐标转换的问题?又是否有遇到投影转换的问题?坐标转换与投影转换有什么区别?下面看几个概念:1.地球椭球体( Ellipsoid,Spheroid)2.大地基准面( Geo ...
- python 线程之 threading(二)
在http://www.cnblogs.com/someoneHan/p/6204640.html 线程一中对threading线程的开启调用做了简单的介绍 1 在线程开始之后,线程开始独立的运行直到 ...
- 首师大附中互测题:99999999海岛帝国后传:算法大会【D001】
[D001]99999999海岛帝国后传:算法大会[难度:D] ———————————————————————————————————————————————————————————————————— ...
- 同一台机子上用多个git 账号
Step 1 - Create a New SSH Key We need to generate a unique SSH key for our second GitHub account. 1 ...
- XAMPP PHPSTORM XDEBUG 配合使用
1.xdebug 配置 安装完xampp 进入 php.ini [XDebug]zend_extension = "C:\xampp\php\ext\php_xdebug.dll" ...