180 度旋转 div 只能从一侧点击

2024-05-01

我遇到了一个相当奇怪的问题。我有一个可以通过 CSS3 旋转的 div。该 div 有一个前 div 子级和后 div 子级,后 div 具有-webkit-transform: rotateY( 180deg ) set.

问题是,一旦旋转父元素以显示 div 的背面,它只会检测到 div 的一侧(特别是 div 的后半部分或右侧)的子元素的点击。正面 div 检测元素整个面上的点击。此外,z 索引也很好。我认为问题可能是由于旋转和浏览器显示一侧的一半“更近”造成的?

这个破坏的代码非常复杂,所以我创建了一个测试文件来演示下面的问题。我正在使用我为 3D 转换编写的 jQuery 插件,可以在此处找到该插件https://github.com/pwhisenhunt/jquery.transform/blob/master/jquery.transform.js https://github.com/pwhisenhunt/jquery.transform/blob/master/jquery.transform.js.

Edit:经过实验,按钮元素的点击只记录了100-200px,而不是0-100px。换句话说,它实际上只在 div 的后半部分注册。

很感谢任何形式的帮助!

<html>
<head>
    <style>
        .element{
            width:200;
            height:200;

            -webkit-perspective: 800;
            -webkit-transform-style: preserve-3d;
        }

        .element figure {
          display: block;
          height: 100%;
          width: 100%;
          position: absolute;
          -webkit-backface-visibility: hidden;
            border:1px solid yellow;
        }

        .element .front {
            -webkit-border-radius:8px;
            padding: 0px;
            margin: 0px;
            background-color:yellow;
            z-index: 9870;
        }

        .element .back {
            -webkit-border-radius:8px;
            padding: 0px;
            margin: 0;
            -webkit-transform: rotateY( 180deg );
            z-index: 0;
            border: 1px solid red;
            background-color:green;
        }
    </style>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
            <script src="https://raw.github.com/pwhisenhunt/jquery.transform/master/jquery.transform.js"></script>
    <script>
        $(function(){
            var temp = false;
            $(".element").click(function(){
                if(temp == false){
                    $(this).transform("setAnimationDuration", 1).transform("rotateY", 180);
                    $(this).unbind("mouseenter mouseleave");
                    button = $(document.createElement('div')).attr("id", "button").css({ width: 200, height: 50, backgroundColor:"blue" });
                    button.click(function(){
                        console.log("Clicking");
                    });
                    temp = true;
                    $(this).append(button);
                }
            })
        })
    </script>
</head>
<body>
    <div class="element">
        <figure class="front"></front>
        <figure class="back"></front>
    </div>
</body>
</html>

问题的 JSFiddle 示例 - 可以在这里找到! http://jsfiddle.net/7AbWe/


我知道这个回复对于我们这里的大多数人来说有点太晚了,但是我今天早些时候遇到了这个问题,并且没有一个回复可以帮助我解决它。

解决方案通过@克里斯蒂安基恩 https://stackoverflow.com/a/13144326/1113260使另一半不可点击。我曾是使用容器作为包装器 https://stackoverflow.com/a/8458637/1113260以及。事实证明,这是 webkit 中的一个奇怪的错误,我能够修复它,并通过将transform:rotateY(180deg)更改为transform:rotateY(-180deg)来使100%的元素可点击

这真的很奇怪,我不知道它是如何运作的,但它确实如此。我希望这可以帮助别人!

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

180 度旋转 div 只能从一侧点击 的相关文章

  • 如何获取 html5 画布内像素的像素坐标

    我知道您可以使用 getImageData 和 data 获取 html5 Canvas 内每个像素的值 但是有没有办法获取它们的坐标而不仅仅是它们的值 var w ctx canvas width h ctx canvas height
  • POST 表单数据为 application/json

    我正在开发一个 API 它接收 application json post 请求 并触发一些流程 我目前的主要问题是发送一个 application json 帖子 其中包含来自输 入表单的数据 我已经尝试过 jQuery ajax 但由于
  • 如何在 Electron 应用程序中通过 navigator.geolocation 获取当前位置?

    当我尝试获取当前位置时 navigator geolocation getCurrentPosition handleCoordinates handleError timeout 10000 它返回 网络位置提供商位于 https www
  • Bootstrap:使用单个选项卡导航控制多个选项卡面板

    我想用一个选项卡导航来控制两个不同的选项卡内容 在 Bootstrap 3 中 我有一个使用逗号分隔数据目标的解决方案 如本例所示 https stackoverflow com a 19719859 1788961 https stack
  • PHP:如何防止不必要的换行

    我正在使用 PHP 创建一些基本的 HTML 标签始终相同 但实际链接 标题对应于 PHP 变量 string p a href strong i title i i strong a br echo string fwrite outfi
  • 带有旋转文本的垂直导航

    我正在尝试实现一个包含链接的垂直导航菜单 并且我已使用 css3 将链接文本旋转到 270 度 我旋转了它 因为我希望文本从下到上 问题是当我添加顶部填充时 间距不一致 你可以看到我的代码here http jsbin com ravudu
  • 我无法注入带有“!important”规则的样式[重复]

    这个问题在这里已经有答案了 我尝试使用以下代码注入样式 document body style color green important Per CSS 级联引用 http www w3 org TR CSS2 cascade html
  • CSS 无法与 CodeIgniter 一起使用

    这是我的 CI 代码的一部分 class page extends CI Controller var Page public function construct parent construct this gt Page 1 this
  • 图像仅在 iPhone x 上拉伸

    我目前正在设计和构建一个 html 和 css 网站 遇到了一个小问题 我使用 chrome 开发工具检查了响应能力 根据手机和平板电脑的大小调整窗口大小 一切看起来都很好 然而 现在我在 iPhone X 上检查了该网站 图像全部垂直拉伸
  • 输入类型=“时间”超过24小时

    我刚刚遇到以下问题 在网络应用程序用户界面中 我希望用户输入响应消息的时间范围 以小时为单位 时间范围应最长为 72 小时 我们很乐意使用
  • ExitFullScreen 不起作用 + 无论如何要按键盘单击按钮?

    我的浏览器 Google Chrome 版本 33 0 1750 154 m Script function exitFullscreen var element document documentElement if element mo
  • 如何在 jQuery 中使用 CSS“background-image”属性添加的图像上绑定单击事件

    这是我的小提琴link http jsbin com otisur 1 edit 我想我的问题通过标题本身就很清楚了 尽管如此 我正在寻找一种绑定的方法click使用 css 添加的图像上的事件background image财产 我知道
  • 3 Div 盒子不适合容器

    在页面上 jerkydirect com base opportunity 容器内有 3 个带有图片的盒子 然而 当在大屏幕上查看时 最后一个框粘在右侧 它在较小的窗口或移动设备上看起来很棒 但在较大的屏幕上则不然 我怎样才能让它正确对齐
  • jQuery - 拖动div css背景

    我希望能够在 div 内按住鼠标并移动它的背景 在谷歌上搜索了很多 没有找到我想要的 这是目标 显示的地图是要拖动的对象 http pontografico net pvt gamemap http pontografico net pvt
  • 如何中和 CSS 定义而不覆盖

    有没有一种方法可以中和元素的 CSS 规则而不覆盖所有内容 例如 我正在使用 Twitter Bootstrap 它有许多预定义的 CSS 定义table 在某些地方 我不想要它们 对某些table元素 我想知道我是否可以做这样的事情 ta
  • 在 Apache 服务器上将特定的 .htm 页面处理为 .php [重复]

    这个问题在这里已经有答案了 我正在为 Apache 服务器编程 并且只需要将一个特定的 html 页面 例如 first htm 作为 PHP 脚本进行处理 可以设置吗 SetHandler http httpd apache org do
  • .net dropdownlist对齐文本

    我正在尝试将 net 下拉列表中的文本向右对齐 使用 CssClass 我可以在 Firefox 中将文本向右对齐 IE 不会将文本右对齐 而是左对齐 我读到 IE 6 不支持这个 这是真的 我使用的是 IE7 但我的大多数用户将使用 IE
  • iframe 位置居中

    所以我找到了这段用于将内容放在中心的代码 但我的问题是它是为容器制作的 你知道如何为 iframe 制作它吗 或者你知道另一个代码吗 代码 center margin auto width 60 border 3px solid 73AD2
  • 允许 iframe 跨域链接到目标父框架

    我有 2 个域 域 1 上的一个页面使用 iframe 加载域 2 中的内容 如何允许来自domain2 iframe 内 的链接在domain1 的完整父框架中打开 我一直在关注IE和w3c的新沙箱属性 http www w3 org T
  • 快速响应的交互式图表/图形:SVG、Canvas 还是其他?

    我正在尝试选择正确的技术来更新一个项目 该项目基本上在可缩放 可平移的图表中渲染数千个点 当前使用 Protovis 的实现性能不佳 在这里查看 http www planethunters org classify http www pl

随机推荐

  • 为什么 to_proc 在 Ruby 改进中不起作用?

    看起来to proc不适用于细化中定义的方法 module ArrayExtensions refine Array do def sum reduce 0 end end end using ArrayExtensions puts 1
  • Flaky Android Espresso 测试 - Snackbar

    1 所有正在测试的设备 模拟器都禁用了动画 2 我有一个 BeforeClass 来构建我的 Credentials 对象 3 我有一个IntenServiceIdlingResource和一个EventBusIdlingResource
  • 我应该为 PyDev 下载哪个 Eclipse 包?

    我应该选择哪个 Eclipse 包来进行 Python 开发PyDev http www pydev org Eclipse 主页上没有任何内容告诉我要选择什么 并且 PyDev 文档假设我已经安装了 Eclipse 我选择哪个 Eclip
  • 错误:在 Google 应用引擎上部署节点 js 时找不到模块“/workspace/server.js”

    经过一周的搜索 我无法找到适用于我的 Node js 应用程序的应用程序引擎部署问题的解决方案 我已经用这个替换了原来的代码Express 的 hello world 示例 https expressjs com en starter he
  • 重定向到无状态会话的原始 URL

    我正在尝试创建无状态安全性 其中 JWT 令牌存储在 Cookie 而不是 SESSION 中 问题是如果没有会话SavedRequestAwareAuthenticationSuccessHandler不知道原始请求 在弹出身份验证页面之
  • SPA 模式下的 AngularJS 和元标记

    你们中有人已经找到了一种在 SPA 模式下使用 AngularJS 处理元标签的优雅方法吗 在基本模板中 我有一些默认的元标记 对于每条路线 每个控制器都会加载具有不同内容的不同视图 很正常 但是我如何更改每个页面的元标记呢 此外 有些页面
  • XAML UWP 浮出控件定位

    I am implementing a Flyout in a UWP app as you can see on the image below I want the AutoSuggestBox in the Flyout to app
  • 索引数组时应该始终使用 size_t 吗?

    我需要使用吗size t总是在索引数组时即使数组没有大到超过 int 的大小 这不是我应该什么时候使用的问题size t 我只想知道 例如 一个程序是否具有 2GB 可用内存 所有这些字段都可以通过 int32 进行索引 但该内存 虚拟内存
  • Java Swing - JLabel 位置

    我在设置 Jlabel 位置时遇到问题 我将内容窗格设置为某个 JPanel 我创建并尝试添加我的 JLabel JLabel mainTitle new JLabel SomeApp mainTitle setFont new Font
  • Laravel Blade 创建 url

    我有一个简单的问题 基本上我从数据库中获取网站的名称并根据其名称创建一个链接 看起来像 foreach websites as website a class websites href asset website gt name a en
  • 经过一段时间后一张一张地显示图像

    我是前端开发的新人 我面临的一个主要问题是我有 3 个图像相互放置 现在我想移动一个图像 以便另一个图像出现 然后它消失 第三个图像在经过一段时间后出现时间间隔 我希望在我的网站中的同一位置上放置三张图像 但只想在一段时间后一张接一张地查看
  • 如何在需要时获取 cordova 2.9 的电池电量?

    window addEventListener batterystatus onBatteryStatus false function onBatteryStatus info Handle the online event consol
  • Magento Rest API - oAuth 错误

    我是第一次使用 Magento Rest API 我浏览了 Rest API 的教程http www magentocommerce com api rest并尝试了一个通过 API 获取产品的示例 callbackUrl http loc
  • MSBuild 使用项目引用正确构建项目,但不是从解决方案构建项目

    当我构建一个包含 2 个项目 B csproj 和 C csproj 具有内部项目引用 的 A sln 时 它会在 MSBuild 中引发引用错误 但是当我在 MSBuild 中分别构建 B csproj 和 C csproj 时 它不会抛
  • 如何从另一个屏幕重置 Flutter 中的表单?

    如何重置 清除 flutter 应用程序中的表单字段 一旦数据提交到服务器 在我的应用程序中 我有 2 个页面 第一页输入表格详细信息 如姓名 地址等 第二页是上传图片 第一页将数据推送到第二页 这里我没有进行推送替换 意味着第二页位于第一
  • C# 创建具有所有可能组合的字符串

    所以我有一个需要字符串的方法 该字符串由一个常量值和 2 个布尔值 2 个常量整数和一个可以是 10 20 或 30 的整数组成 这都是一个字符串 其中参数由下划线分隔 Example string value horse string c
  • Angular - 如何过滤 ngFor 到特定对象属性数据

    我在内存数据 service ts 中有这些数据 import InMemoryDbService from angular in memory web api export class InMemoryDataService implem
  • AS3 无法从 Java 发送的套接字解​​码 AMF3 对象

    我有一个 java 套接字服务器 它在连接时将 Animal 对象发送到 Flash 客户端 对象的发送方式如下 Amf3Output amf3Output new Amf3Output SerializationContext getSe
  • 在 Microsoft Graph 中查询 OneNote 页面的内容返回 10019 错误

    某个部分中的某些页面会因 API 调用失败而失败500错误 查询网址为 https graph microsoft com v1 0 me onenote pages page id content 响应是 error code 10019
  • 180 度旋转 div 只能从一侧点击

    我遇到了一个相当奇怪的问题 我有一个可以通过 CSS3 旋转的 div 该 div 有一个前 div 子级和后 div 子级 后 div 具有 webkit transform rotateY 180deg set 问题是 一旦旋转父元素以