请问各位大神,在IE下,有办法解决css :after选择器不兼容的问题吗???急求啊。。

html-css013

请问各位大神,在IE下,有办法解决css :after选择器不兼容的问题吗???急求啊。。,第1张

1.CSS部分

类似这样子的命名:

复制代码代码如下:

.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>

解说完毕,希望对你有帮助。

一年好运随春到 四季彩云滚滚来 万事如意