画布无法填满div

时间:2018-06-20 23:29:40

标签: jquery html css html5-canvas

我需要一个画布作为div的背景,因此我放置了一个与之重叠的画布。但是,它并没有填满整个内容。我尝试设置左,右,上和下,并设置边距和填充0,但是它不起作用。 LINK。 CSS:

body {
     background: white;
     padding: 20px;
     font-family: Helvetica;
     height:100%;
}
 #editor_contentwrapper{
     box-sizing: border-box;
     background: #353535;
     position: absolute;
     height:100%;
     width:70%;
     left:0px;
     top:0px;
     overflow-y: scroll;
     padding-top:30px;
}
 #editor_settings{
     background: gray;
     position: absolute;
     height:100%;
     width:30%;
     left:70%;
     top:0px;
}
 #editor_editor{
     background: white;
     width:90%;
     min-width:400px;
     min-height:100%;
     margin:auto;
}
 #editor_canv{
     position:relative;
     left:0;
     top:0;
     background:red;
     width:100%;
     height: 100%;
}

HTML:

<div id=editor_contentwrapper>
   <div id=editor_editor>
      <canvas id=editor_canv></canvas>
   </div>
</div>
<div id=editor_settings></div>

1 个答案:

答案 0 :(得分:0)

我发现为了仅使用css使子元素与父元素具有相同的高度,您将不得不稍微更改css,如下所示:

#editor_editor{
  position: relative;
  background: white;
  width:90%;
  min-width:400px;
  min-height:100%;
  margin:auto;
}
#editor_canv{
  position: absolute;
  background:red;
  width:100%;
  height: 100%;
}

因此,父元素(在本例中为#editor_editor)的位置为相对,子元素的位置为绝对位置。将子元素#editor_canv的高度设置为100%,将调整为父元素的大小。这是js小提琴: https://jsfiddle.net/vhsdLncu/35/。如果您想了解更多信息,请参见以下教程:https://css-tricks.com/scaled-proportional-blocks-with-css-and-javascript/ 希望有帮助!