-->

你可以申请一个宽度为:前/:after伪元素(内容:URL(图片))?你可以申请一个宽度为:前/:a

2019-05-12 06:44发布

这是除了我最近的问题: 是否可以使用伪元素,使包含体周围绝对定位的元素(如clearfix)包装?

的jsfiddle: http://jsfiddle.net/derekmx271/T7A7M/

我试图使用伪元素“clearfix”绝对定位的图像。 只要获得相同的图像显示的幻灯片后面我已经得到了,但似乎无法宽度适用于插入的图像。 我疯了,或者你能不能申请宽度以伪,其内容为内容元素:URL(IMG / image.jpg的)? 我尝试显示的不同变体:块等无济于事...

#slider ul:after {
  content: url(http://www.cs7tutorials.com/img/slide1.jpg);
  display: block;
  position:relative;
  width:70px;
}

我需要伪元素图像100%,最大宽度的宽度设置为800像素,使之具有相同的尺寸,我的幻灯片。

Answer 1:

你不是疯了:这的确是不可能改变使用插入图像的尺寸content 。 图像总是呈现为是。 这就是所谓的更换内容,或替换元素 (除了我们现在谈论的不是这里的元素)。

然而,由于替换元素可以使用调整widthheight ,如描述的CSS2.1规范第10条 ,这引起了为什么似乎属性不适用于此问题。 这个问题的答案,这似乎是在性能确实适用,但对伪元素箱代替-你可以给你的伪元素的背景颜色看到这一点。 而不是替换伪元素框本身,图像被呈现为伪元素框的子级 ,因此不能在所有的设置样式(因为它需要不存在另一伪元素)。

这适合于另一个问题:为什么没有完全取代伪元素盒子? 不幸的是,CSS2.1完全不指定此行为,所以这是商定的实现是呈现内容为伪元素框,而不是一个孩子 :

CSS2.1并不真正清楚::前后定义对“内容”的::处理模型,但是在CSS 2.1翔实的例子,事实上,“内容”规定的事情的清单 ,以及一致性的愿望导致UA的行为是下面的:“内容”属性框中指定后前或::的东西,成为::儿童名单。

-Boris

希望这将在CSS生成内容3级进一步解决,其上重写工作才刚刚开始。

在此期间,如果你想成为能够调整:after伪元素和系统产生的图像,你需要将其应用作为背景图像,而不是和-假设浏览器支持是不是一个问题-使用background-size沿widthheight ,以它的规模(基于这些属性应用到伪元件盒,而不是理解)。



Answer 2:

使用看一看演示background-image : http://jsfiddle.net/T7A7M/12/



文章来源: Can you apply a width to a :before/:after pseudo-element (content:url(image))?