CSS 通过舷窗查看

2024-04-11

我正在尝试使用 CSS 创建一个“舷窗”。当我说舷窗时,我的意思是使屏幕的一部分透明,这样您就可以看到舷窗后面的任何内容,仅此而已。

我能够通过将主体的背景颜色设置为与前景色相同,然后使用具有圆形渐变的舷窗图像来获得我想要的效果,中间为白色,边缘为黑色,只要所有的页面上的内容全部是相同的颜色。这不完全是我想要的,因为我想使用颜色或屏幕后面的任何东西。

我想出了这个:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <title>Test See Through Mouse</title>
    <script type="text/javascript" src="jquery-1.4.1.js"></script>
    <style type="text/css">
        * { margin: 0; padding: 0; }
        html, body { height: 100%; background-color: green; }
        #cover { height: 100%; width: 100%; top: 0; position: fixed; background: url(porthole.png) no-repeat; }
    </style>
</head>
<body>
    Hi, I am behind the scenes content.  Hi, I am behind the scenes content.  Hi, I am behind the scenes content.
    <!-- repeated enough times to fill the screen with text -->

    <div id="cover"></div>
    <script type="text/javascript">
        $('#cover').live('mousemove', function(e) {
            <!-- the image is 3000px by 3000px and I want the center of the visible part where the mouse is -->
            $('#cover').css('background-position', (e.pageX - 1500) + 'px ' + (e.pageY - 1500) + 'px');
        });
    </script>
</body>
</html>

其中舷窗图像是一个巨大的 PNG 图像(每个方向的屏幕尺寸的几倍),中间有一个不可见的小圆圈(大约 200 像素 x 200 像素)。这确实给出了我想要的效果,但主要问题是我不知道用户的屏幕尺寸,但我也不想使用对用户来说太大的图像,因为移动它会明显变得不稳定随着图像尺寸的增大。

有没有办法让我只需要提供一个与实际舷窗图形大小相同的舷窗图像,而使用其他方法来隐藏屏幕的其余部分?我愿意只使用 HTML(5 即可)、CSS 和 javascript。


为什么不使用 250x250 的舷窗图像,然后用相同颜色的 div 包围它?它们都可能是移动的父级 div 的子级。

这样,您的图像不必很大,并且可以自动调整到任何屏幕尺寸。父 div 的宽度/高度将为 200%,或者如果您想要更奇特,您可以简单地将高度/宽度设置为 100%,并在 JS 中使用一些奇特的数学来随着端口移动动态调整 div 的大小。

================
|     div      |
================
|div| port |div|
================
|     div      |
================
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS 通过舷窗查看 的相关文章

  • Draggable JS Bootstrap 模式 - 性能问题

    对于工作中的项目 我们在 JavaScript 中使用 Bootstrap Modal 窗口 我们想让一些窗口可移动 但我们遇到了 JQuery 的性能问题 myModal draggable handle modal header Exa
  • Bootstrap按钮加载+Ajax

    我正在使用 Twitter Bootstrap 的按钮加载状态 http twitter github com bootstrap javascript html buttons http twitter github com bootst
  • 为什么 IE8 在我的图像锚标记上添加底部边框?

    我知道 这很可悲 但今天早上 IT 刚刚在我的机器上安装了 IE8 我立刻遇到了一个明显的问题 尽管我知道答案就在我面前 但我已经把它搞砸了太久了 首先 这是网站 www mchenry edu http www mchenry edu 在
  • 为 Angular2 中的组件加载多个样式表

    我正在构建一个 angular2 应用程序 当我尝试为同一组件加载多个样式表时 我面临多个问题 这是我正在做的代码 import Component from angular core Component selector my tag t
  • Jquery 数据表列总和

    我只是参考一下这个链接 https datatables net examples advanced init footer callback html了解如何获取 jquery 数据表中的列总计 但我已经完成了一半的项目 我在html页面
  • Firefox 不会在使用 jQuery AJAX 加载的内容上呈现 CSS 样式

    我有一个网站 允许用户对书籍和文章发表评论 主表单有一个搜索输入 用于查找相关书籍或文章 来源 我使用 jQuery 根据输入的搜索词从外部站点动态加载新源 然后还使用 AJAX 返回列表中的源 我有两个问题 现在 在用户输入四个字符后 j
  • window.location 和 location.href 之间的区别

    我对之间的区别感到困惑window location and location href 两者似乎都以相同的方式行事 有什么不同 window location是一个对象 它保存有关当前文档位置的所有信息 主机 href 端口 协议等 lo
  • 有没有办法在 onclick 触发时禁用 iPad/iPhone 上的闪烁/闪烁?

    所以我有一个有 onclick 事件的区域 在常规浏览器上单击时 它不会显示任何视觉变化 但在 iPad iPhone 上单击时 它会闪烁 闪烁 有什么办法可以阻止它在 iPad iPhone 上执行此操作吗 这是一个与我正在做的类似的示例
  • 页面上使用 HTML Editor Extender 进行回发会导致 IE11 中出现 JavaScript 错误

    我已将 HTML 编辑器扩展程序添加到我正在处理的页面中 现在每当我在页面上发回帖子时 都会收到以下 Javascript 错误 JavaScript 运行时错误 参数无效 之后什么也没有发生 这在 IE10 或更低版本以及我所知道的所有其
  • 图像背景不透明度不影响边框

    如何设置背景不透明度而不影响边框线不透明度 我找到的解决方案没有帮助 div class selected img src assets img image product 1 thumbnail jpg alt product 1 thu
  • Firebase 函数 onWrite 未被调用

    我正在尝试使用 Firebase 函数实现一个触发器 该触发器会复制数据库中的一些数据 我想观看所有添加的内容votes user vote 结构为 我尝试的代码是 const functions require firebase func
  • 从数据库检查数据的异步解决方案各种循环子句

    我想要做的是异步检查数据库并从中获取结果 在我的应用程序中我试图实现Asynchronously将此步骤解决为 从数据库中检查手机号码JsonArray循环子句的种类 Create JsonArray从结果 打印创建的数组 我学到了足够多的
  • 如何创建适合屏幕宽度的等宽/高框? [复制]

    这个问题在这里已经有答案了 我正在尝试建立一个网站 其中有很多宽度和高度相等的框 例如 我有一个页面 其中并排有两个相同大小的框 简单的解决方案是将宽度和高度设置为 50vw 这在出现滚动条之前效果很好 我已经用谷歌搜索了几个小时 但无法理
  • 使用 Vue 的多模式组件

    我在 Vue 中实现动态模式组件时遇到问题 A common approach I follow to display a set of data fetched from the db is I dump each of the rows
  • 在 HTML 下拉列表中有一个滚动条

    我正在寻找一种在 HTML 的下拉列表中添加滚动条的方法 这样如果下拉列表包含的内容超过例如 5 项 将出现滚动条以查看其余项 这是因为我将被迫列出一些大清单 过去几个小时我一直在谷歌上搜索它 但没有运气 它需要适用于 IE8 FF 和 C
  • 如何使用 crypto-js 解密 AES ECB

    我正在尝试将加密数据从 flash 客户端 发送到服务器端的 javascript 在 asp 中作为 jscript 运行 有几个 javascript Aes 库 但它们实际上没有文档记录 我正在尝试使用 crypto js 但无法让代
  • 在 Javascript 中连接空数组

    我正在浏览一些代码 我想知道这有什么用处 grid push concat row 根据我的理解 它等同于 grid push row 为什么要大惊小怪 连接 你想使用 concat当您需要展平数组并且没有由其他数组组成的数组时 例如 va
  • 使用 MongoDB 和 Nodejs 插入和查询日期

    我需要一些帮助在 mongodb 和 nodejs 中按日期查找记录 我将日期添加到抓取脚本中的 json 对象 如下所示 jsonObj last updated new Date 该对象被插入到 mongodb 中 我可以看到如下 la
  • Jquery - 选择选项后如何获取选项的特定数据类型?

    我将直接跳到标记 然后解释我想要做什么 HTML 选择选项
  • 如何确定所有角度2分量都已渲染?

    当所有 Angular2 组件完成渲染时 是否会触发一个角度事件 For jQuery 我们可以用 function 然而 对于 Angular2 当domready事件被触发 html 只包含角度组件标签 每个组件完成渲染后 domrea

随机推荐

  • 如何将子元素附加到 React 元素

    我想用循环将 child 附加到我的主 div let mainContainer React createElement div className contexCon 像这样 for let i 0 i lt 3 i mainConta
  • 如何在 Django 管理表单中添加自定义操作按钮并发布信息

    我是姜戈新手 我正在使用 Django 管理 我怎样才能制作一个新按钮 靠近保存 并发布信息并在 python 脚本中使用它 我正在使用 Django 版本 2 管理员 py admin site register Router admin
  • 找不到具有以下功能的代理:grunt

    当我尝试在本地 TFS 2015 Update 1 上对构建进行排队时 收到以下错误消息 找不到具有以下功能的代理 grunt 我已经安装了NodeJS and grunt cli他们在path 即它们可以从任何位置在 cmd 中执行 我缺
  • 无法调用未定义的方法“then”

    为什么我收到 无法调用未定义的方法 then http plnkr co edit yWS6hRjmZZeZMJyVA0zy p preview http plnkr co edit yWS6hRjmZZeZMJyVA0zy p previ
  • 如何禁用 d3 对数刻度中的小刻度?

    我的实时 d3 对数刻度图如下所示 我只想显示主要刻度及其标签 10 2 10 1 10 0 10 1 10 2 but 不是小蜱虫 我希望日志 Y 轴看起来像这样 没有小刻度 我怎样才能做到这一点 EDIT 发布一些代码 svg d3 s
  • ViewState 与 ASP.NET MVC 相关吗?

    我正在学习 ASP NET MVC ASP NET 的许多概念 如身份验证 授权 会话状态 仍然适用于它 但从我所了解的情况来看 我不认为 ViewState 在 ASP NET 应用程序中仍然相关 但它就在那里 System Web Mv
  • Codeigniter - cookie 在 Internet Explorer 8 中不起作用

    此代码适用于除 Internet Explorer 8 之外的所有浏览器 this gt input gt set cookie array name gt test cookie value gt hello from cookie ex
  • T-SQL 和 WHERE LIKE %Parameter% 子句

    我试图编写一个使用 WHERE LIKE text 子句的语句 但当我尝试使用文本参数时 我没有收到结果 例如 这有效 SELECT Employee WHERE LastName LIKE ning 这将返回用户 Flenning Man
  • Json.Encode 在 CS 文件中工作,但在 CSHTML 中不起作用

    在我的 CS 文件中 我正在执行以下命令 它按预期工作 using System Web Helpers String json System Web Helpers Json Encode null 但是 在我的 CSHTML 文件中 我
  • 使用 jQuery 重新绑定 DOM 事件

    这纯粹是一个理论问题 所以我不是在寻找替代解决方案 有没有办法让默认处理程序执行类似的操作 var defaultHandler test click test unbind click test bind click defaultHan
  • PDFBox 中的 load() 和 parse() 方法可能存在错误?

    我尝试使用PDFBox http pdfbox apache org 定期 pdf文件并且工作正常 但是当我遇到损坏的 pdf 代码会 冻结 不抛出错误或其他东西 简单地说load or parse函数需要永远执行 Here is 损坏的文
  • Qt LGPL 许可例外? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在使用Qt Mfc 迁移框架 http doc trolltech com solutions qtwinmigrate index
  • 通过 Jenkins 上的 Java Web Start 启动从属代理时出现问题

    我们最近将 Jenkins 升级到了最新版本 从那时起 我一直无法通过 Java Web Start 通过命令行启动从站 每次我尝试启动它时 都会收到 无法启动应用程序 错误 在详细信息面板中 CouldNotLoadArgumentExc
  • 没有可执行 jar 的 Spring Boot 2 Gradle 插件

    如何配置 Spring Boot Gradle 插件 2 以禁用 Gradle Script Kotlin 中的 Boot 分发 我想要的发行版是一个程序集捆绑包 zip 其中包含 lib 文件夹中的所有依赖项 和 jar 我已启用 Jar
  • Python 日志记录:为什么 __init__ 被调用两次?

    我正在尝试将 python 日志记录与配置文件和自己的处理程序一起使用 这在某种程度上是有效的 真正让我困惑的是 init 被叫两次并且 del 被调用一次 当我删除整个配置文件内容并直接在代码中创建处理程序时 init 被调用一次并且 d
  • mysql 小数和tinyint 乘法精度

    在 mysql 5 1 中 我有一个包含两列的表 create table t1 price decimal 6 2 quantity tinyint 4 在我正在做的选择查询中 select sum price quantity from
  • UglifyJS 属性修改

    根据文档 UglifyJS 可以修改除提供的保留列表中的属性名称之外的所有属性名称 是否可以用其他方式做到这一点 这样只有提供的列表上的属性才会被破坏 如果是这样 我需要传递哪些选项uglify minify files 实现您正在寻找的白
  • 批量格式化文件日期YYYYMMDD

    我一直在处理批处理文件中的一些代码 用于评估两个文件日期 如果一个日期大于另一个日期 则会运行另一个 bat 文件 我想要做的是将两个日期格式化为 YYYYMMDD 以便我可以使用GTR 比 更棒 代码如下 但如果我使用它就可以工作 equ
  • 描述时间序列 pandas 中的间隙

    我正在尝试编写一个函数 该函数采用连续的时间序列并返回一个数据结构 该数据结构描述数据中任何缺失的间隙 例如带有 开始 和 结束 列的 DF 对于时间序列来说 这似乎是一个相当常见的问题 但是尽管使用了 groupby diff 等 并进行
  • CSS 通过舷窗查看

    我正在尝试使用 CSS 创建一个 舷窗 当我说舷窗时 我的意思是使屏幕的一部分透明 这样您就可以看到舷窗后面的任何内容 仅此而已 我能够通过将主体的背景颜色设置为与前景色相同 然后使用具有圆形渐变的舷窗图像来获得我想要的效果 中间为白色 边