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

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

    推荐阅读
  • 梦见有人追求自己(梦见有人追求自己代表什么)

    梦见有人追求自己梦见被人追求,表示会患呼吸系统方面的疾病,伤风、扁桃体等等。单身的梦见被人追求,表示在感情方面先甜后比较苦,你和对方可能会因为钱的事情发生争吵。准备工作的梦见被人追求,表示你的财运不错,但是投资方面不是很好。病人梦见被人追求,表示要用柔和的态度应对所有事情,这样才是最好的。成年的梦见被追求,表示你的肾脏方面要多注意,腰部也要注意保护。还表示你会变得有魅力,有自信。

  • 焦虑症能靠自己调节自愈吗(焦虑症能够自愈吗)

    焦虑症是否可以自愈呢?新概念荣新奇教授表示,答案是不一定的,需要根据焦虑症的种类和严重程度来回答。焦虑症的种类非常多,还有很多个亚型,比如说恐高症、幽闭恐惧症、强迫症、焦虑障碍、广泛性焦虑障碍等等,每一种情况不同,差距比较大。焦虑症一般要求助于心理医生,进行专业的心理治疗;而需要服用药物的焦虑症患者,荣教授建议是在吃药的同时配合催眠疗法,这样方能更快地缓解和疗愈焦虑症状况。

  • mate10支持哪些快充协议(mate10pro快充协议)

    mate10支持华为SCP22.5W超级快充协议、华为FCP18W快充协议、PD18W快充协议。华为Mate10是由华为公司设计和销售的智能手机,于2017年10月16日在德国慕尼黑发布。华为技术有限公司是一家生产销售通信设备的民营通信科技公司,主要创始人任正非,成立于1987年,总部位于深圳。

  • 家庭怎样贮藏干果(如何保存干果)

    家庭怎样贮藏干果放在干燥的环境里。放在朝阳的房间里比较不错的。要用塑料袋或者安扣密封盒装再保存效果更好。如果不放心,可以在储存干果时放一些茶叶,茶叶能吸潮,以保证干果不会受潮。茶叶不宜放过多,根据干果数量放一些即可。如果在夏天,室内温度高,也可以用安扣密封盒密封后放冰箱冷藏,尽量减少与空气、水分的接触,坚果容易遭异味的渗透,应避免和有刺激性气味的食品存放在一起,如葱、蒜、香味浓烈的水果、海产品等。

  • 坟墓碑文显是什么意思(墓碑上的故先)

    今天是清明节,时间过得可真快,转眼之间又到了一年一度踏青,祭拜祖先的日子。于是,墓碑,以及其所相关的“墓碑文化”便产生了。C,有些地方会在一些贡献大的逝者碑文上刻上“显”字,以昭示逝者的德行昭著,功德无量。最后,因今年情况特殊,希望大家响应国家号召,听安排,不聚集,文明祭祖,合理扫墓。

  • 种西瓜的方法(种西瓜的方法和枝术介绍)

    浸泡完后最好将种子放在湿毛巾上,这时需要将室内温度控制在30度左右,这样可以加快种子发芽的速度。修剪枝条时下手要轻,以防弄伤植株上健康的枝条。要想西瓜长得好,种植时要定期将植株上徒长的枝条剪掉,期间还要及时浇水施肥。西瓜对肥料的要求不高,种植时可给植株施硝硫基或硫酸钾型控释肥,每次施肥前可以兑适量的水稀释肥料,这样不易发生肥害。

  • 洋葱炒肉怎么做(做洋葱炒肉的步骤)

    瘦肉切片,加料酒一小勺,酱油两小勺,胡椒粉,蒜末,少许淀粉腌制腌制时间稍长些,肉会更进味青椒切段,洋葱切丝,大蒜干辣椒切末,下面我们就来聊聊关于洋葱炒肉怎么做?洋葱炒肉怎么做瘦肉切片,加料酒一小勺,酱油两小勺,胡椒粉,蒜末,少许淀粉腌制腌制时间稍长些,肉会更进味。待肉颜色变后盛起,下蒜末,干辣椒炸香,再下青椒,炒至皱皮时加入洋葱丝,放盐,不断翻炒。

  • 汽车可以在外地年检吗(简单介绍一下)

    跟着小编一起来看一看吧!从2018年9月1日起,全面推行小型汽车、货车和中型客车跨省异地检验,申请人可以直接在机动车登记地以外省份直接检验车辆,申领检验合格标志,无需办理委托检验手续。如果外省市符合免检条件的车辆想在异地申领年检标的,需提交一份《异地年检委托书》,委托书的办理方法为携带车主身份证及行驶证前往车辆登记的车管所开具即可。

  • 怎么做莲藕糯米团子(莲藕糯米团子(的做法)

    接下来我们就一起去研究一下吧!怎么做莲藕糯米团子食材:莲藕,糯米做法:将糯米塞入莲藕空中用牙签将莲藕盖固定。锅中烧水加入红糖后下入糯米莲藕熬制。

  • 吴桐电视剧大结局(《恋恋不忘》大结局)

    吴桐电视剧大结局《恋恋不忘》结局概要:当厉仲谋历经千辛万苦找到吴桐后,却再传噩耗——吴桐腹中长有肿瘤,情况危险,但吴桐坚持不肯牺牲腹中孩子去保全自己。最终,吴桐伟大的母爱和坚持、厉仲谋的真诚和祈祷终于感动上天,这对历经磨难的有情人最终获得圆满。王子和灰姑娘终于幸福地生活在一起。同样令人欣慰的是,李建东、梁跃琪这对坎坷情侣,也最终收获了属于自己的幸福。