2016-05-04 14 views
0

私は動的に任意のビューポートで見栄えするためにいくつかの内部計算に基づいた要素の高さを割り当て3Dパーティのライブラリ(fullcalendar)を持っている:別の要素に基づいて1つの要素にstyle/cssを割り当てることはできますか?

<div style="height: 72px;"> 

ただし、これは一部が固定している、すべての要素のために発生しません。高さ。私は3Dパーティーライブラリのコードを変更したくないし、cssを使ってある要素のスタイルを別の要素のスタイルに何らかの形で適用することが可能であれば考えていた。何かのように:

.myDiv { 
    height: anotherDiv.height 
} 

多分同じ結果を得るためのいくつかの方法がありますが、私は考えることができません。あまりその可能性を使用して

+3

JavaScriptを使用してください。プレーンバニラCSS no。 – j08691

+0

要素がネストされるまで純粋なCSSでは可能ではないと思います。 –

+0

他のdivには既知の高さ、ID、またはクラスがありますか?コンテナ内の特定の場所のdivである場合、そのdivのクラスを別のクラスに追加するか、より具体的なセレクタを使用してそのdivをターゲットにすることによって、CSSはそうすることができます。それ以外の場合は、必要な高さを取得して、この特定のdivに適用するためにjavascriptが必要です...不明確かもしれませんが、あなたの質問は肯定的または否定的な答えを出すのに十分なものではありません...あなたの構造、ids、クラスあなたのスタイルシート。私たちはちょうど公正に答えることができます:それは依存していますか、またはいくつかのpersonnal意見や推測に行く –

答えて

2

私はあなたがJavascriptと解決策を探している場合(それが唯一のCSSで可能であるならば、私は知らないが、私はそうは思わない)知りませんが、ここでのアプローチですそれを使用して:あなたは、2つの異なるIDを持つ2つのdiv要素がある場合

<div id="div1" style="height: 72px;"></div> 
<div id="div2"></div> 

を次にあなたが読むことができますそれがどのように動作するかを確認する

var div2 = document.getElementById('div2'); 
div2.style.height = height1; 

JSFiddle

var element = document.getElementById('div1'), 
    style = window.getComputedStyle(element), 
    height1 = style.getPropertyValue('height'); 

2つ目に設定する:getComputedStyle()を使用して最初の1のスタイルプロパティ。

+0

助けてくれてありがとう、しかし、私はジャバスクリプトなしでそれをやろうとしていました.3Dパーティーコンポーネントの高さはサイズ変更中に変更されます。おそらく他の方法はありませんが... –

+0

@IlyaChernomordikおそらく上記の関数に入れたコードをラップし、onresizeメソッドで呼び出すことができます:https://developer.mozilla.org/en-US/docs/ Web/API/GlobalEventHandlers/onresize –

+0

助けてくれてありがとう、私はそれをやろうとします –

0

は、彼らが同じコンテナ内にある場合、あなたはflexboxを使用することができます例

.rounded_corners { 
     -moz-border-radius: 8px; 
     -webkit-border-radius: 8px; 
     border-radius: 8px; 
    } 

    #header { 
     .rounded_corners; 
    } 

    #footer { 
     .rounded_corners; 
    } 
0

を参照してください。

#container { 
 
     display: flex; 
 
     flex-direction: row; 
 
     align-items:stretch /* That line gives them the same height */ 
 
    } 
 

 
#container > * { 
 
    background:gray; 
 
    border:1px solid black; 
 
    margin-right:5px; 
 
}
<div id="container"> 
 
     <div> 
 
     Some<br>very<br>high<br>text<br>that<br>uses<br>disgusting<br>BRs 
 
     </div> 
 
     <div> 
 
     The short one 
 
     </div> 
 
    </div>

+0

こんにちは、彼らは(同じ遠い親を持っている)同じ容器の下に直接ではないので、私はこれが動作しないと思いますか? –

+0

いいえ、私はうまくいかないでしょう。申し訳ありません。 – SteeveDroz

+0

とにかく助けてくれてありがとう:) –

関連する問題