当前位置: 首页 > 面试题库 >

将透视图应用于父元素时,为什么隐藏背面可见性在IE10中不起作用?

慎俊雄
2023-03-14
问题内容

好的,这是另一个IE10故障。问题在于,在父元素上应用透视会破坏背面可见性隐藏设置。

当您将鼠标悬停在红色方块上时,它会在x轴上旋转180°,即使将背面可见性设置为隐藏,也会显示背面,至少直到达到180°为止,背面都会消失。删除Perspective属性,您将看到它按预期工作,背面完全不可见,但是3d效果当然会丢失。

可以通过在transform属性中应用透视图来解决此问题但是,当z设置为0以外的任何值时,这将导致与transform-
origin-z结合使用的问题变得“缩放”:很遗憾,这不是解决方案。

背面可见的东西可能是一个错误?如果是这样,除了我提到的方法以外,还有其他解决方法吗?


问题答案:

我也遇到了这种故障,这绝对是一个故障。

解决方法是将透视变换应用于子元素。

.item {
    backface-visibility: hidden;
    transform: perspective(200px) rotateX(0deg);
}
.container:hover .item {
    transform: perspective(200px) rotateX(180deg);
}

我认为这是因为在IE 10中,父元素3d属性不会传播到子元素。这是已知的不受支持的功能。

目前,Internet Explorer 10不支持 preserve-3d
关键字。您可以通过将父元素的变换手动应用于每个子元素(除了子元素的常规变换之外)来解决此问题。

因此, Microsoft 推荐的解决方案是自己手动传播3d属性。



 类似资料:
  • 问题内容: 我正在构建一个简单的示例,使用该属性翻转卡片。 几天前它运行良好,但突然间它停止工作。效果仍然有效,但是当我将鼠标悬停在卡片上时,正面应该消失以使背面可见。为此,我正在使用该属性。但是似乎无法在chrome中正常工作(无论是稳定版还是每晚构建版) 如果我在做一些糟糕的事情,这里是代码 之所以得出这个结论,是因为我做了几个简单的示例,只使用了一个旋转的div,上面有一个简单的文本,背面隐

  • 问题内容: 我在CSS中添加了一个“扰流器”类,用于扰流器。文本通常是不可见的,但是当鼠标悬停在其上方以向想要阅读该文本的任何人显示扰流板时,该文本就会出现。 应该很简单,但是由于某种原因这是行不通的。即使我将鼠标指向文字,文字仍然不可见。知道是什么原因造成的吗? 问题答案: 您不能将鼠标悬停在隐藏的元素上。一种解决方案是将元素嵌套在另一个容器中: CSS: HTML: 更新资料 在Chrome上

  • 问题内容: 我有一个表格单元格,我一直希望成为一个特定的宽度。但是,它不适用于较大的无间距文本字符串。这是一个测试用例: 如何使文本在框的边缘处被切除,而不是使框展开? 问题答案: 需要设置 和 表元件上的合适的宽度,以及和在桌子上的细胞。 例子 定宽列 表格的宽度必须与固定宽度的单元格相同(或更小)。 使用一个固定宽度的列: 使用多个固定宽度的列: 固定和流体宽度色谱柱 必须设置 表格的宽度,但

  • 我有一个页面,里面有许多隐藏的div。这些div使用CSS处理程序。 在每个隐藏的div中,都有一个jQuery支持的幻灯片,使用名为TN3的jQuery插件构建。 每个隐藏的div都链接到页面上可见的照片。单击照片显示相应的隐藏div并将其滑动到位。再次单击照片,或单击隐藏div中的关闭按钮,将其向后滑动并再次隐藏。这是使用一个简单的jQuery显示/隐藏切换脚本完成的。 我的问题是,当你点击一

  • 我有一个来自服务器的响应,我想把它放到列表中。但是当列表为空时,我需要隐藏这个div容器。例如,如果不在数组中-我想隐藏div。但是我想在ng之后使用bird重复,所以我不能使在上。我可以检查li是否为空,然后隐藏div吗? 普朗克例子 AngularJS ng-重复处理空列表大小写-这是不一样的。如果li是空的,我不想隐藏li,我想在li是空的时候隐藏父元素h1。

  • 不要在div中使用类nav-item工作background-image。所有映像都在同一个目录中。页眉工作中的背景。有了img src一切都很好。问题出在哪里? 我什么都试过了。 null null