HTML – 为什么浮标在逃到下一行时会留下“幻影”空间?

前端之家收集整理的这篇文章主要介绍了HTML – 为什么浮标在逃到下一行时会留下“幻影”空间?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在玩CSS元素的属性并编写了这段代码
  1. body {
  2. font-family: "Helvetica";
  3. }
  4. .parent {
  5. background-color: yellow;
  6. overflow: auto;
  7. padding-bottom: 20px;
  8. display: inline-block;
  9. }
  10. .col {
  11. height: 200px;
  12. padding: 20px 10px;
  13. float:left;
  14. margin: 10px 10px;
  15. }
  16. .red {
  17. background-color: red;
  18. }
  19. .green {
  20. background-color: #00ff00;
  21. }
  22. .blue {
  23. background-color: #0000ff;
  24. color: white;
  25. }
  26. p:hover {
  27. background-color: #ffff00;
  28. }

为什么当我运行结果并将屏幕调整到蓝色浮动清除到下一行的点时,父div的黄色轮廓不会调整大小以适应宽度?

如果这令人困惑,我道歉.这是我的意思的一个直观的例子:

https://www.dropbox.com/s/9r7mhizfqdbyflh/Screenshot%202014-12-24%2001.02.36.png?dl=0

尽管存在内联块,为什么还留下黄色空间?是因为浮动保留了那里的预留空间,即使它被清除到下一行?

的jsfiddle:
http://jsfiddle.net/ffxg9qq0/1/embedded/result/

谢谢!

解决方法

这个空间是浮动的原因:孩子们的左边

你需要编写@media查询,以便.parent调整

  1. @media screen and (max-width: 400px){
  2. .col{
  3. float:none;
  4. }
  5. }

将以下小提琴调整为最大宽度400px

演示 – http://jsfiddle.net/ffxg9qq0/3/

  1. body {
  2. font-family: "Helvetica";
  3. }
  4. .parent {
  5. background-color: yellow;
  6. overflow: auto;
  7. padding-bottom: 20px;
  8. display: inline-block;
  9. }
  10. .col {
  11. height: 200px;
  12. padding: 20px 10px;
  13. margin: 10px 10px;
  14. float: left;
  15. }
  16. .red {
  17. background-color: red;
  18. }
  19. .green {
  20. background-color: #00ff00;
  21. }
  22. .blue {
  23. background-color: #0000ff;
  24. color: white;
  25. }
  26. p:hover {
  27. background-color: #ffff00;
  28. }
  29. @media screen and (max-width: 400px) {
  30. .col {
  31. float: none;
  32. }
  33. }
  1. <div class='parent'>
  2. <div class='col green'>
  3. <p>I'm in a green float!</p>
  4. </div>
  5. <div class="col red">
  6. <p>I'm in a red float!</p>
  7. </div>
  8. <div class="col blue">
  9. <p>I'm in a blue float!</p>
  10. </div>
  11. </div>

猜你在找的HTML相关文章