需求:
圖片放在div里,原來這種需求最先想到的就是定位,但是如果還有其他定位元素的時候,就很容易相互影響,所以這里嘗試一下before偽類來實現
<div class="box">
<!--<img class="prizeBg doorImg1" src="doorImg1.png"/>-->
</div>
樣式:
.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的定位值
這里需要注意的點就是
因為直接用content不能控制圖片大小,所以把圖片變成背景圖片,然后用background-size就能控制圖片大小了。這里width:30px;height:30px;也是必要的,不然圖片也是不能顯示出來,因為content為空就相當於沒有寬度,背景圖片是不能被渲染出來的。display:inline-block可以換成block,不過效果的話圖片就會跑到下一行,但不能沒有這個display樣式。(我這里沒有寫也沒有發現有什么問題)還有background-size不要不寫,如果不明確background-size,但又保留了width和height,那圖片只能顯示其中的一部分
