CSS content, counter-increment 和 counter-reset详解[译]
作者:神采飞扬 来源:前端观察 发布时间:2009-06-02 12:51:00
在IE7还不支持counter 和increment 属性之前,我从来没有用过它们,也从来没有使用过:before 伪元素和content 属性。然而IE8开始全部支持这些css特性,所以,我想是时候好好研究一下它们了。
<ol>的start属性和<li>的value属性在HTML 4.01标准中是不赞成使用的,而且也不被XHTML strict支持。value属性设置列表元素的值,让它后面的条目从该value值递增。然而,没有其它XHTML元素可以替代这些元素,不过CSS 2.1 提供了在任何元素上设置递增序列的方法,而不仅仅是在<li>元素上。本文主要关注以下CSS伪元素和属性:
content CSS 属性
:before 伪元素
:after 伪元素
counter-increment CSS 属性
counter-reset CSS 属性
属性通常配合:before
或:after
伪元素一起使用。的属性的值添加到你的文档的表现上面,但是没有(而且不会)被添加到DOM中。如果你开始阅读本教程,你需要了解这一点!你用Firebug之类的工具查看相关元素的时候,或者查看页面的源代码的时候,是不会看到的属性值的。我们在这里讨论:before、 :after 和content是因为,没有它们,counter基本上是派不上用场的:如果你不是在元素的前面(或者后面)显示某些内容,你为什么要用这个呢?
content属性概述
为了让本教程更容易理解,我们先来看一个在链接后面添加” – hrefValue” 的具体的例子:
<ul id="showlinkafterlink">
<li><a href="http://www.qianduan.net">前端观察</a></li>
<li><a href=http://www.aspxhome.com>asp之家</a></li>
<li><a href=http://www.cidianwang.com>词典网</a></li>
</ul>
例1: 没有任何CSS的时候上面的HTML代码的表现。
#showlinkafterlink a:after {
content:" - <" attr(href) ">";
}
例2: 如果你在使用一个兼容网页标准的浏览器(比如,非IE6 或IE7),在添加了以上样式以后,上面的HTML代码将会这样显示。
对于通过content 属性渲染内容,需要注意的一些事情是:
产生的内容不会改变文档树。内容只是被渲染,它不会出现在DOM树中,只是影响页面的演示,不会影响代码。
要控制生成的内容的表现,你可以使用其它的CSS属性。在:after里面声明的所有属性都会对产生的内容起作用。
也许你需要知道,在一个元素的每一边,你只能添加一次伪元素。
element:before:before
这种写法无效。
#showlinkafterlink a:after {
content:" - <" attr(href) ">";
color: #ff0000; font-style: italic;
}
例3: 这里我们为生成的内容定义了字体颜色和样式。
因为生成的内容没有被添加到DOM,可以认为它就是一个添加的span,样式继承自其父级元素。content 不能包含任何HTML,只能包含ASCII,也不能使用ISO 字符集。content要与:before 和:after 伪元素一起使用来在一个文档内生产内容。


猜你喜欢
- 本文实例讲述了Python将阿拉伯数字转换为罗马数字的方法。分享给大家供大家参考。具体实现方法如下:def numToRomanNum(Nu
- 近期因工作需要,需对几十万条商品和订单数据进行初步的数据分析,本来尝试过用Excel,但是数据量一旦超过10万条,Excel和电脑的性能瓶颈
- 本文实例为大家分享了python判断设备是否联网的具体代码,供大家参考,具体内容如下直接上代码,就是用判断socket能不连上的方法来判断。
- 字符串去除数字间的逗号在西文数字的表示中,很多格式是类似这样:123,456,789。如果得到这样的一个字符串,直接用int转换成整型肯定报
- 用FrontPage做网页的朋友们,你的主要页面中,可能都带有许多相同的元素吧?如页头横向排列(或左侧纵向排列)的主要链接按钮、页底的板权说
- 这篇文章主要介绍了Python argparse模块应用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- 本文实例讲述了Python实现的栈、队列、文件目录遍历操作。分享给大家供大家参考,具体如下:一、 栈与队列1、 栈 stack特点:先进先出
- 问题:希望仅仅允许某个指定IP的计算机连接到SQL Server服务器,但不允许其他的客户端进行连接。解决方法如下:你可以直接在防火墙中做限
- Python3.7引入了dataclass。dataclass装饰器可以声明Python类为数据类;数据类适合用来存储数据,一般而言它具有如
- 前端Vue 8080端口,后端Node.js 8085端口 主要记录下前后端不同端口遇到的问题1、写服务器端程序,我的在(node_prox
- 这样写 <select id="search"> <option>baidu</optio
- 原理1.使用python中的mtplotlib库。2.立体爱心面公式点画法(实心)代码import matplotlib.pyplot as
- 本文为大家分享一个简单商城购物车的python代码,供大家参考,具体内容如下要求:1、写一段商城程购物车序的代码2、用列表把商城的商品清单存
- #创建触发器,当往order表中添加记录是,更新goods表 delimiter $ CREATE TRIGGER trigger1 AFT
- 背景一个函数运行需要根据不同项目的配置,动态导入对应的配置文件运行。解决文件结构a #文件夹 │a.py │__init__.pyb #文件
- 有时候想为我们的网页提供多语言支持,如果一种语言用一张网页来做实在太麻烦了,幸好Google提供了语言工具功能,下面介绍如何利用它来实现网页
- 今天我们用python和python的工具包pygame来编写一个贪吃蛇的小游戏贪吃蛇游戏功能介绍贪吃蛇的游戏规则如下:通过上下左右键或者W
- 打过了趟深圳回来后,已经快半个月,在广州购书中心逛了下,发现2本前端书《重构HTML-改善WEB应用的设计》、《CSS3 实战》,看了一半《
- IIS上设置301 跳转相信大家都会,只要在网站-属性-主目录里 选择重定向URL就行了,这样整站就跳转到目标站点了,但是有个问
- function commafyback(num) { var x = num.split(','); return par