问题见代码

问题见代码

<!DOCTYPE html>

<html lang="en">

<head>

   <meta charset="UTF-8">

   <meta name="viewport" content="width=device-width, initial-scale=1.0">

   <meta http-equiv="X-UA-Compatible" content="ie=edge">

   <title>Document</title>

   <style>

   div{

       width: 800px;

       height: 400px;

       background: url("img/bg1.jpg") center center;

   }

   </style>

</head>

<body>

   <div></div>

</body>

</html>

问题:讲解中的图片比DIV小,挺好理解的,position的位置就是图片相对于盒子的位置。。但是如果图片比定义的DIV小呢,假设我这边插入的图片bg1.jpg的大小是宽2000,高600。那这边的位置偏移center,center感觉要变成盒子相对图片的位置,是这么理解的吗?

正在回答

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

2回答

你好同学,设置50% 50%与center center的情况是一样的,意思就是通过定位,让背景图的中心位置显示在盒子里面。那么既然规定的是让图片中心显示在盒子中间,肯定是让图片往左上角移动才能实现的,所以同学这里就不要按照px去理解了。

或者可以理解为和设置px移动方向是相反的,即50px 50px是让图片往左下角移动。而50% 50%或者center center是让图片往左上角移动,直到图片中心显示在盒子中。

祝学习愉快,望采纳。

好帮手慕夭夭 2019-08-07 14:16:43

你好同学,如下横线的地方是不是应该是如果图片比div大吧。

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

不管是图片比div大还是比div小,设置背景图定位,都是参照div进行移动的。

例如如下图片,里面包含了两个小图标,(后面阶段也会接触到这样一个图片有很多小图标的)

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

例如一个盒子引入这个背景图

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

因为背景图有两个图标,但是盒子设置的高度比图片小,只能显示出来一个。不设置背景定位的时候,默认从盒子的左上角开始显示:

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

使用背景定位去移动图片,在设置正值的情况下,例如0 10px,就是参照盒子左上角,往左移动0px ,往下移动10px:

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

此时第一个图标也只能显示一半了:

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

例如设置负值,那么就是参照盒子左上角往上移动,此时第二个图标就显示出来了。

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

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

例如设置center center,就可以理解为图片参照盒子左上角往上移,让图片的中心位置显示在盒子中。

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

祝学习愉快,望采纳。

  • 提问者 慕雪2331507 #1
    就是这边center,center不太理解,正常center,center。。我可以理解成图片相对盒子,向左偏移50%,向下偏移50%。那正常理解左上方那一片应该是空白的才对?为啥会变成显示图片中间部分。。就下
    2019-08-07 15:39:08
  • 提问者 慕雪2331507 #2
    就是你知道,假设图片很大很宽,我设置偏移位置5px,5px; 或者 50px,50px或者其他数值,都是向左偏移,向下偏移的,左上方都是空白的。为啥改成50%,50%。就不是一个道理了?
    2019-08-07 15:45:31
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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