肥宅钓鱼网
当前位置: 首页 钓鱼百科

css样式作用顺序(CSS中before和after的用法)

时间:2023-08-21 作者: 小编 阅读量: 1 栏目名: 钓鱼百科

平常仅仅需要将这两个伪元素用于添加一些自定义字符时,只需使用伪类使用的单冒号写法,以保证浏览器的兼容性:p:before{}不过,在CSS3中为了区别伪元素和伪类为伪元素使用了双冒号,因此如果使用了display或者width等属性时使得显示脱离了原本元素后,建议按照标准双写。注意这些添加不会改变文档内容,不会出现在DOM中,不可复制,仅仅是在CSS渲染层加入。否则,其他的样式属性一概不会生效。

CSS 有两个说不上常用的伪类 :before 和 :after,偶尔会被人用来添加些自定义格式什么的,但是它们的功用不仅于此。

一 基本语法

在了解进阶的应用之前,先来了解一下语法规则。平常仅仅需要将这两个伪元素用于添加一些自定义字符时,只需使用伪类使用的单冒号写法,以保证浏览器的兼容性:

p:before {}

不过,在 CSS3 中为了区别伪元素和伪类为伪元素使用了双冒号,因此如果使用了 display 或者 width 等属性时使得显示脱离了原本元素后,建议按照标准双写。过于老的浏览器可能会存在支持问题,不过伪元素大多是配合 CSS3 使用,就无所谓向下兼容了:

img::after {}

这两个伪类下特有的属性 content ,用于在 CSS 渲染中向元素逻辑上的头部或尾部添加内容。注意这些添加不会改变文档内容,不会出现在 DOM 中,不可复制,仅仅是在 CSS 渲染层加入。比较有用的是以下几个值:

[String] – 使用引号包括一段字符串,将会向元素内容中添加字符串。示例:

a:after { content: "↗"; }

attr() – 调用当前元素的属性,可以方便的比如将图片的 Alt 提示文字或者链接的 Href 地址显示出来。示例:

a:after { content:"(" attr(href) ")"; }

url() / uri() – 用于引用媒体文件。示例:

h1:before { content: url(logo.png); }

counter() – 调用计数器,可以不使用列表元素实现序号功能。具体请参见 counter-increment 和 counter-reset 属性的用法。示例:

h2:before { counter-increment: chapter; content: "Chapter " counter(chapter) ". " }

二 进阶技巧

清除浮动是一个时常会遇到的问题,不少人的解决办法是添加一个空的 div 应用 clear:both; 属性。现在,无需增加没有意义的元素,仅需要以下样式即可在元素尾部自动清除浮动:

.clear-fix { *overflow: hidden; *zoom: 1; }

.clear-fix:after { display: table; content: ""; width: 0; clear: both; }

许多人喜欢给 blockquote 引用段添加巨大的引号作为背景,这种时候我们就可以用 :before 来代替 background 了,即可以给背景留下空间,还可以直接使用文字而非图片:

blockquote::before {

content: open-quote;

position: absolute;

z-index: -1;

color: #DDD;

font-size: 120px;

font-family: serif;

font-weight: bolder;

}

三 特效妙用

除了简单的添加字符,配合 CSS 强大的定位和特效特性,完全可以达到给简单的元素另外附加最多两个容器的效果。有一点需要注意的是,如果不需要内容仅配合样式属性做出效果,内容属性也不能为空,即 content:”” 。否则,其他的样式属性一概不会生效。

悬浮出现方括号

鼠标移上链接,出现方括号:

a {

position: relative;

display: inline-block;

outline: none;

text-decoration: none;

color: #000;

font-size: 32px;

padding: 5px 10px;

}

a:hover::before, a:hover::after { position: absolute; }

a:hover::before { content: "\5B"; left: -20px; }

a:hover::after { content: "\5D"; right: -20px; }

同样,我们只需要配合 display: block 和 position: absolute ,就可以将其当成两个容器,拼合成悬浮出现双边框的特效:

a {

position: relative;

display: inline-block;

outline: none;

text-decoration: none;

color: #000;

font-size: 32px;

padding: 0 10px;

}

/* 大框 */

a:hover::before, a:hover::after {

content: "";

display: block;

position: absolute;

top: -15%%;

left: -14%%;

width: 120%;

height: 120%;

border-style: solid;

border-width: 4px;

border-color: #DDD;

}

/* 小框 */

a:hover::after {

top: 0%;

left: 0%;

width: 100%;

height: 100%;

border-width: 2px;

}

用 :before 和 :after 伪类结合更多 CSS3 强大的特性,还可以完成非常多有意思的特效和 Hack ,这里权当抛砖引玉,诸位又能想出什么妙用呢?

文/丁向明

做一个有博客的web前端自媒体人,专注web前端开发,关注用户体验,加我qq/微信交流:6135833

http://dingxiangming.com

    推荐阅读
  • 七夕送几朵玫瑰花比较好(七夕节送花送多少朵)

    各种花的寓意及花语大汇总已备好,来了解一下吧,下面我们就来聊聊关于七夕送几朵玫瑰花比较好?七夕送几朵玫瑰花比较好七夕节是我国的传统节日之一,在七夕的时候,人们会给喜欢的人送上一份美好的祝福。只要在自己的经济能力范围内,挑选一个寓意很好的送花朵数就很好,没必要为了盲目的虚荣攀比,做出超出自己经济承受能力范围的事情。

  • 头发干枯怎么回事(四岁孩子头发干枯怎么回事)

    2、如果上述化验检查出现异常,需要积极的治疗原发疾病,头发症状也会逐渐缓解,如果上述结果没有异常,不要使用碱性过强的洗发水,容易刺激头皮使头发没有光泽。

  • 无孝之人的真实故事(余事勿取魏思孝)

    书中以一场杀人案为线索,串联起侯军,卫学金,卫华邦这三个生长在小镇上的人物。杀人案类似个引子,只是隐形的把这几个人物串联起来,尤其是侯军和卫华邦。作者没有把笔力用在三个人物关系上,主要根据侯军,卫华邦的特定几天的时间,详细回顾他们的一生。在于展现了鲁中这片土地上生命状态的众生相,这些人在这片土地上生,老,病,死,大部分人的命运不好,意外死亡,生意衰败后一蹶不振,一时的犯罪杀人等等。

  • 我想我不够温柔不能分担你忧愁(我想是我不够温柔)

    我们要学着长大,但是我们又不用承担社会上的压力。那时候的爱情卑微得让人心疼,那时候的爱情甚至已经不叫爱情了,是一个人毫无底线毫无原则地祈求另外一个人留下。爱情是相互的,没有必要让自己爱得那么卑微,也没有必要让自己的原则和底线被一次次的践踏。在爱情里一旦对方决定放手了的话,那即使挽回了人但是也挽回不了那个人的心。

  • 一年生花卉有哪些(一年生花卉介绍)

    一年生花卉有哪些一年生花卉是在一个生长季内完成生活史的植物。即从播种到开花、结实、枯死均在一个生长季内完成,一般春季播种,夏秋开花结实,遇霜后枯死。故一年生花卉又称春播花卉。如鸡冠花、雁来红、百日草、万寿菊、一串红、风仙花、千日红、孔雀草等。一年生花卉一般喜阳,个别热带品种喜半阴环境,如凤仙花。

  • 豌豆苗的家庭水培种植方法的做法(豌豆苗的家庭水培种植方法的做法介绍)

    豌豆苗的家庭水培种植方法的做法原料:豌豆一把。然后将用喷壶将纸打湿;将泡发好的豌豆撒在盘中。用一块棉质湿布盖上,放置到阴凉干燥的地方进行催芽;环境温度在20-23度之间最好;温度过低不容易出芽,过高容易长菌烂芽。豌豆芽发芽很快,这是第二天的情况;白色的根芽已经清晰可见了。第四天-第五天的时候,根芽已经长长,真正的豌豆苗出来即可。

  • 洛神花茶的危害(洛神花茶的危害十大排毒养颜花茶)

    不过洛神花茶也存在一定的危害,如果饮用不当也会有明显副作用出现。

  • 巾帼是指男人还是女人(巾帼是指女人吗)

    下面内容希望能帮助到你,我们来一起看看吧!巾帼是指男人还是女人巾帼指的是女人。巾帼不让须眉,巾帼指的是女性,而须眉指的是男性。在历史上,巾帼英雄指的是花木兰。巾帼其实是古代人们的一种发饰,在汉代,巾帼是女子的专用头饰,所以巾帼也就成为了女子的代名词。

  • 兰花今年还能养吗(养兰花容易被人忽悠)

    好在,花花在养兰的道路上也吃过很多亏,我们都是踩着“前辈”的惨痛教训总结出的养兰经验,发现不少养兰人在养兰这件事上都有着相同的误区。花花总结出了3个养兰的误区,都是很多花友误信了别人的话,被人忽悠而踩下的坑。长久下来,这些人在养兰人的圈子里培养了一种风气,就是普兰的品种上不了台面,会被人看不起,要养就养名贵品种。

  • 努力的句子(努力的句子举例)

    下面希望有你要的答案,我们一起来看看吧!努力的句子没有人会为了你的未来买单,你要么努力向上爬,要么烂在社会最底层的泥淖里,这就是生活。前行的路,不怕万人阻挡,只怕自己投降;人生的帆,不怕狂风巨浪,只怕自己没胆量!有路,就大胆去走;有梦,就大胆飞翔。你受的苦,吃的亏,担的责,扛的罪,忍的痛,到最后都会变成光,照亮你的路。