Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在a中创建孔<;部门>;要素_Jquery_Html_Css - Fatal编程技术网

Jquery 在a中创建孔<;部门>;要素

Jquery 在a中创建孔<;部门>;要素,jquery,html,css,Jquery,Html,Css,div中孔的定义-一种元素或方法,通过该元素或方法,您可以显示元素内容后面特定区域的背景 有一种方法,虽然它只能处理大部分矩形边框,但下面的标记作为演示: html: 虽然无法在div中真正“切割”一个孔,但可以使用直接将遮罩应用于图像。尽管就我所知,这只适用于Webkit浏览器(我知道这是一个-Webkit供应商前缀属性,但遗憾的是,我不相信有-moz或-o等价物) .在仔细考虑之后,我能想到的最好的办法是使用iframe 它可能是一个“镜头”,可以看到你想要的任何东西,但当然它不会像一个真

div中孔的定义-一种元素或方法,通过该元素或方法,您可以显示
元素内容后面特定区域的背景

有一种方法,虽然它只能处理大部分矩形边框,但下面的标记作为演示:

html:

虽然无法在
div
中真正“切割”一个孔,但可以使用直接将遮罩应用于图像。尽管就我所知,这只适用于Webkit浏览器(我知道这是一个
-Webkit
供应商前缀属性,但遗憾的是,我不相信有
-moz
-o
等价物)


.

在仔细考虑之后,我能想到的最好的办法是使用iframe
它可能是一个“镜头”,可以看到你想要的任何东西,但当然它不会像一个真正的镜头一样工作,但接近于你可以用以下格式构造一组帧div:

因此,一个容器div,没有/很少应用样式


然后是一组应用了样式的4个“边框”div,使中心区域透明。

您可以使用带有alpha通道透明度的png作为div的背景图像

<div style="background-image:url(pngwithtransparentarea.png);width:100px;height:100px;">
</div>


更大的问题实际上不是您想要看穿的元素的背景(背景颜色:透明),而是它的祖先元素。例如,如果一个div的包含元素有一个白色背景,那么它的背景色为:transparent的div看起来仍然像是有一个白色背景。最好的方法是在页面的较低级别定义背景色。例如,如果你想看穿div#透视,而它是介于div#页眉和div#页脚之间的div#content的子项,你可以给#页眉和#页脚背景色,但将#content定义为透明。然后为#透明的各个兄弟元素指定背景色。还有一件事:在定义透明元素时,请记住,即使是透明元素也可以有“彩色”边框,这意味着您可以在不添加额外元素的情况下进入点之间。

我在代码笔上设计了一些我认为您正在/正在寻找的东西。我在找同样的。。。找不到任何东西所以这是我做的

找到了

  • 具有相对位置、透明背景和 隐藏溢出
  • 带绝对位置的子div,带彩色, 用于填充父对象背景的超大边框,以及 透明背景
  • 洞将由一个透明的子对象组成,其边框非常大,可以填充父对象的背景。孩子的位置将取决于边界的大小。将背景设置为父对象后面的,它就会显示出来

    在本例中,您可以通过黄色人造背景(实际上是一个巨大的边框)看到红色


    您认为呢?

    Box shadow支持几乎所有现代浏览器,因此,您可以通过以下方式做您想做的事情(我希望,我对您的理解是正确的):

    html:

    因此,该块将是透明的,并且其周围的阴影将被高亮度照亮


    示例:

    解决此问题的新方法,使用混合模式,并支持边界半径、多个元素。。。但是没有IE的支持

    .back{
    背景颜色:浅蓝色;
    宽度:400px;
    高度:300px;
    背景图像:重复线性渐变(45度,白色0px,浅蓝色40px);
    }
    .基地{
    位置:相对位置;
    左:10px;
    顶部:10px;
    宽度:200px;
    高度:200px;
    边框:实心1px黑色;
    背景色:白色;
    混合模式:硬光;
    }
    .洞{
    宽度:80px;
    高度:50px;
    利润率:10px;
    边框:实心1px红色;
    边界半径:10px;
    背景颜色:灰色;
    }
    
    一个
    两个
    
    你的意思是创建一个遮罩?最好的办法是把分割分割成几部分,在你想要去遮罩的地方不透明度设为0。不像遮罩,有点像透明镜头。k但我的答案是一样的,把分割分割成几部分,在你想要去拍摄的地方不透明度设为0:分割分割分割的人会非常困难,必须有另一种方法。它是一个选项,创建一个带有透明区域的GIF,并将其用作div的背景图像(div的背景颜色必须设置为透明)?嘿,大卫,谢谢,尽管这不是我想要的。假设您的“#wrap”或任何外部容器都有背景色。代码应该能够穿透图像并显示外部容器的背景色。@Sussagittikasusa:啊,在这种情况下,我可能完全误解了你的问题。这不是我想要的,但我想我可以让你的答案起作用。谢谢,伙计。没问题,我不确定是否有办法在普通div上打孔,我想你必须这样做。谷歌曾经创造过类似的东西。。。当鼠标在站点上移动时,该洞跟随鼠标移动。检查更像我正在搜索的东西!使用圆div、圆孔(边界半径:50%)进行此项工作将很难实现。您可以使用轮廓:“轮廓:9999px实心rgba(0,0,0,8);”是迄今为止的最佳解决方案。@equinox轮廓宽度在Chrome版本40.0上的最大值为65534px,因此“轮廓:65534px实心rgba(0,0,0,8)”很好,但轮廓宽度的值越高,则没有轮廓。FF也有一个类似的,虽然更高的限制。轮廓似乎不支持边界半径,它是块。小心使用意外的大模糊半径,例如0rem 0rem 4000rem 4000rem hsla(0,0%,0%,0.6)。在Mac Chrome版本41.0.2272.104(64位)中,如果后台有一个包含几十个单元格的表格,则会导致显著的慢度。滚动和对鼠标的响应很慢。也会造成随机性
    #wrap {
        overflow: hidden;
        position: relative;
    }
    
    #frame {
        border: 60px solid #000;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: rgba(255,255,255,0.5);
    }
    
    <div style="background-image:url(pngwithtransparentarea.png);width:100px;height:100px;">
    </div>
    
    #parent{overflow:hidden; position:relative;}
    #child {position:absolute; border:9000px yellow solid; top:0; left:0;}
    
    <div class="hole"></div>
    
    .hole {
        position: absolute;
        left: 50px;right: 50px;width: 50px;height: 50px;
        box-shadow: 0 0 0 99999px rgba(0, 0, 0, .8);
    }