类似这样子的命名:
复制代码代码如下:
.example:before, .example before {}
.example:after, .example after {}
一个有冒号,一个是空格分隔。前者IE8+及其他现代浏览器;后者为IE6-7准备的。
2.HTML部分
如果before/after伪类元素含有content内容(不是空字符),则content内容在HTML标签上呈现(方便IE6/7下获取),例如:
复制代码代码如下:
<div class="example" data-content=""></div>
CSS部分的content属性值应该如下:
复制代码代码如下:
.example:before, .example before { content: attr(data-content)... }
.example:after, .example after { content: attr(data-content)... }
3.JS部分
JS是为IE6/7准备的,所做的事情很简单,网元素内部插入两个元素,标签名为”before“或”after“或同时。方法代码如下:
复制代码代码如下:
var $beforeAfter = function(dom) {
if (document.querySelector || !dom &&dom.nodeType !== 1) return
var content = dom.getAttribute("data-content") || ''
var before = document.createElement("before") //可以根据需要把after或before删除一个
, after = document.createElement("after")//默认会把两个都加上
// 内部content
before.innerHTML = content
after.innerHTML = content
// 前后分别插入节点
dom.insertBefore(before, dom.firstChild)
dom.appendChild(after)
}
4.调用
$beforeAfter(document.getElementById("tip"))//tip是需要的id名
.logo::after{content:'test'
color:red
}
after无效,不知是scss的问题还是nuxt框架的问题
以下的CSS代码中AFTER怎么理解?那段代码是用来清除浮动的。
以下代码可以这么解释:
.clearfix:after { ----在类名为“clearfix”的元素内最后面加入内容;
content: "."----内容为“.”就是一个英文的句号而已。也可以不写。
display: block ----加入的这个元素转换为块级元素。
clear: both----清除左右两边浮动。
visibility: hidden ----可见度设为隐藏。注意它和display:none是有区别的。visibility:hidden仍然占据空间,只是看不到而已;
line-height: 0 ----行高为0;
height: 0----高度为0;
font-size:0 ----字体大小为0;
}
.clearfix { *zoom:1} ----这是针对于IE6的,因为IE6不支持:after伪类,这个神奇的zoom:1让IE6的元素可以清除浮动来包裹内部元素。具体意思的话,不用深究,听说微软的工程师自己都无法解释清楚。height:1%效果也是一样。
整段代码就相当于在浮动元素后面跟了个宽高为0的空div,然后设定它clear:both来达到清除浮动的效果。
之所以用它,是因为,你不必在html文件中写入大量无意义的空标签,又能清除浮动。
话说回来,你这段代码真是个累赘啊,这样写不利于维护。
只要写一个.clearfix就行了,然后在需要清浮动的元素中 添加clearfix类名就好了。
如:
div class="head clearfix">/div>
解说完毕,希望对你有帮助。
一年好运随春到 四季彩云滚滚来 万事如意