html – 如何在父元素和父元素的兄弟元素上显示子元素?
发布时间:2020-12-14 19:43:14 所属栏目:资源 来源:网络整理
导读:我的问题与这个问题有关: Show child element above parent element using CSS 对该问题的回答,设置溢出:可见,仅适用于一个孩子的一个父母.但是,我有这些元素的行;父母的行,我需要孩子在父母身上显示.我可以让孩子显示原来的父母,但我不能让孩子显示父母的
我的问题与这个问题有关:
Show child element above parent element using CSS 对该问题的回答,设置溢出:可见,仅适用于一个孩子的一个父母.但是,我有这些元素的行;父母的行,我需要孩子在父母身上显示.我可以让孩子显示原来的父母,但我不能让孩子显示父母的兄弟姐妹.为了让您了解我在说什么,这是一个截图: 我想要的是选项弹出窗口,隐藏在接下来的两行后面的元素,显示在这两行上,就像它显示在它的直接父级上一样.我一直在搞乱它,并没有想出来,所以希望这里的人能够提供帮助. 这是基本结构: .row,.selector { position: relative; } .label,.selector { display: inline-block; } .selector { overflow: visible; } .selector-inner { display: block; } .selector-arrow { float: right; width: 21px; height: 21px; background: url(arrow.png) no-repeat center center; } .selector-caption { display: inline-block; } .options-popup { position: absolute; z-index: 100; top: 0px; right: 0px; } .options-item { /* only for fonts and sizes */ } <div class="row"> <div class="label">Color Scheme:</div> <div class="selector"> <div class="selector-inner"> <div class="selector-arrow"></div> <div class="selector-caption">Standard</div> </div> <div class="options-popup"> <div class="options-item">Standard</div> <div class="options-item">Dark</div> <div class="options-item">Light</div> </div> </div> </div> 我该怎么做才能让选项弹出窗口显示在所有其他元素上?我需要对HTML做些什么吗? 解决方法
position:元素的relative创建一个新的定位上下文.此元素的子元素位于此本地上下文中.他们不能离开这种背景.如果要将子元素放在其父元素的兄弟元素之上,则应将其父元素的z-index设置为高于其兄弟元素的z-index的值.
如果元素相对于其兄弟节点的有效z-index位置完全取决于它们的DOM树顺序,那么在DOM树中的所有兄弟节点之后将元素移动到位置(如果在语义上合适)也可以帮助. 请注意,您始终可以通过JavaScript动态更改z-index(只是,根据Unobtrusive JS,不要忘记提供合理的纯CSS替代方案,以便在禁用JS时不隐藏内容). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读