怎样让一张图片随着div大小的变化而变化?

 我来答
刺友互
高粉答主

2019-09-30 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:69.8万
展开全部

1、新建一个html页面,并在页面中写上一个div。并为div添加背景图片,为背景图片添加一些基本的样式。

2、按下键盘上的F12,查看其在浏览器中的效果。

3、利用css中的伪元素::after或者::before。

4、利用伪元素是将指定标签的前面或者后面的内容设为空,并设成块元素,并设定以百分比为单位的padding-bottom或者padding-top。以此撑开这个div。

5、在有背景图片的div的内部再套一个div,然后为这个内部的div添加相应的样式,使得外层div可以被撑起来。

6、为这个内部div设定内部边距上或者下都可以。同样是以百分比作为单位。这样再次在浏览器中查看,就可以看到作为背景的图片了。

幻想武士
推荐于2017-09-23 · TA获得超过1074个赞
知道小有建树答主
回答量:639
采纳率:90%
帮助的人:398万
展开全部

这个是可以的。只要设置对应图片的width和htight的具体数值就可以了。举例一个:

img{
 width:auto;
 height:auto;
 max-width:100%;
 max-height:100%;
}

这样设置图片的话,可以使图片在指定的空间内缩放。4行的意思是:

width:auto;图片的宽度自己适应(图片有多宽就显示多宽)

height:auto;图片的高度自己适应(图片有多高就显示多高)

width:auto;和height:auto;一起使用就代表着显示图片的原始尺寸(可以理解为没有什么作用)

max-width:100%;图片的宽度不能超过图片所在的空间的宽度

max-height:100%;图片的高度不能超过图片所在的空间的高度

max-width:100%;max-height:100%;一起使用就代表这图片的宽高尺寸最大不能超过它所在的空间的宽高。

这2个中,优先对max-width进行缩放,当图片在max-width缩放后的尺寸仍然超出容器大小时。max-height就发挥了作用:对图片再次进行缩放!举例:

<div style="width:50px;height:40px">
  <img src="a.jpg">
  <!--这里我们假如图片的实际尺寸是320X320-->
</div>

根据上面4个css可以知道:

图片被缩放后在div的尺寸是:

width:50px;(因为图片的width:100%)

height:50px(这里height是有width:100%被缩放后的尺寸。)

我们可以发现这个50px的高度仍然超出了div的40px的高度,不符合max-height

这个时候,max-height:100%;就会发挥作用,

在max-height:100%;的作用下,图片被缩放后在div的尺寸是:

width:40px;

height:40px;

这个尺寸符合max-height和max-width

所以,当div在不断变化时,图片在div中也会跟着布断发生变化,

这里不介意给图片设置width:100%;height:100%;会造成图片变形

完整例子:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
img{
width: auto;
height:auto;
max-height: 100%;
max-width: 100%;
}
</style>
</head>
<body>
<div id="div" style="width: 50px;height: 50px;">
<img src="../5100036_080649087294_2.jpg" />
</div>
<script>
window.onload=function(){
setInterval(function(){move();},1000);
}

function move(){
var _width=document.getElementById('div').style.width.replace('px','');
if(parseInt(_width)>400){
document.getElementById('div').style.width=parseInt(_width)-5+'px';
document.getElementById('div').style.height=parseInt(_width)-5+'px';
}else{
document.getElementById('div').style.width=parseInt(_width)+5+'px';
document.getElementById('div').style.height=parseInt(_width)+5+'px';
}
}
</script>
</body>
</html>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吃心不改Pro
2013-11-22 · 狂吃不胖的瘦猴~
吃心不改Pro
采纳数:1482 获赞数:10786

向TA提问 私信TA
展开全部
<style type="text/css">
*{margin:0;padding:0;border:none;}
.div1{width:100px;height:100px;}
</style>
<div class="div1">
<img src="http://news.baidu.com/z/resource/r/image/2013-11-22/8f375dc15dcd832f16ec4e182aac50ed.jpg" width="100%" height="100%" />
</div>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pumilk
2013-11-22 · TA获得超过199个赞
知道答主
回答量:93
采纳率:0%
帮助的人:59.4万
展开全部
图片宽度和高度都设定为100%
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cs903016
2013-11-22 · TA获得超过1179个赞
知道小有建树答主
回答量:2599
采纳率:80%
帮助的人:1710万
展开全部
获取div的大小付给图片不就可以了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式