我正在玩CSS元素的属性并编写了这段代码:
body { font-family: "Helvetica"; } .parent { background-color: yellow; overflow: auto; padding-bottom: 20px; display: inline-block; } .col { height: 200px; padding: 20px 10px; float:left; margin: 10px 10px; } .red { background-color: red; } .green { background-color: #00ff00; } .blue { background-color: #0000ff; color: white; } p:hover { background-color: #ffff00; }
为什么当我运行结果并将屏幕调整到蓝色浮动清除到下一行的点时,父div的黄色轮廓不会调整大小以适应宽度?
如果这令人困惑,我道歉.这是我的意思的一个直观的例子:
https://www.dropbox.com/s/9r7mhizfqdbyflh/Screenshot%202014-12-24%2001.02.36.png?dl=0
尽管存在内联块,为什么还留下黄色空间?是因为浮动保留了那里的预留空间,即使它被清除到下一行?
的jsfiddle:@H_502_13@http://jsfiddle.net/ffxg9qq0/1/embedded/result/
谢谢!
解决方法
这个空间是浮动的原因:孩子们的左边
你需要编写@media查询,以便.parent调整
@media screen and (max-width: 400px){ .col{ float:none; } }
将以下小提琴调整为最大宽度400px
演示 – http://jsfiddle.net/ffxg9qq0/3/
body { font-family: "Helvetica"; } .parent { background-color: yellow; overflow: auto; padding-bottom: 20px; display: inline-block; } .col { height: 200px; padding: 20px 10px; margin: 10px 10px; float: left; } .red { background-color: red; } .green { background-color: #00ff00; } .blue { background-color: #0000ff; color: white; } p:hover { background-color: #ffff00; } @media screen and (max-width: 400px) { .col { float: none; } }
<div class='parent'> <div class='col green'> <p>I'm in a green float!</p> </div> <div class="col red"> <p>I'm in a red float!</p> </div> <div class="col blue"> <p>I'm in a blue float!</p> </div> </div>