2016-12-14 7 views
-1

現在、キャンバス要素をオーバーレイするdivを作成しようとしています。これらは両方ともラッパーdivに含まれています。ラッパーは固定された高さを持っていますが、オーバーレイのdivに100%の高さを追加すると、高さは0になります。ここではHTMLです:絶対配置されたdivは、親の高さの100%に展開されません

<div id="canvas-wrap"> 
    <canvas id="canvas" style="background-image: url('<%= @post.image.url%>');"></canvas> 
    <div id="overlay"> 
    </div> 
</div> 

とCSS:

#canvas-wrap { 
    position: relative; 
    height: 400px; 
    min-height: 400px; 

} 

#canvas { 
width: 100%; 
height: 100%; 
border-radius: 7px; 
box-shadow: 2px 1px 6px #a0a0a0; 
} 



#overlay { 
    position: absolute; 
    height: 100%; 
    top: 0; 
    left: 0; 
} 

これは私がhaventはとcanvas要素を使用してイムは前にこの問題に遭遇したことを彼事実witht行うためのものです。事前にみんなに感謝します。

+1

を背景画像を揃えますとにかく - http://codepen.io/Paulie-D/pen/WoamQL –

+0

この問題は、もはや再現できない問題や簡単な誤字によって引き起こされたものです。同様の質問がここでは話題になるかもしれないが、これは将来の読者を助けるとは思わない方法で解決された。 –

答えて

0

はこれを試してみてください。ここで

#overlay { 
    position: absolute; 
    width: 100%; 
    height: 100%; 
    top: 0; 
    bottom: 0; 
    right: 0; 
    left: 0; 
} 
+0

ありがとう、それは問題を解決しました。 – antonyCas

+0

あなたは歓迎です@antonyCas :) – Taniya

0

あなたが背景画像のプロパティを使用しています。それは要素の幅を決定しません。したがって、要素の幅の変更は期待できません。 したがって、幅ゼロではなくヌル高さが表示されます。 (高さが、ノー幅がありました)

ので、あなたのオーバーレイはまったく**幅**ので、それは表示されませんでしょう持つ親への固定幅を割り当て、その幅に

#canvas-wrap { 
    position: relative; 
    height: 400px; 
    min-height: 400px; 
    width: 600px; 
    min-width: 600px; 
} 

#canvas { 
width: 100%; 
height: 100%; 
border-radius: 7px; 
box-shadow: 2px 1px 6px #a0a0a0; 
background-size: cover; 
background-repeat: no-repeat; 
} 
関連する問題