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

在Firefox中带有边框图像的旋转div上的抗锯齿

轩辕成天
2023-03-14
问题内容

我的div旋转了45度,上面有边框图像。

在chrome和safari中,它效果很好。

在Firefox中,讨厌的反锯齿线出现在旋转div的边缘周围及其边界图像之间。

这是简单的HTML:

<div class="container">

   <div class="corner">

   </div>

</div>

这是CSS:

.container {
    margin: auto;
    width: 400px;
    height: 400px;
    background-color: black;
    outline: 1px solid #333333;
    position: relative;
    overflow: hidden;
}

.corner {
    position: absolute;
    bottom: -68px;
    right: -66px;
    width: 86px;
    height: 82px;
    background-color: #F1F2F3;

    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);

    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
    border-style: solid;
    border-width: 14px 16px 28px;

    -moz-border-image: url(http://s24.postimg.org/aq0pokg41/curve_border_grey.png) 14 16 28 repeat;
    -webkit-border-image: url(http://s24.postimg.org/aq0pokg41/curve_border_grey.png) 14 16 28 repeat;
    -o-border-image: url(http://s24.postimg.org/aq0pokg41/curve_border_grey.png) 14 16 28 repeat;
    border-image: url(http://s24.postimg.org/aq0pokg41/curve_border_grey.png) 14 16 28 fill repeat;

    -moz-background-clip: padding;
    -webkit-background-clip: padding;
    background-clip: padding-box;
}

这是一个JSFiddle。在Firefox中查看它,了解我的意思:

我已经看到了在div周围添加1px透明轮廓的技巧,如果在这种情况下没有边框图像,该技巧将起作用。

有人遇到过这种情况并且知道对其进行排序的方式吗?


问题答案:

添加translateZ似乎可以更快地显示更准确并解决问题:

-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: translateZ(1px) rotate(45deg);

我将转换添加到了转换中,因为firefox现在已经取消了10个版本的前缀。



 类似资料:
  • 此页http://wildlife.x-tremeteam.com利用CSS边框图像属性和。带有透明边缘的png图像,可在我的div上创建“撕裂的纸张”外观。除了在我的Android(三星SIII)上,无论我使用的是它的默认浏览器还是Chrome应用程序,它都工作得很好。在这一点上,我可以看到在20px边界的内部和外部都有一个轻微的边缘。有趣的是,我看不到角落的边缘。带边框的div的背景是透明的。

  • 我试着让两个div相邻,它们之间有一个对角线空间。我在stackoverflow上看到过多个关于对角线div的教程,但它们都是通过为带有纯色的div使用两个边框并使用它们创建的对角线来实现的。但我想要图片/背景图像,而不是纯色。甚至可能还有其他内容,比如在对角线下的文本。当使用边框时,这是不可能的,因为边框在div之外。(floatright隐藏溢出或其他内容。) 这里有人能给我一个提示如何实现这

  • 问题内容: 所以我最近遇到了这个问题: 我很好奇:有没有办法用较小的图像来做这种事情?我的意思是,这是像素艺术,而不是使用每个像素四倍的图像而不是我们用代码来拉伸它们吗?因此,我开始尝试实现这一目标。 我尝试了CSS,Javascript甚至HTML,但没有一个起作用。它们都变得非常模糊,这使我想到了一个问题:您可以在浏览器中拉伸图像而无需任何抗锯齿功能吗? 我愿意接受任何建议,无论是使用画布,j

  • 在学习渲染的旅途中,你可能会时不时遇到模型边缘有锯齿的情况。这些锯齿边缘(Jagged Edges)的产生和光栅器将顶点数据转化为片段的方式有关。在下面的例子中,你可以看到,我们只是绘制了一个简单的立方体,你就能注意到它存在锯齿边缘了: 可能不是非常明显,但如果你离近仔细观察立方体的边缘,你就应该能够看到锯齿状的图案。如果放大的话,你会看到下面的图案: 这很明显不是我们想要在最终程序中所实现的效果

  • 问题内容: 我使用旋转元素,-webkit-transform: rotate()而在Chrome14.0.835.2dev-m中,它对元素内部的文本确实做了一些奇怪的事情。它使我想起了使用“平滑”抗锯齿而不是“清晰”旋转文本时在Photoshop中获得的类似效果。 有人知道这是怎么回事吗?它特定于此Webkit或Chrome版本,还是可以解决此问题?(这也不是消除列表元素之间边界的锯齿) Her

  • 我正在开发一个Android应用程序,其中的一部分功能是用户可以从他们的设备中选择一个图像,将其与列表中的特定项目相关联,并在应用程序中使用它。我的目的是将图像本身存储在内存中,并将图像的路径与项目的其余存储信息一起存储在SQLite数据库中。 我已经能够让用户选择图像并上传,但图像有时会根据图片的拍摄方式进行旋转。我试着查看Exif数据,但方向总是为零。我曾尝试使用光标来查看信息,但也无济于事。