【问题标题】:Is there an inverse to the CSS "Clip" property; hide the clipped area?CSS“剪辑”属性是否有相反的含义?隐藏剪切区域?
【发布时间】:2013-04-11 06:59:04
【问题描述】:

CSS 剪辑语法让您可以定义您希望可见的较大图像的矩形区域。有没有办法指定逆?指定您希望变得不可见的图像的矩形区域。就像在页面上打一个矩形孔以查看下面是什么?

原因(如果您有任何其他想法):我想在 CMS 模板中创建 3 层图像。第 1 层(底部)是背景图像。第 2 层位于第 1 层的一部分之上,是 A4 文档的矩形截屏图像。第 3 层(在顶部)是一个透明的 PNG(在其中心和边缘),它在第 2 层文档的右上角添加了边框、阴影、文档类型徽标和卷页效果。

第 1 层和第 2 层将在 CMS 中分别上传,CSS 应将它们与第 3 层图像组合在一起以创建效果。问题是要使页面卷曲效果起作用,需要遮盖第 2 层的右上角,以便您可以看到从第 3 层到第 1 层的所有路径。我希望剪辑属性允许我指定第 2 层右上角的一个小方块,应该不可见

替代方案:是使用图形程序将第 1 层和第 3 层组合在一起,并为第 2 层留下透明区域。然后通过正确的定位,您可以将新组合的图像放在层的顶部2 达到同样的效果。但是,我希望避免这样的图形准备,因为您也可以这样创建整个图像。

【问题讨论】:

  • 我想到的奇怪解决方案:在第 3 层绘制卷曲效果并添加背景(与第 1 层相同的背景)以隐藏角落。有点马虎但很快……
  • 感谢 cmets。我遇到了该链接,但我担心它可能会在某些浏览器上严重损坏。我还试图避免图形工作会延长替换任何 3 层所需的时间。我确实有另一个想法。我可以将第 2 层设为 PNG 并在图形程序中手动切掉它的角(透明)。我的效果会起作用,并且在整个站点中替换第 1 层或第 3 层会很容易。

标签: css mask clip


【解决方案1】:

简单的答案: CSS 剪辑不适用于此。

我看到两个选项:

  1. 尝试通过使用 Layer1 作为背景图像绘制 Layer3 来伪造“洞”。这将使 Layer3 的透明区域被 Layer1 填充。您可以在此处查看此解决方案的实际效果:http://cssfilter.saschaseewald.com/

  2. 使用 HMTL 画布元素及其复合动作根据需要组合图层。概述:http://www.html5canvastutorials.com/advanced/html5-canvas-global-composite-operations-tutorial/

【讨论】:

    猜你喜欢
    • 2012-11-11
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-02
    • 2011-09-10
    • 2010-11-22
    相关资源
    最近更新 更多