before伪类插入图片

需求:css

图片放在div里,原来这种需求最早想到的就是定位,可是若是还有其余定位元素的时候,就很容易相互影响,因此这里尝试一下before伪类来实现html

<div class="box">
    <!--<img class="prizeBg doorImg1" src="doorImg1.png"/>-->
</div>

  

样式:url

    .box{
            width:300px;
            height:44px;
            border:1px solid #000;
            position:relative;
        }
        .box:before{
            content:"";
            background:url("doorImg2.png") no-repeat;
            background-size: 19px 24px;
            width:19px;
            height:24px;
            position:absolute;
            left:20px;
            top:25%;
        }

  效果就出来了,这样的话,移动div的位置img也会跟着移动, 不用再单独调整img的定位值spa

这里须要注意的点就是htm

由于直接用content不能控制图片大小,因此把图片变成背景图片,而后用background-size就能控制图片大小了。这里width:30px;height:30px;也是必要的,否则图片也是不能显示出来,由于content为空就至关于没有宽度,背景图片是不能被渲染出来的。display:inline-block能够换成block,不过效果的话图片就会跑到下一行,但不能没有这个display样式。(我这里没有写也没有发现有什么问题)还有background-size不要不写,若是不明确background-size,但又保留了width和height,那图片只能显示其中的一部分blog

相关文章
相关标签/搜索