RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 781120
Accepted
Meetromb
Meetromb
Asked:2020-02-06 22:14:48 +0000 UTC2020-02-06 22:14:48 +0000 UTC 2020-02-06 22:14:48 +0000 UTC

相对于背景定位块

  • 772

有一个不平凡的任务。

html, body, .bg-cover {
  height: 100%;
  margin: 0;
}

.bg-cover {
  background-image: url(//i.stack.imgur.com/JkEWk.jpg);
  background-size: cover;
}

.element {
  position: absolute;
  background: red;
  background: rgba(255,0,0,.5);
  height: 10.416666666666668vw;
  width: 18.75vw;
  background-size: cover;
  z-index: 2;
  left: 29.947916666666668vw;
  top: 24vh;
}
<div class="bg-cover">
  <div class="element"></div>
</div>

背景图片:

背景

需要定位element在电视背景的白色区域,这样背景和块的相对位置才不会被打乱element。

问题是在不同的屏幕分辨率下,背景的缩放比例不同。也许您可以通过某种方式获得背景上像素的位置js并对此进行播放?

有没有人遇到过类似的问题?

javascript
  • 3 3 个回答
  • 10 Views

3 个回答

  • Voted
  1. Best Answer
    Alexandr_TT
    2020-02-07T00:34:22Z2020-02-07T00:34:22Z

    该解决方案是自适应的,适用于所有浏览器,包括Edge.

    为了两个带有图像的块 - 在你的情况下,房间的图片和电视上的背景图像,以一致的方式改变它们的比例并且不违反它们的相互定位,你必须将两个图像放在块内SVG

    <style>
    html, body, .bg-cover {
      height: 100%;
      margin: 0;
    }
    .element {
    width:100%; 
    height:100%;
    }
    
    </style> 
    <div class="bg-cover">
      <div class="element">
      <svg viewBox="0 0 1776 943">
      <image xlink:href="http://i.stack.imgur.com/JkEWk.jpg" width="100%" height="100%" />
      <image xlink:href=" https://isstatic.askoverflow.dev/keh4g.jpg" x="537" y="212" width="19.1%" height="19.1%" />
      </svg>
       </div>
    </div>  

    使电视上的图像动态变化是很有趣的。这个想法很明确 - 您需要将带有图像的精灵隐藏在卧室图片下方并滚动精灵,以便通过电视屏幕的凹槽看到精灵。
    我尝试了很长时间使用蒙版、剪辑、组合方法的选项,但没有成功。电视屏幕上形成了一个洞,但通过它看不到精灵。

    有谁知道如何做到这一点?

    更新
    动态图像变化解决方案 -模拟电视屏幕上的图像变化

    • 12
  2. zhurof
    2020-03-06T17:16:38Z2020-03-06T17:16:38Z

    svg,当然是一项强大的技术,但在 svg 画布上定位元素与css. 对于更改,我将提供此选项(而不是 gif,例如,您可以放一个视频)。

    PScover看到裁剪背景图像 ( )的解决方案会很有趣。同样,无论是在我的版本中还是在 Alexandr_TT 的解决方案中,都保留了背景的比例。

    *{
      box-sizing:border-box;
    }
    body{
      margin:0;
    }
    img{
      max-width:100%;
    }
    .room{
      position:relative;
    }
    .room__bg{
      display:block;
      width:100%;
      height:auto;
    }
    .room__tv{
      position:absolute;
      top:21.7%;
      left:30.15%;
      width:19.3%;
      height:20.2%;
      background:url(https://upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Rotating_earth_%28large%29.gif/220px-Rotating_earth_%28large%29.gif) no-repeat center/cover;
    }
    <div class="room">
      <img src="//i.stack.imgur.com/JkEWk.jpg" class="room__bg" alt="" />
      <div class="room__tv"></div>
    </div>

    • 3
  3. x3zone
    2020-05-02T14:40:55Z2020-05-02T14:40:55Z

    如果图像的大小不是很重要或分辨率不是太高,您可以用笨拙的方式使它更容易。获取背景并将其上传到 Photoshop,将所需元素添加到另一层并定位它,隐藏背景并与元素一起保存图片。我们得到相同大小的背景和元素,元素分别具有透明背景。在布局中,将两个块放在一起,background-size:cover;background-position: 50% 50%;width:100%;height:100%;left:0;top:0;就是这样。

    • 0

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    是否可以在 C++ 中继承类 <---> 结构?

    • 2 个回答
  • Marko Smith

    这种神经网络架构适合文本分类吗?

    • 1 个回答
  • Marko Smith

    为什么分配的工作方式不同?

    • 3 个回答
  • Marko Smith

    控制台中的光标坐标

    • 1 个回答
  • Marko Smith

    如何在 C++ 中删除类的实例?

    • 4 个回答
  • Marko Smith

    点是否属于线段的问题

    • 2 个回答
  • Marko Smith

    json结构错误

    • 1 个回答
  • Marko Smith

    ServiceWorker 中的“获取”事件

    • 1 个回答
  • Marko Smith

    c ++控制台应用程序exe文件[重复]

    • 1 个回答
  • Marko Smith

    按多列从sql表中选择

    • 1 个回答
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Suvitruf - Andrei Apanasik 什么是空? 2020-08-21 01:48:09 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5