Html “显示”属性设置为“无”时删除边框
这似乎是一项简单的任务,但由于某些原因,当display属性设置为none时,我在删除边框时遇到问题 我一直理解的是,当display属性设置为none时,它会从html流中删除该元素。但是,在我提供的示例中,它仍然显示最后一个元素上的边框Html “显示”属性设置为“无”时删除边框,html,css,border,display,Html,Css,Border,Display,这似乎是一项简单的任务,但由于某些原因,当display属性设置为none时,我在删除边框时遇到问题 我一直理解的是,当display属性设置为none时,它会从html流中删除该元素。但是,在我提供的示例中,它仍然显示最后一个元素上的边框 <div class="outer"> <div class="inner"> <div class="control">Foo</div> <div class="control d
<div class="outer">
<div class="inner">
<div class="control">Foo</div>
<div class="control d-none">Bar</div>
</div>
</div>
福
酒吧
d-none元素仍然存在,只是用户看不见。如果您检查容器,您将看到它仍然在那里,因此Foo不被视为最后一个子对象,因此仍然应用border
您试图实现的目标无法用CSS实现,只有您需要使用Javascript或JQuery。您链接的JSFIDLE显示您正在使用“Foo”而不是“Bar”在控件上添加边框:不是(:last child),因此您正在对每个控件类执行此操作,但最后一个child不会使用“Foo”既然“Bar”被设置为从html中删除,那么在这种情况下是否被视为最后一个子项?这就是我在弄明白上遇到的困难。我同意吉恩的观点。您是要完全删除“Bar”块还是删除“Foo”上的边框?不,Bar元素仍然存在。html不会被删除。仅不可见/渲染/您对显示的理解:没有错误。显示:无将隐藏HTML上的元素,但不会完全删除它。