当前位置: 首页 > 面试题库 >

如何在具有background-size的div上缩放背景图像

龙俊英
2023-03-14
问题内容

我想让div元素延伸到33%的宽度,并在CSS中完成背景图片

background-image:url(); background-size:cover

如何在mouseover或mouseneter上对div中的背景图像进行动画处理,是否有可以执行此操作的插件?background
div必须使用background-size:cover,因为它是一个弹性页面。

我还没有小提琴,因为我不知道从哪里开始或如何开始


问题答案:

对于那些想要破解CSS过渡缩放以应用于背景尺寸的人的答案:

-否则,请阅读第二部分以了解达到这种效果的标准方法

<div class="wrap">
    <div></div>
    <p>hello</p>
</div>


html, body {
    height: 100%;
}

div.wrap {
    height: 33%;
    width: 33%;
    overflow: hidden;
    position: relative;
}

div.wrap > div {
    position: absolute;
    height: 100%;
    width: 100%;
    -moz-transition: all .5s;
    -webkit-transition: all .5s;
    transition: all .5s;
    -moz-transform: scale(1,1);
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
    background-image: url('http://pimg.tradeindia.com/00288122/b/0/Our-Valuable-Client-List-Click-on-Image-.jpg');
    -moz-background-size: cover;
    -webkit-background-size: cover;
    background-size: cover;
    z-index: -1;
}

div.wrap:hover > div {
    -moz-transform: scale(2,2);
    -webkit-transform: scale(2,2);
    transform: scale(2,2);    
}

演示 (使用background-size: cover;过渡/缩放元素)

至于你说的是转变的cover大小是必要的,所以我来了,我告诉你之前,我在这里有下嵌套子元素的伎俩position: relative;在那里我有子元素设置为元素position: absolute;background-image具有background- size设置为cover,然后hover父,我使用transform: scale(2,2);属性将元素放大。

另外,使用此解决方案时,至关重要的一点是,我们需要z-indexposition: absolute;元素的设置为低于要放入其中的元素,因此它的作用就像background

回答那些想要使用HTML和CSS的人

你不能动画显示background-size,如果它的价值是cover这样无论是你需要px或者%,或者你也可以使用一个img标签与transform:scale(2,2);属性。

演示2(从中心放大或缩小)

div {
    height: 200px;
    width: 200px;
    background: url('http://pimg.tradeindia.com/00288122/b/0/Our-Valuable-Client-List-Click-on-Image-.jpg');
    background-size: 100% 100%;
    -moz-transition: all .5s;
    -webkit-transition: all .5s;
    transition: all .5s;
}

div:hover {
    background-size: 150% 150%;
}

如果要坚持下去,background-size: cover;则必须将整个元素包装在具有固定尺寸的wrapper元素内,overflow: hidden;然后再缩放hover父元素的子元素。

正如您所评论的那样,对于img标记示例,可以使用transform: scale(2,2);将其父元素设置为overflow: hidden;

div {
    height:300px;
    width: 300px;
    overflow: hidden;
}

div img {
    -moz-transition: all .5s;
    -webkit-transition: all .5s;
    transition: all .5s;
    -moz-transform: scale(1,1);
    -webkit-transform: scale(1,1);
    transform: scale(1,1);
}

div:hover img {
    -moz-transform: scale(2,2);
    -webkit-transform: scale(2,2);
    transform: scale(2,2);
}


 类似资料:
  • 问题内容: 我有一个包含背景图像的数字列表。类似于以下内容: 这些图像中的每个图像都将其设置为,并设置为。 当每个图形都占据整个视口时,这可以正常工作,但是如果存在任何偏移,则背景图像将被裁剪。 。 我希望图像可以垂直或水平剪切,但不能同时剪切,并且要以图形本身的大小为中心。 我知道有JavaScript解决方案,但是有没有办法使用CSS做到这一点? 问题答案: 不幸的是,这只是固定位置在CSS中

  • 问题内容: 我正在尝试在属性不足的属性中混合使用和属性。基于W3C的文档 应以斜杠()分隔属性之后。 W3C示例: 等效于: 但这是行不通的!还不清楚如何在和分别具有和或具有相同的值时使用简写属性。尚不清楚slash()是如何发生的?在我的Chrome15中无法正常运行。 我试图简化的示例是此CSS代码: 一个更清洁的例子 这不起作用 这也行不通 问题答案: 您的jsfiddle使用代替 似乎是“

  • 问题内容: 是否可以将div中的背景图像居中放置?我已经尝试了几乎所有内容-但没有成功: 这可能吗? 问题答案:

  • 本文向大家介绍Android 背景图片的缩放实现,包括了Android 背景图片的缩放实现的使用技巧和注意事项,需要的朋友参考一下 Android 背景图片的缩放  ONE Goal ,ONE Passion ! 我们看到一些效果,控件中的背景图片会慢慢变大,但是控件不会随着图片的放大而变大.效果如下: 分析: 想让图片变大,而且控件本身大小不能改变,那么就要改变图片自身大小,而不能改变控件大小.

  • 问题内容: 如何在JPANEL上放置图像背景? 问题答案: 这是一个解释。

  • 问题内容: 我有一个正在编写的CSS页面,我需要在一个类中应用背景图像,然后使用另一个类将一个局部透明的背景图像放在已经存在的背景图像之上。这只是一个简单的字眼,所以让我做一个示范。 在此示例中,第一个div应该具有背景图像1,第二个div应该具有背景图像1,但是滤镜图像位于其顶部,然后第三个div应该是图像2,第四个应该是图像2并且上面具有相同的滤镜。 但是,在此示例中,.backgroundF