CSS2-3常见的demo列子总结二

分针网每日分享:CSS2-3常见的demo列子总结二

1. 学习使用 :before和 :after伪元素

伪元素 顾名思义 就是创建了一个虚假元素,并插入到目标元素之前或者之后。这两个伪类下特有的属性content,用于在css渲染中头部和尾部添加内容,伪元素必须与content结合来使用,否则毫无意义,但是添加的内容不会改变文档的内容,不会出现在DOM结构中,仅仅是对用户是可见的,但是对DOM结构是不可见的。比如如下代码:

<div class="example">example</div>

CSS代码如下:

.example:before{

content:"#";

}

.example:after{

content: "@";

}

在页面上被渲染成如下内容:

#[email protected]

二:指定个别元素不进行插入

针对这个问题,content还有一个属性none,含义是不需要为该元素有任何内容;比如如下代码:

<div class="example">example</div>

<div class="example sample">example</div>

<div class="example">example</div>

首先我对所有example类名前面添加#号,后面添加@符合,然后我对包含sample类名的前面和后面不添加任何符合代码如下:

.example:before{

content:"#";

}

.example:after{

content: "@";

}

.sample:before{

content: none

}

.sample:after{

content: none

}

三:插入图像文件

我们不仅可以使用before或者after选择器的在前面或者后面插入文字外,我们还可以插入图像文件,插入图像文件时,需要使用url属性值来指定图像的路径,比如如下代码:

<div class="example">example</div>

<div class="example sample">example</div>

<div class="example">example</div>

CSS代码如下:

.example:before{content:url("https://img.alicdn.com/tps/TB1sb2HJVXXXXXAXpXXXXXXXXXX-120-55.png_120x120.jpg");}

.example:after{

content: "@";

}

效果如下:

可以看到,在前面插入了一个图片。

浏览器支持程度:firefox,chrome,safari,opera,IE8+等浏览器。

2. 使用content属性来插入项目编号

<元素>: before {content:counter(计算器名)}

并且需要在元素的样式中追加对元素的counter-increment属性的指定。

注意:计数器名可以任意写,但是counter-increment指定的名字要相同。

如下代码:

<h1>我想解决单身问题</h1>

<p>可惜我不帅...没有女孩喜欢我....</p>

<h1>我想解决单身问题</h1>

<p>可惜我不帅...没有女孩喜欢我....</p>

<h1>我想解决单身问题</h1>

<p>可惜我不帅...没有女孩喜欢我....</p>

Css代码如下:

h1:before{content:counter(mycounter)".";}

h1{counter-increment:mycounter;}

效果如下:

浏览器支持程度:ie8+,chorme,firefox等;

3. 在项目编号中追加文字;

HTML代码还是如上

css代码如下:

h1:before{content:"第"counter(mycounter)"章"".";}

h1{counter-increment:mycounter;}

效果如下:

我们还可以指定编号的样式,我想让颜色变为红色,字体大小为18px,如下代码:

h1:before{content:"第"counter(mycounter)"章"".";color:red;font-size:18px;}

h1{counter-increment:mycounter;}

效果如下:

指定编号种类

使用before选择器或者after选择器中的content属性,我们不仅可以追加数字编号,我们还可以追加字母编号或者罗马数字编号,如下方法指定:

content: counter(计算器名,编号种类)

比如指定大写字母编号时,使用”upper-alpha”属性,指定大写罗马字母时,使用”upper-roman”属性。

如下css代码:

h1:before{content:counter(mycounter,upper-alpha);color:red;font-size:36px;}

h1{counter-increment:mycounter;}

p:before{content:counter(longen,upper-roman);color:blue;font-size:36px;}

p{counter-increment:longen;}

效果如下:

编号嵌套:

可以在大编号中嵌套中编号,可以在中编号中嵌套小编号。如下代码:

<h1>我想解决单身问题</h1>

<h2>可惜我不帅...没有女孩喜欢我....</h2>

<h2>我想解决单身问题</h2>

<h1>可惜我不帅...没有女孩喜欢我....</h1>

<h2>我想解决单身问题</h2>

<h2>可惜我不帅...没有女孩喜欢我....</h2>

Css代码如下:

h1:before{content:counter(mycounter)".";}

h1{counter-increment:mycounter;}

h2:before{content:counter(longen);}

h2{counter-increment:longen;margin-left:40px;}

效果如下:

在上面代码中,6个中标题的编号是连续的,如果要将第二个大标题里中标题重新开始编号的话,需要在大标题中使用counter-reset属性将中编号进行重置。如下代码:

h1:before{content:counter(mycounter)".";}

h1{counter-increment:mycounter;counter-reset:longen;}

h2:before{content:counter(longen);}

h2{counter-increment:longen;margin-left:40px;}

如下效果:

我们再来看一个复杂一点的多层嵌入的demo,如下:

<h1>大标题</h1>

<h2>中标题</h2>

<h3>小标题</h3>

<h3>小标题</h3>

<h2>中标题</h2>

<h3>小标题</h3>

<h3>小标题</h3>

<h1>大标题</h1>

<h2>中标题</h2>

<h3>小标题</h3>

<h3>小标题</h3>

<h2>中标题</h2>

<h3>小标题</h3>

<h3>小标题</h3>

CSS代码如下:

h1:before{content:counter(mycounter)".";}

h1{counter-increment:mycounter;counter-reset:subcounter;}

h2:before{content:counter(mycounter) ‘-‘ counter(subcounter)‘.‘;}

h2{counter-increment:subcounter;counter-reset:subsubcounter;margin-left:40px;color:red;}

h3:before{content:counter(mycounter) ‘-‘ counter(subcounter) ‘-‘ counter(subsubcounter) ‘.‘;}

h3{counter-increment:subsubcounter;margin-left:40px;color:blue;}

效果如下:

在字符串两边添加嵌套文字符号

可以使用content属性的open-quote属性值与close-quote属性值在字符串两边添加如:括号,单引号,双引号之类的嵌套文字符号,open-quote属性值用于添加开始的嵌套文字符号,close-quote属性值用于添加结尾的嵌套文字符号。

<h1>括号</h1>

<h2>双引号</h2>

<h3>单引号</h3>

Css代码:

h1:before{content:open-quote;}

h1:after{content:close-quote;}

h1{quotes:"(" ")"}

h2:before{content:open-quote;}

h2:after{content:close-quote;}

h2{quotes:"\"" "\""}

h3:before{content:open-quote;}

h3:after{content:close-quote;}

h3{quotes:‘\‘‘ ‘\‘‘}

截图如下:

其中双引号和单引号需要使用转义字符 “\”进行转义。

本文转自:http://www.f-z.cn/id/290

时间: 2024-10-10 01:55:55

CSS2-3常见的demo列子总结二的相关文章

CSS2-3常见的demo列子总结一

分针网每日分享:CSS2-3常见的demo列子总结一 1. css超过一行或者多行后显示省略号. Css实现超过一行后显示省略号:代码如下: <p style="width:200px;white-space: nowrap;text-overflow:ellipsis;overflow:hidden;"> 我武汉东方店hi肉肉肉团阿斯达萨顶顶发感染他人山东省地方反而 </p> 效果如下: 我们下面来理解 text-overflow 和 white-space

CSS2-3常见的demo列子总结

阅读目录 1. css超过一行或者多行后显示省略号. 2. css图片未知高度垂直居中完美解决方案. 3. 学习使用 :before和 :after伪元素 回到顶部 1. css超过一行或者多行后显示省略号. Css实现超过一行后显示省略号:代码如下: <p style="width:200px;white-space: nowrap;text-overflow:ellipsis;overflow:hidden;">我武汉东方店hi肉肉肉团阿斯达萨顶顶发感染他人山东省地方反

OSGI实例demo说明(二)

下面我们就来真正的写一个实例demo,结合OSGI的优点来说明一下,该demo设计如下图: 这个demo包含五个Bundles: SayHello Bundle 包含一个接口,只有唯一的方法sayHello(): BobSays.RodSays.KentSays三个Bundles分别实现了三个具体的sayHello(): SayHelloServiceBundle提供了说hello的机会,是具体的一个服务应用,在功能上有点类似于main函数的味道. 这个HelloWorlddemo 的目的不但可

微信小程序demo解读(二)

小程序最外层有三个文件,上次我们介绍了全局样式app.wxss,接着我们来说另外两个文件. 我们来看看脚本文件App.js.为了方便解读我已经加上了注释. //app.js App({ /*启动函数 * */ onLaunch: function () { var logs = wx.getStorageSync('logs') || []; //调用API从本地缓存中获取数据 logs.unshift(Date.now()); wx.setStorageSync('logs', logs);

Java web中常见编码乱码问题(二)

根据上篇记录Java web中常见编码乱码问题(一), 接着记录乱码案例: 案例分析:   2.输出流写入内容或者输入流读取内容时乱码(内容中有中文) 原因分析: a. 如果是按字节写入或读取时乱码,应该先检测系统编码是什么样的,看看是否支持中文编码的字符集. System.out.println(System.getProperty("file.encoding")); a1.如果是不支持中文的就要设置jvm编码了,设置方法: Windows环境就在catalina.bat配置: s

数据结构中常见的树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B-树、B+树、B*树)

树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right): 2.所有结点存储一个关键字: 非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树: 如: BST树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中: 如果BST树的所有非叶子结点的左右子树的结点数目均保持差不多(平衡),那么B树 的搜索性能逼近二分查找:但它比连续内存空间的二分查找的优点是,改变BST树结构 插入与删除结点)不需要移动大段的内存数据,甚至通常是常数开销: 如:

常见的排序算法(二) 交换排序(冒泡排序,快速排序)

今天,给大家带来的是交换排序. 首先,我们来了解一下什么叫交换排序.所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动.   那么接下来,我们来看一下.冒泡排序. 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排

Python中常见的数据类型总结(二)

2. tuple (1)创建 与list所不同的是,tuple一般采用()括起来,命令行中测试,如下: T= 1,2,3 >>> T (1, 2, 3)>>> T = (1,2,3)>>> T (1, 2, 3)>>> T = "abc">>> T'abc' 创建空元组:T = () 定义一个元素的元组: >>> T = (1)>>> T1 这样运行了结果是对的

常见算法之排序算法二【插入排序】

什么是插入排序!简单的介绍一下它的思想(假设为升序):在已经排好序的数组内,插入新的元素,从后往前找,当找到某个比它小的数,则停止,并将它插入这个与上一个数之间.先给大家看个图: 具体算法描述如下: 1.从第一个元素开始,因为只有一个元素,所以它有序. 2.拿它后面的一个元素和它进行比较. 3.它后面的元素比它大,把他往后移,并把它后面的元素赋给它原来的位置. 4.重复3的动作,直到找到比它小或者相等的元素,将该元素插入到比它小的元素后面 5.重复2~5的操作 我们先来看看代码: <span s