2017-06-28 29 views
2

Div的拒绝充当块元素

.useless { 
 
\t float: right; 
 
\t clear: right; 
 
\t border: 1px dashed blue; 
 
\t height: 50px; 
 
\t width: 100%; 
 
} 
 
div.pretraga { 
 
\t border: 3px groove red; 
 
\t width: 20%; 
 
\t float: right; 
 
\t margin-right: 5%; 
 
\t border-top: 0; 
 
\t display: flex; 
 
\t justify-content: center; 
 
\t height: 250px;
<div class="pretraga"> 
 
    <div class="useless"> 
 
    </div> 
 
    <div class="useless"> 
 
    </div> 
 
</div>

我有一个div 2周内的div拒不充当块元素。出于某种原因,它们以串联方式显示,而不是在彼此之下。你能解释一下这是什么原因,而不仅仅是如何解决它? 较大的div有宽度和高度设置。 较小的div也设置了它们的尺寸。 显示:块用于所有3个div。 我尝试使用浮动,没有工作。 我尝试使用明确与浮动一起,没有工作。 唯一能够工作但非常可怕的就是给予他们每个人的位置:亲戚。

你不需要为我提供的代码,只是请尽量解释为什么出现这种情况,究竟是一般的问题,你怎么解决这个问题,因为对我来说,作为一个初学者,它不会使感觉到它们有时在下面显示,有时彼此相邻。

white-border: smaller divs, red-border: large div

+0

嘿SHC,你可以编辑你的问题来包含一个[mcve],如果可能的话,作为一个Stack Snippet? – domsson

+0

css? HTML?需要看代码。 – Hash

+0

已编辑。我不想上传代码,因为当前版本的代码只是我尝试过的一件事,反正有它。 –

回答

2

这是因为你的父母使用柔性 - Flex的父母子女的默认值是彼此相邻对齐,去除弯曲,它会工作。

我还要说,作为你的孩子是100%的宽度,没有必要为浮动,所以你可以删除过

.useless { 
 
    border: 1px dashed blue; 
 
    height: 50px; 
 
    width: 100%; 
 
} 
 

 
div.pretraga { 
 
    border: 3px groove red; 
 
    width: 20%; 
 
    float: right; 
 
    margin-right: 5%; 
 
    border-top: 0; 
 
    justify-content: center; 
 
    height: 250px; 
 
}
<div class="pretraga"> 
 
    <div class="useless"> 
 
    </div> 
 
    <div class="useless"> 
 
    </div> 
 
</div>

More information about flexbox

Flexbox playground (codepen)

+0

感谢。 ..不知道它也会影响孩子:/ –

+0

只是一对夫妇的有用Flexbox的链接编辑 - 如果希望家长继续作为柔性,只需添加'弯曲方向:column'到它,所以它排队的孩子们在柱 – Pete