当前位置: 首页 > 知识库问答 >
问题:

子元素上的框阴影?

岳志义
2023-03-14

我需要使我的长方体阴影看起来像一个边框:如果我有一个具有插入的长方体阴影的父对象,并且我在其中放置了一个子div,则长方体阴影应该覆盖子div,如图所示,并带有边框:

jsFiddle:http://jsfiddle.net/7rRsw/2/

这个问题有没有类似于z索引或css黑客的东西?

Thanks

编辑:我需要使用框阴影插入无边框或框捕捉。我正在寻找黑客,使这只可能与盒影。一种可能的方法是在子div的左右两侧添加框阴影。

共有3个答案

莫英卓
2023-03-14

加:

z-index: -1; /** less than the parent in general */

到子元素,它应该可以工作。

楚墨一
2023-03-14

这是因为你的盒子阴影被嵌入
同时嵌套的div会覆盖它。使用边框适用于“框”的外部。
从CSS中删除inset将导致您所追求的效果。
请参阅更新的inset删除小提琴。小提琴

box-shadow: 0px 0px 0px 2px black;
-webkit-box-shadow: 0px 0px 0px 2px black;
-moz-box-shadow: 0px 0px 0px 2px black;

UPDATE
要使插页框阴影可见,可以使子div 4px像素的宽度小于父div。然后使用边距正确定位div。然而,我不确定这是否完全实现了你想要的?看这把小提琴。

.a{
    width: 200px;
    float: left;
    height: 200px;
    margin-right: 100px;
    background-color: red;
    box-shadow: inset 0px 0px 0px 2px black;
    -webkit-box-shadow: inset 0px 0px 0px 2px black;
    -moz-box-shadow: inset 0px 0px 0px 2px black;
}

.b {
    width: 196px;
    height: 100px;
    background-color: yellow;
    margin:2px auto 0 auto;
}

UPDATE 2
这个哈克应用一个覆盖到两个元素与框阴影。见小提琴。

HTML

<div class="a">
    <div class="b">How it is (Yellow div covers the box shadow)</div>
    <div class="shadow">&nbsp;</div>
</div>

CSS

.a{
    width: 200px;
    float: left;
    height: 200px;
    margin-right: 100px;
    background-color: red;
    position:relative;
}

.b {
    width: 200px;
    height: 100px;
    background-color: yellow;
}

.shadow {
    box-shadow: inset 0px 0px 0px 2px black;
    -webkit-box-shadow: inset 0px 0px 0px 2px black;
    -moz-box-shadow: inset 0px 0px 0px 2px black;
    position:absolute;
    top:0;
    width:200px;
    height:200px;
}
邢华清
2023-03-14

如果您想要一个不需要任何额外标记的解决方案,您可以使用“:前”伪类选择器:http://jsfiddle.net/7rRsw/8/

<div class="a"><div class="b">No extra markup needed</div></div>
.a {
    width: 200px;
    float: left;
    height: 200px;
    margin-right: 100px;
    background-color: red;
    position: relative;
}

.a:before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    width: 200px;
    height: 200px;
    box-shadow: inset 0px 0px 0px 2px black;
    -webkit-box-shadow: inset 0px 0px 0px 2px black;
    -moz-box-shadow: inset 0px 0px 0px 2px black;
}

.b {
    width: 200px;
    height: 100px;
    background-color: yellow;
}
 类似资料:
  • shadowdom结构:在上面的shadowdom结构中,我们可以在chrome中使用selenium和javascript访问各个元素,如下所示: 在Firefox中://div[@class='Style-Sconk-tabs'而不是(@隐藏)]//div/span[包含(text(),'AttrName')]/.../前驱兄弟姐妹::div/puch-icon-按钮[1]/铁图标[1] 在C

  • 问题内容: 我需要在某个元素上创建一个盒子阴影,但仅在其右侧(例如)。我做的方式是包装内部元件到外层一个和这样的阴影其他三面是不可见的。 有没有更好的方法来实现这一目标?喜欢吗? 编辑 :我的意图是 仅 创建阴影的垂直部分。与规则的作用完全相同。 问题答案: 是的,您可以使用box-shadow规则的shadow spread属性: 第四个属性是阴影散布,您可以使用它来改变阴影的散布,使阴影看起来

  • 我可以通过以下方式访问dev中的用户名: 有没有其他方法可以通过webdriver访问ShadowDOM元素?

  • 问题内容: 有没有办法改变阴影元素中的样式?具体来说,扩展/覆盖CSS 类中的 某些属性?我正在使用一个名为Beanote的扩展名,自2017年4月以来从未进行过更新,我想修复一个令人讨厌的错误。我发现一行css对我来说足以对其进行修补,但是我在不使用shadow元素本身并直接在dev工具中编辑这些样式的情况下应用它感到无所适从。 我正在寻找一种方法: 覆盖此: 我在网上找到的大多数资源都涉及到查

  • 有没有可能用蟒蛇硒在阴影DOM中找到元素? 示例用例: 我用输入了这个