搞不懂,加了绝对定位,效果就不能实现了

搞不懂,加了绝对定位,效果就不能实现了

<!DOCTYPE html>

<html>

    <head>

        <meta charset="UTF-8">

        <title>background-origin</title>

<style type="text/css">

*{

margin: 0;

padding: 0;

border: none;

}

div{

width: 200px;

height: 100px;

border: 8px  solid transparent;

background-image: url(http://img1.sycdn.imooc.com/climg//582c342b0001fd6507000210.jpg);

}

div:hover{

background: url(http://img1.sycdn.imooc.com/climg//582c34220001091605000150.jpg) no-repeat 10px 10px;

background-origin: content-box;

}

span.div_padding{

position: absolute;

top: 0;

left: 0;

width: 200px;

height: 100px;

border: 8px solid red;

}

</style>

    </head>

    <body>

<div></div>

<span class="div_padding"></span>


    </body>

</html>


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,关于你的问题,回答如下:

1、rgb(0,0,255,0.4)这个是没有效果的,rgb只是颜色,不包括透明度(第四个参数是透明度),rgba才是四个参数。

2、如下,background-clip: border-box;的时候,图片时从边框开始的。

http://img1.sycdn.imooc.com//climg/5e774d43091ae91403140165.jpg

background-clip: padding-box;的时候,效果是从内容开始的,不在边框的部分,

http://img1.sycdn.imooc.com//climg/5e774d5e09beccbe02400128.jpg

祝学习愉快~

好帮手慕糖 2020-03-22 11:58:31

同学你好,因为span这个元素,覆盖到图片上了,鼠标移入的时候,移入的是span,不是div上,无法触发div:hover所以不能实现。

建议:这里不需要span元素,直接一个div即可,例:

http://img1.sycdn.imooc.com//climg/5e76e19e09b6fc9004650550.jpg

http://img1.sycdn.imooc.com//climg/5e76e1a709fb3a7a04570087.jpg

代码中其他可以优化的地方:

1、边框颜色需要设置透明度;建议:可以使用rgba。例:

http://img1.sycdn.imooc.com//climg/5e76e1ef093a324d04360203.jpg

2、当打开页面时,背景图片区域绘制到内边距框,建议:可以使用background-clip属性,例:

http://img1.sycdn.imooc.com//climg/5e76e22409caa47704380211.jpg

3、hover的时候背景图片显示范围从边框开始,建议:可以设置background-clip属性,例:

http://img1.sycdn.imooc.com//climg/5e76e25f098868c304030165.jpg

如果我的回答帮助了你,欢迎采纳,祝学习愉快~

  • 提问者 只恨未尽心 #1
    问题一 rgb(0,0,255,0.4) rgba(0,0,255,0.4)感觉没什么区别 问题二 background-clip: padding-box; background-clip: border-box; 感觉这两条加不加效果都一样啊
    2020-03-22 16:56:34
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师