Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.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
Html “显示”属性设置为“无”时删除边框_Html_Css_Border_Display - Fatal编程技术网

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

这似乎是一项简单的任务,但由于某些原因,当display属性设置为none时,我在删除边框时遇到问题

我一直理解的是,当display属性设置为none时,它会从html流中删除该元素。但是,在我提供的示例中,它仍然显示最后一个元素上的边框

<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上的元素,但不会完全删除它。