css – 100%的宽度div不跨越webkit中浏览器的整个宽度

前端之家收集整理的这篇文章主要介绍了css – 100%的宽度div不跨越webkit中浏览器的整个宽度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个困难的时刻,我认为这将是一个死的简单的问题.

我正在尝试创建跨越浏览器窗口宽度的100%的div.该div充满了几个孩子的div,扩展,以填补整个空间与交替的颜色,如足球场.这些div将展开以适应给定空间的全宽,该空间具有单个1%的条纹,可以充分填充该空间.

这在Firefox中似乎工作正常,但在Safari(和Chrome)中,计算似乎太严格,并且在最右边的div上留下了一些额外的剩余空间.

有没有办法避免这个剩下的空间?即使将它放在固定宽度的div中,Safari和Chrome中也遇到了同样的问题,右边总是有空格.我想知道我是否只是要求它做太多的数学?

这是我正在使用的代码,替代版本将空格分成5%的分割和1%的分割.对不起,它是冗长而冗长的代码.

  1. <html>
  2. <head>
  3.  
  4. <style type="text/css">
  5. <!--
  6.  
  7. body {
  8. margin: 0;
  9. padding: 0;
  10. border: 0;
  11. font-size: 100%;
  12. font: inherit;
  13. vertical-align: baseline;
  14. }
  15.  
  16. .clearfix {
  17. visibility: hidden;
  18. display: block;
  19. font-size: 0;
  20. content: " ";
  21. clear: both;
  22. height: 0;
  23. }
  24.  
  25. #field {
  26. width: 100%;
  27. background: #009900;
  28. height: 100px;
  29. margin: 0;
  30. margin-bottom: 25px;
  31. padding: 0;
  32. }
  33.  
  34. .singleyard {
  35. width: 1%;
  36. float: left;
  37. margin: 0;
  38. padding: 0;
  39. background: #009900;
  40. }
  41.  
  42. .fiveyards {
  43. width: 5%;
  44. float: left;
  45. margin: 0;
  46. padding: 0;
  47. }
  48.  
  49. .alt {
  50. background: rgba(0,0.25);
  51. }
  52.  
  53. .oneyard {
  54. width: 20%;
  55. float: left;
  56. margin: 0;
  57. padding: 0;
  58. }
  59.  
  60. -->
  61. </style>
  62.  
  63. </head>
  64.  
  65. <body>
  66.  
  67.  
  68. <div id="field">
  69. <div class="fiveyards">5</div>
  70. <div class="fiveyards alt">10</div>
  71.  
  72. <div class="fiveyards">15</div>
  73. <div class="fiveyards alt">20</div>
  74.  
  75. <div class="fiveyards">25</div>
  76. <div class="fiveyards alt">30</div>
  77.  
  78. <div class="fiveyards">35</div>
  79. <div class="fiveyards alt">40</div>
  80.  
  81. <div class="fiveyards">45</div>
  82. <div class="fiveyards alt">50</div>
  83.  
  84. <div class="fiveyards">55</div>
  85. <div class="fiveyards alt">60</div>
  86.  
  87. <div class="fiveyards">65</div>
  88. <div class="fiveyards alt">70</div>
  89.  
  90. <div class="fiveyards">75</div>
  91. <div class="fiveyards alt">80</div>
  92.  
  93. <div class="fiveyards">85</div>
  94. <div class="fiveyards alt">90</div>
  95.  
  96. <div class="fiveyards">95</div>
  97. <div class="fiveyards alt">100</div>
  98.  
  99. </div>
  100.  
  101.  
  102. <div id="field">
  103. <!--below section is repeated 10 times -->
  104. <div class="singleyard">1</div>
  105. <div class="singleyard">2</div>
  106. <div class="singleyard">3</div>
  107. <div class="singleyard">4</div>
  108. <div class="singleyard">5</div>
  109. <div class="singleyard">6</div>
  110. <div class="singleyard">7</div>
  111. <div class="singleyard">8</div>
  112. <div class="singleyard">9</div>
  113. <div class="singleyard alt">10</div>
  114. <!--end repeated section-->
  115.  
  116. </div>
  117. </body>
  118. </html>

解决方法

我有同样的问题,这是我发现的:你的CSS中的某个地方有另一个div宽度为100%,并且还有填充.由于填充值被添加到宽度,该div的值将大于100%.解决方案是确保不要在设置为100%宽度的任何div上使用填充.如果您需要填充,请尝试将填充添加到div内的元素.

猜你在找的CSS相关文章