2016-06-11 9 views
1

Auf dieser Seite wird eine vertikale Bildlaufleiste angezeigt. Warum ? Wenn ich das Element 'canvas' durch ein Element 'div' ersetze, funktioniert alles einwandfrei. Um die Schriftrolle verschwinden zu lassen, kann ich folgendes ändern:Canvas-Abmessungen bewirken, dass eine vertikale Bildlaufleiste angezeigt wird

Höhe: calc (100% - 80px);

zu:

Höhe: calc (100% - 85px);

Aber das ist nicht richtig, weil ich Platz am unteren Rand der Seite zu verlieren.

<!DOCTYPE html> 
<html lang="en-us"> 

<head> 
    <style> 
     html { 
      padding: 0px; 
      border: 0px; 
      margin: 0px; 
      height: 100%; 
      width: 100%; 
     } 

     body { 
      padding: 0px; 
      border: 0px; 
      margin: 0px; 
      height: 100%; 
      width: 100%; 
      background: #00FFFF; 
     } 

     .top { 
      padding: 0px; 
      border: 0px; 
      margin: 0px; 
      background-color: #FF0000; 
      width: 100%; 
      height: 80px; 
     } 

     .cv { 
      padding: 0px; 
      border: 0px; 
      margin: 0px; 
      background-color: #00FF00; 
      width: 100%; 
      height: calc(100% - 80px); 
      border-image-width: 0px;  
     } 
    </style> 

</head> 

<body> 

    <div class="top"> 
    </div> 

    <canvas class="cv"> 
    </canvas> 

</body> 

</html> 

Antwort

3

Diese Rolle wegen canvas ist, wie es ist standardmäßig ein inline Element.

hinzufügen overflow: hidden zu body

body { 
    overflow: hidden; 
} 

oder Sie können durch eine von zwei Möglichkeiten, um zusätzlichen Leerraum von Leinwand entfernen:

  1. .cv {display: block;}
  2. .cv {vertical-align: top;}

html { 
 
    padding: 0px; 
 
    border: 0px; 
 
    margin: 0px; 
 
    height: 100%; 
 
    width: 100%; 
 
} 
 

 
body { 
 
    padding: 0px; 
 
    border: 0px; 
 
    margin: 0px; 
 
    height: 100%; 
 
    width: 100%; 
 
    background: #00FFFF; 
 
} 
 

 
.top { 
 
    padding: 0px; 
 
    border: 0px; 
 
    margin: 0px; 
 
    background-color: #FF0000; 
 
    width: 100%; 
 
    height: 80px; 
 
} 
 

 
.cv { 
 
    padding: 0px; 
 
    border: 0px; 
 
    margin: 0px; 
 
    background-color: #00FF00; 
 
    width: 100%; 
 
    height: calc(100% - 80px); 
 
    border-image-width: 0px; 
 
    display: block; 
 
}
<div class="top"> 
 
</div> 
 

 
<canvas class="cv"> 
 
</canvas>

1

Fügen Sie diese:

.cv { 
     display: block; /* ADD ME!!!! */ 

weil Leinwand ist standardmäßig ein Inline-Element

Verwandte Themen