2016-12-16 5 views
1

これは私を狂ってしまいました。純粋なCSSでこれを行う方法があるのだろうかと思います。私がしようとしているのは、固定された高さの親div(紫色)です。その紫色のdivの中で、私はオレンジ色のdivに縦横比を維持し、親divの高さに拡大します。親divのサイズを変更すると、オレンジ色のdivはアスペクト比に応じて拡大縮小されます。アスペクト比を維持しながら、親divに合わせて四角形のdivを拡大します

注:イメージまたはパーセントの親の高さなしでこれを行うようにしてください。

を参照してください例: enter image description here

+0

[高さに応じてDIVアスペクト比を維持](http://stackoverflow.com/questions/26438388/maintain-div-aspect-ratio-according-to-heightの可能な重複) –

+0

いいえ私は画像と親の固定高さの高さなしでこれをしようとしています。 –

+0

イメージはトリックの一部です。透明(目に見えない)1x1 PNGにすることができ、それでもタスクを達成できます。この方法では、親は任意の高さにすることができ、固定されたpx量ではありません。 –

答えて

0

あなたは、いくつかの簡単なJSでそれを行うことができます。子(または親)の高さを取得して幅を設定するだけです。必要に応じて計算を使用して、必要な比率を得ることができます。

var width = document.getElementById('child').offsetHeight; 
 
document.getElementById('child').style.width = width + 'px';
#parent{ 
 
    width: 100%; 
 
    height: 100px; 
 
    background-color: purple; 
 
} 
 
#child{ 
 
    height: 100%; 
 
    background-color: yellow; 
 
}
<div id="parent"> 
 
    <div id="child"></div> 
 
</div>

+0

送信していただきありがとうございます。あなたはJSが唯一の方法だと思いますか?私は純粋なCSSでそれを解決しようとしています。私がそれを働かせることができるかどうか見るためにフレックスボックスといくつかの他のマージンハッキングで遊んでください。 –

+0

cssには 'calc'関数があります。これはいくつかのことを可能にすることができますが、本当に必要なのはcss変数です。これはクロスブラウザではサポートされていません。 – mhatch

+0

私はちょうど盛りだくさんを使用して終わった –

関連する問題