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_Flexbox - Fatal编程技术网

Html 删除一个项目后,保留弹性项目

Html 删除一个项目后,保留弹性项目,html,css,flexbox,Html,Css,Flexbox,我有以下html: <div class="grommetux-box grommetux-box--direction-row grommetux-box--align-center grommetux-box--responsive grommetux-box--pad-none grommetux-box--wrap second-header"> <div class="grommetux-box grommetux-box--direction-row gro

我有以下html:

<div class="grommetux-box grommetux-box--direction-row grommetux-box--align-center grommetux-box--responsive grommetux-box--pad-none grommetux-box--wrap second-header">
    <div class="grommetux-box grommetux-box--direction-row grommetux-box--responsive grommetux-box--pad-none school-info">
        <header class="grommetux-box grommetux-box--direction-row grommetux-box--align-center grommetux-box--pad-horizontal-none grommetux-box--pad-vertical-none grommetux-box--pad-between-small grommetux-header school-name">
            <!-- react-text: 74 --><!-- /react-text -->
        </header>
        <header class="grommetux-box grommetux-box--direction-row grommetux-box--align-center grommetux-box--pad-horizontal-none grommetux-box--pad-vertical-none grommetux-box--pad-between-small grommetux-header grommetux-header--small school-code">
            <!-- react-text: 76 -->School Code: <!-- /react-text -->
        </header>
    </div>
    <div class="grommetux-box grommetux-box--direction-row grommetux-box--responsive grommetux-box--pad-none search-box">

    </div>
</div>

很抱歉,这段代码没有显示整个画面,但基本上我的问题是,当我删除第一个内部div时,第二个内部div替换了它(向左移动)。如何设计我的flex,以便在删除其中一项时不会影响另一项的位置?

如果flex容器中有多个项目,并且我们删除了一个或多个项目,浏览器将自动重新计算并更新其余项目的位置

但是有一种可能性,即我们不从DOM中删除项目,而是使用
可见性:hidden
从视图中隐藏它们。此css属性隐藏视图中的元素,但将它们保留在DOM中。因此,具有这种样式的元素将被隐藏,但保持空间在视图中

下面的代码片段中有一个快速演示:

.container{
最小高度:200px;
显示器:flex;
}
.项目{
背景:蓝色;
利润率:10px;
宽度:15%;
}
.item.hidden{
可见性:隐藏;
}


如果要移除物品,则会更新剩余物品的位置。您可以尝试
可见性:隐藏
,而不是删除项目。这样,它们就不会出现在屏幕上,项目的位置也将保持不变。哇,好提示。请写下答案以便我能接受。但有一个问题是,是否有人可以在chrome inspector上更改css选择器?如果我不想让某些用户看到某个组件,这会是一个安全问题吗?因为这只是一个建议,所以我认为将其作为答案发布不是一个好主意,因为可能还有其他更好的想法。如果安全性是一个问题,您可以只使用flex项中的内容,并将父项保留在DOM中(但为此,您需要为所有项指定宽度)。不客气,我已经发布了一个答案,并给出了简要说明。
.grommetux-box {
    display: -ms-flexbox;
    display: flex;
    background-position: 50%;
    background-size: cover;
    background-repeat: no-repeat;

}

.grommetux-box--direction-row {
    -ms-flex-direction: row;
    flex-direction: row;
}

.search-box {
    text-decoration: none;
    justify-content: flex-end;
}

.school-info {
    text-indent: inherit;
    flex-direction: inherit;
    justify-content: flex-start;
    display: flex;
}