外側のdivの高さを常に特定の内側のdivと等しくなるように設定するにはどうすればよいですか?

CodyBugstein

3つの内部divを含む外部divがあります。

左端の内側のdivで常に外側のdivの高さを決定する必要があります。他の内部divのコンテンツが[左端のdivより]少ない場合、それらには空のスペースがあります。[左端のdivより]多くのコンテンツがある場合は、スクロールバーが表示されます。

SO上のいくつかの他の質問はの高さに、外側のdivの高さを設定することについて尋ねるの内側のdiv。ただし、私の場合、複数の内部divがあり、外部divの高さが左端のdivの高さよりも多かれ少なかれ高くなることはありません。

特にCSSのみを使用してこれを行う方法はありますか?

特定の内側divの外側divの高さ

アフィフに同行

アイデアは、絶対位置を使用してフローからコンテンツの一部を作成し、高さに影響を与えないようにしてから、メインレイアウトにflexboxを使用することです。

.container {
  display: flex;
  border: 1px solid;
  padding: 5px;
  box-sizing: border-box;
}

.container>div {
  flex: 1;
  margin: 5px;
  border: 1px solid;
  box-sizing: border-box;
}
div.inner {
  border-color:red;
}

.inner-alt {
  position: relative;
  overflow: auto;
}

.inner-alt>div {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
}
<div class="container">
  <div class="inner">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dignissim ipsum orci, </div>
  <div class="inner-alt">
    <div>ut volutpat ligula finibus a. Maecenas ut pharetra ante. Nunc volutpat est eu odio vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
  <div class="inner-alt">
    <div>eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
</div>
<div class="container">
  <div class="inner">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dignissim ipsum orci, io vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate</div>
  <div class="inner-alt">
    <div>ut volutpat ligula finibus a. Maecenas ut pharetra ante. Nunc volutpat est eu odio vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
  <div class="inner-alt">
    <div>eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
</div>
<div class="container">
  <div class="inner">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dignissim ipsum orci, io vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate , eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate</div>
  <div class="inner-alt">
    <div>ut volutpat ligula finibus a. Maecenas ut pharetra ante. Nunc volutpat est eu odio vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
  <div class="inner-alt">
    <div>eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
</div>

これが使用する別のトリックです height:0;min-height:100%

.container {
  display: flex;
  border: 1px solid;
  padding: 5px;
  box-sizing: border-box;
}

.container>div {
  flex: 1;
  margin: 5px;
  border: 1px solid;
  box-sizing: border-box;
}
div.inner {
  border-color:red;
}

.inner-alt {
  position: relative;
  overflow:auto;
}

.inner-alt>div {
  height:0;
  min-height:100%;
}
<div class="container">
  <div class="inner">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dignissim ipsum orci, </div>
  <div class="inner-alt">
    <div>ut volutpat ligula finibus a. Maecenas ut pharetra ante. Nunc volutpat est eu odio vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
  <div class="inner-alt">
    <div>eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
</div>
<div class="container">
  <div class="inner">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dignissim ipsum orci, io vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate</div>
  <div class="inner-alt">
    <div>ut volutpat ligula finibus a. Maecenas ut pharetra ante. Nunc volutpat est eu odio vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
  <div class="inner-alt">
    <div>eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
</div>
<div class="container">
  <div class="inner">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dignissim ipsum orci, io vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate , eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate</div>
  <div class="inner-alt">
    <div>ut volutpat ligula finibus a. Maecenas ut pharetra ante. Nunc volutpat est eu odio vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
  <div class="inner-alt">
    <div>eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
</div>

追加のラッパーを使用せず、CSSグリッドを使用する上記と同じアイデア:

.container {
  display: grid;
  grid-template-columns:1fr 1fr 1fr;
  grid-gap:10px;
  border: 1px solid;
  padding: 10px;
  box-sizing: border-box;
}

.container>div {
  border: 1px solid;
  box-sizing: border-box;
}
div.inner {
  border-color:red;
}

.inner-alt {
  overflow:auto;
  height:0;
  min-height:100%;
}
<div class="container">
  <div class="inner">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dignissim ipsum orci, </div>
  <div class="inner-alt">
    ut volutpat ligula finibus a. Maecenas ut pharetra ante. Nunc volutpat est eu odio vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
 
  <div class="inner-alt">
    eget ibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  
</div>
<div class="container">
  <div class="inner">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dignissim ipsum orci, io vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate</div>
  <div class="inner-alt">
    <div>ut volutpat ligula finibus a. Maecenas ut pharetra ante. Nunc volutpat est eu odio vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  </div>
  <div class="inner-alt">
    eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
</div>
<div class="container">
  <div class="inner">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec dignissim ipsum orci, io vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate , eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate</div>
  <div class="inner-alt">
    ut volutpat ligula finibus a. Maecenas ut pharetra ante. Nunc volutpat est eu odio vestibulum, eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
  <div class="inner-alt">
    eget bibendum risus commodo. Nullam tristique nibh sed iaculis vulputate. Vivamus ac tincidu</div>
</div>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

少なくとも体の高さに一致するように内側のdivを作成するにはどうすればよいですか?

分類Dev

外側の div の高さを内側の div と同じに保つにはどうすればよいですか?

分類Dev

WPFで、外側、中央、内側の境界線を設定するにはどうすればよいですか?

分類Dev

divの外側のすべてを暗くするにはどうすればよいですか?

分類Dev

子要素を外側の div の右側に揃えるにはどうすればよいですか?

分類Dev

右のdivの高さを動的にサイズ設定された左のdivと等しくするにはどうすればよいですか?

分類Dev

内側の円の内側と外側の円の外側で線分を削除するにはどうすればよいですか?

分類Dev

divを開くときに、右側の情報が下にプッシュされないようにするにはどうすればよいですか?

分類Dev

コンテナの外側と内側にインラインdivを表示するにはどうすればよいですか?

分類Dev

固定の高さと幅をdivに設定するにはどうすればよいですか

分類Dev

'div'の高さを隣人と同じに設定するにはどうすればよいですか?

分類Dev

表示されているように設定されているjDialog(if条件の内側)を非表示にするためにvisibleを設定するにはどうすればよいですか(ループの外側)?

分類Dev

3 つの DIV を別の DIV の内側に並べて、最後の DIV を正しく揃えるにはどうすればよいですか?

分類Dev

matplotlibで3次元軸の外側に凡例を設定するにはどうすればよいですか?

分類Dev

複数のdivの内側/外側のイベント「クリック」の条件を作成するにはどうすればよいですか?

分類Dev

CSSを使用してhtmlの外側のdivの高さを設定できるのに、折りたたまれたままの内側のdivの高さを設定できないのはなぜですか?

分類Dev

画像に示されているように、divの外側に境界線を作成するにはどうすればよいですか?

分類Dev

特定のdivの外側にスクロールした場合にクラスを追加するにはどうすればよいですか?

分類Dev

複数のdivを左側に垂直に配置し、1つの大きなdivを右側に配置するにはどうすればよいですか?

分類Dev

divの外側のリンクをクリックしたときに、divの幅と高さを変更するにはどうすればよいですか?

分類Dev

Flutter Dart-内側ではなく外側のborderRadius.circular(20)でコンテナを作成するにはどうすればよいですか?

分類Dev

css-2つの右のdivの高さを左のdivの高さと等しくするにはどうすればよいですか

分類Dev

スリックスライダー:矢印を外側ではなく内側に設定するにはどうすればよいですか?

分類Dev

右の列が左の列の内側にある 2 つの等しい高さの列を作成するにはどうすればよいですか?

分類Dev

フレックスレイアウトを損なうことなくdivの右側に画像を表示するにはどうすればよいですか?

分類Dev

ループの内側に戻る-ループの外側にあることを確認するにはどうすればよいですか?

分類Dev

divの最小の高さを別のdivの高さに設定するにはどうすればよいですか?

分類Dev

:: afterコンテンツを常に<a>の内側に配置するにはどうすればよいですか?

分類Dev

純粋なCSSで大きい列の高さを小さい列の高さに等しく設定するにはどうすればよいですか?

Related 関連記事

  1. 1

    少なくとも体の高さに一致するように内側のdivを作成するにはどうすればよいですか?

  2. 2

    外側の div の高さを内側の div と同じに保つにはどうすればよいですか?

  3. 3

    WPFで、外側、中央、内側の境界線を設定するにはどうすればよいですか?

  4. 4

    divの外側のすべてを暗くするにはどうすればよいですか?

  5. 5

    子要素を外側の div の右側に揃えるにはどうすればよいですか?

  6. 6

    右のdivの高さを動的にサイズ設定された左のdivと等しくするにはどうすればよいですか?

  7. 7

    内側の円の内側と外側の円の外側で線分を削除するにはどうすればよいですか?

  8. 8

    divを開くときに、右側の情報が下にプッシュされないようにするにはどうすればよいですか?

  9. 9

    コンテナの外側と内側にインラインdivを表示するにはどうすればよいですか?

  10. 10

    固定の高さと幅をdivに設定するにはどうすればよいですか

  11. 11

    'div'の高さを隣人と同じに設定するにはどうすればよいですか?

  12. 12

    表示されているように設定されているjDialog(if条件の内側)を非表示にするためにvisibleを設定するにはどうすればよいですか(ループの外側)?

  13. 13

    3 つの DIV を別の DIV の内側に並べて、最後の DIV を正しく揃えるにはどうすればよいですか?

  14. 14

    matplotlibで3次元軸の外側に凡例を設定するにはどうすればよいですか?

  15. 15

    複数のdivの内側/外側のイベント「クリック」の条件を作成するにはどうすればよいですか?

  16. 16

    CSSを使用してhtmlの外側のdivの高さを設定できるのに、折りたたまれたままの内側のdivの高さを設定できないのはなぜですか?

  17. 17

    画像に示されているように、divの外側に境界線を作成するにはどうすればよいですか?

  18. 18

    特定のdivの外側にスクロールした場合にクラスを追加するにはどうすればよいですか?

  19. 19

    複数のdivを左側に垂直に配置し、1つの大きなdivを右側に配置するにはどうすればよいですか?

  20. 20

    divの外側のリンクをクリックしたときに、divの幅と高さを変更するにはどうすればよいですか?

  21. 21

    Flutter Dart-内側ではなく外側のborderRadius.circular(20)でコンテナを作成するにはどうすればよいですか?

  22. 22

    css-2つの右のdivの高さを左のdivの高さと等しくするにはどうすればよいですか

  23. 23

    スリックスライダー:矢印を外側ではなく内側に設定するにはどうすればよいですか?

  24. 24

    右の列が左の列の内側にある 2 つの等しい高さの列を作成するにはどうすればよいですか?

  25. 25

    フレックスレイアウトを損なうことなくdivの右側に画像を表示するにはどうすればよいですか?

  26. 26

    ループの内側に戻る-ループの外側にあることを確認するにはどうすればよいですか?

  27. 27

    divの最小の高さを別のdivの高さに設定するにはどうすればよいですか?

  28. 28

    :: afterコンテンツを常に<a>の内側に配置するにはどうすればよいですか?

  29. 29

    純粋なCSSで大きい列の高さを小さい列の高さに等しく設定するにはどうすればよいですか?

ホットタグ

アーカイブ