对于一个很好的编辑器VS来说,它对于编程语句的自动提示功能是很强大的,有时,我们根本不需要看相关API,而直接看VS给我们的提示就可以完成一个新技术的学习了.

今天我们来说几个CSS中的伪元素,它们在项目开发中用的并不多,但确实很有用,在项目中不用它,是因为大家不能了解它们,下面是一个工作场景,如有四个按钮,分别是建立,编辑,删除和修改,而我们要求这在前台显示的汉字是统一的,如果要改它们,就都要变的,如,我们希望把建立改为"新建",那么所有的建立都要改成新建,这代码量可是不小,当然,如果你这样写<a>建立</a>这改起来是挺麻烦的,而如果你使用伪元素呢?看下面代码:<a class="create"></a>,而在页面上也会显示"建立",而它就是通过伪元素来实现的.

一 元素前和元素后添加指定内容

    /* 在类名为read的a标签位置的后面添加查看字符,例如:<a class='read'>详细</a>,它的结果就是"详细查看" */
a.read:after {
content: '查看';
} a.del:after {
content: '删除';
} a.edit:after {
content: '编辑';
} a.create:after {
content: '新建';
}

HTML调用代码

<a class="create"></a>
<a class="del"></a>
<a class="edit"></a>
<a class="read"></a>

页面显示截图

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAP8AAAB6CAIAAAD/FxL2AAAExklEQVR4nO3cu5HbOgBG4S3EfbiZrUQNbO6AGYvgVqCEGVgAMbMpIkZsAA4A8AmJD2k19v7nGwXXvlpBEg9BEPb4zd/19fV1/wnA/+vt/v+mfvxg1A9d1A9d1A9d1A9d1A9d1A9d1A9d1A9d1A9d1A9d1A9d1A9d1A9d1A9d1A9d1A9d1A9d2/UDP9VG/cAPRv3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QtVH/r99/XvZg3NePK267/vePzxc81jUw7gvGFUf90uOKo37pccVRv/S44l5Vf2ldZy//fA1q44o7W3/lfKbmxnhvqs+iTT/f2aLuF6/p6uupGq5VF1+gKK2bv1TRelN9vlduGKSY/JSpHqywMeMLhl/2Vbl8WtGG3xzep1+9mQfqr1zue2vMvaO3Pa64w/VfljW7ItNcfOZ4wIa5P38Ud9bvihBiaV3bhJcKo4z1t837R2PSmXmpe1dbk+vgQIXxPedTS6fWMOi16qbnRnjbx8cdv9W89deYTr97D+qfOjH3j4cz9h2bWx28zl5uTU6r68Yz608n2KXufTrlMu9w/7hteLfN+iwK447XOu9958yz5/6i7avaudqa5adYX2eOjSvu1MonTOQhwXxbq1BeN/fbMPVe6n56+Mcz4fgcnF7Z3Zn798y7J+oP51V4A3Gi8T53Jm8s8Kg/62j9mcnGtPNrdGcvw1X7aev+m5Oc6xb1OxMXY72b/4hpM/cqmxXGeT1ex26soErr2ma8Eq6dHveOttl+zta44k7v+Yxr62HuX81/k+c8Yc/n8MpnmPUfu+sdVnqNWZ1R3vvwHsZfd7Zqp9Nw/pzZe7ed+dLWNxLXql5eDW59auqfetJd77z++NWX1mXnp3MrkGN3vevFt/c+szbYHHf4vK51rnMmvIf56MMzw3+vPvID9ecPy3J3Ifsk6t90fO4vrfOuiIW5YnbU09xfWtfZYjr9PGHuD5PosT2fZ8z96RFvKpZf0XTX1fuXz/2lNV2/vhNg7t/jxLo/JB4OTGM6W6XopyufovU+xppxYg5O508TlvVhhX1rvz9tUMaT01Q3bwp37niml22qzNzfhFMi3IG8dO4P38mNvVHq3/Twun8yqa/qnyxyHp770xWmMd6ZMFC2/mEbyo/bsmlbJrNbsuvuM1xPfF+V11z9mZXPOKKffw8nrjm3H0Xrio/8fi5z/x7n9vu99z6t9cc5phgvAn7ccc86U2H6I96ud2kraXLHGc+H2SvHSfHeXuTeCuOZNl11xIl5+PjDGmxgqs/TK589ez7zj7lE/Zv4W27fPe4j6/5v/7ziqF96XHHULz2uOOqXHlcc9UuPK45/00F6XHH8ez7QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3QRf3Q9RduPzIbsVJ72gAAAABJRU5ErkJggg==" alt="" />

二 为元素集合的第一个元素添加指定样式


/* 为样式为list的table标签下的第一个tr标签,添加下面的CSS样式 */
table.list tr:first-child {
background-color: #5C87B2;
color: #fff;
font-weight: bold;
}

HTML调用代码

<table class="list">
<tr>
<td>编号</td>
</tr>
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
</table>

页面显示截图

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQoAAABuCAIAAABQu8pmAAAC4klEQVR4nO3cPW7aAACG4Ryk9+hlcgGuwBqk7B3YzB2IFIkxC1sQM6yRTAfUwerUxR2AyiT5jJtWJMTPo09q0kaCqHnlH1qu6oMvX79d396dYc8eyOOe53HtDbtq5nG2Pftb9LhneFz7pzy+//j57s/G7ENNHmZx8jCLk4dZnDzM4uRhFncqj2Jd1vXjdP/pcF7VjU/3m5Z18PwrzS5qJ/IYzqu6LsfF+tUC9j/90zI1Iw+76LXnsXis63L+cF2sy7qaFo0/ah5V5GGfdG157A8dJ8+dnFzZJ11bHuPV4ad8/uLoYdaDdbj2WC3S8aGcL6bbdOQ42K6H7/1Nmr1trXkcqii31e7X8bSst+vxvNqFUc4frm/vdpco9Wrx7t+M2f/dqWuP1WL/wbZ6eQTZ5xHua7n2sEvf6ZcFd691lKuyjEeP1+bOlV3+OtzY3Vb1/ur8L/IYzqva1bxd+NrvXJXj27vhtCy362FxlMer507Dw+/vuRqxC59/c2UWJw+zOHmYxcnDLE4eZnHyMIuTh1mcPMzijvIws+aO8vgFNMgDInlAJA+I5AGRPCCSB0TygEgeEHXI47EYDAbF43mfF3wA7Xk83d8MBjdFcSMP+qjLydXTvTzoJXlAJA+I5AGRPCCSB0Qdbuw2iIRe8ao5RPKASB4QyQMieUAkD4jkAZE8IJIHRN5j1yzuKI8aaJAHRPKASB4QyQMieUAkD4jkAZE8IDqVx2Y2OvxH88nyfE8LPoL2PJaT0Wyz+3AzGwmEnul+crWZjf60Ar3QPY/lxNGDnumax3IycOygbzrlsZy4MKePTuehDXqrPY/NbOSciv5qzWM5OXqHXaXQM141h0geEMkDInlAJA+I5AGRPCCSB0TygMh77JrFXbWkAz0nD4jkAZE8IJIHRPKASB4QyQMieUAkD4jkAZE8IJIHRPKASB4QyQMieUAkD4jkAZE8IJIHRPKASB4QyQMieUAkD4h+A0Dzjnfjf9ryAAAAAElFTkSuQmCC" alt="" />

知方可补不足~CSS中的几个伪元素的更多相关文章

  1. 知方可补不足~sqlserver中触发器的使用

    回到目录 触发器在过去的10年中,即存储过程和ado.net称霸江湖期间是那么的重要,而现在,trigger显得不是那么必要的,我们很少将复杂的业务写在SQL里,当然也会没有机会写到trigger里了 ...

  2. 知方可补不足~sqlserver中使用sp_who查看sql的进程

    回到目录 在SQLSERVER中每个会话,即每个查询分析器窗口都会产生一个SQL进程,对于那些持续时间短的进程,它们转瞬即失,而对于持续时间比较长的,我们需要希望查看它的运行状态,就可以借助SQL提供 ...

  3. 知方可补不足~SQL2008中的发布与订阅模式~续

    回到目录 上一回介绍了如何在sql2008中建立一个数据库的发布者,今天来说一下如何建立一个订阅者,其实订阅者也是一个数据库,而这个数据库是和发布者的数据结构相同的库,它们之间通过SQL代理进行数据上 ...

  4. 知方可补不足~SQL中的count命令的一些优化措施(百万以上数据明显)

    回到目录 SQL中对于求表记录总数的有count这个聚合命令,这个命令给我们感觉就是快,比一般的查询要快,但是,当你的数据表记录比较多时,如百万条,千万条时,对于count来说,就不是那么快了,我们需 ...

  5. 知方可补不足~Sqlserver中的几把锁和.net中的事务级别

    回到目录 当数据表被事务锁定后,我们再进行select查询时,需要为with(锁选项)来查询信息,如果不加,select将会被阻塞,直到锁被释放,下面介绍几种SQL的锁选项 SQL的几把锁 NOLOC ...

  6. 知方可补不足~Sqlserver中的几把锁和.net中的事务级别 回到目录

    当数据表被事务锁定后,我们再进行select查询时,需要为with(锁选项)来查询信息,如果不加,select将会被阻塞,直到锁被释放,下面介绍几种SQL的锁选项 SQL的几把锁 NOLOCK(不加锁 ...

  7. 知方可补不足~SQL2008中的发布与订阅模式

    回到目录 作用:完成数据库与数据库的数据同步 原理:源数据库发布需要同时的表,存储过程,或者函数:目标数据库去订阅它,当源发生变化时,目标数据库自己同步,注意,由于这个过程是SQL自动完成的,所以要求 ...

  8. CSS中容易混淆的伪元素类型和用法

    :first-of-type 匹配属于其父元素的第一个特定类型的子元素. 1.例子 <head> <meta charset="UTF-8"> <ti ...

  9. 知方可补不足~Sqlserver发布订阅与sql事务的关系

    回到目录 前几讲说了一下通过sqlserver的发布与订阅来实现数据的同步,再通过EF这个ORM架构最终实现架构系统的读写分离,而在使用发布与订阅来实现数据同步时,需要我们注意几点,那就是当操作被使用 ...

随机推荐

  1. WebMagic的设计参考了业界最优秀的爬虫Scrapy

    http://webmagic.io/docs/zh/posts/ch1-overview/thinking.html https://github.com/psvehla/liferay-sprin ...

  2. linux 远程自动登录脚本 (注test.exp)

    #! /usr/bin/expect set timeout 30spawn ssh -l root 192.168.239.148 expect "password:"send ...

  3. JavaScripts学习日记——DOM

    DOM Document Object Model 文档对象模型  整合js和html css.控制html文档行为.DOM就是把页面当中所有内容全部封装成对象.HTML文档中万物皆对象.1.对象的分 ...

  4. 3、第3课CSS块级、行内元素、绝对定位、相对定位、固定位置20150922

    1.块级元素 A:特点: A.1默认显示在父标签的左上角 A.2块级元素默认占满一行(占满整个文档流) B:常见的块级元素 P   h1--h6   ul  li    ol  li   div  h ...

  5. sql server代理中作业执行SSIS包失败

    RT,执行失败了,总是只提示一句“以xxxx用户身份执行失败”,很难找原因. 引用 http://bbs.csdn.net/topics/300059148 Sql2005如何用dtexec运行ssi ...

  6. ORA-04021

    编译或删除存储过程的时候,系统会卡住,一段时间后出现ora-04021错误. 1.可能被锁住查看v$locked select b.sid,b.serial#,b.machine,b.terminal ...

  7. iOS_SN_LLDB常用命令

    有一次因为封装一个控件,UI能正常显示就是不能点击,一点击就崩溃,而且异常断点也无法捕捉,把Xcode的僵尸对象打开,每次崩溃就打印一个地址,最后就必须根据地址寻找对象,可以使用frame varia ...

  8. 折叠UITableView分组实现方法

    做项目的时侯用到了折叠分组,最近就研究了一下,找了一些网上的项目,发现有一些缺点,研究了几天自己终于写出了一个.而且分组的数据源比较灵活,每组之间的状态没有什么影响. 实现的大体思路是每个分组用一个s ...

  9. SignalR2.0开发实例之——创建房间聊天

    SignalR作为一个强大的集线器,已经在hub里面集成了Gorups,也就是分组管理,使用方法如下: //作用:将连接ID加入某个组 //Context.ConnectionId 连接ID,每个页面 ...

  10. Playground

    题意 :求被两点分割的凸包面积的较小值    题意已经给出顺时针啦 就是求以某一个点 和其他所有相邻点组成三角形的面积,然后sum存和求两点的时候就求出那两点的之间所有三角形的和再减掉0点和那两点的面 ...