🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

2回答

944閲覧

position: absolute で指定した要素が親要素の領域をoverflowした時の対処

gano

総合スコア39

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2021/03/06 21:40

前提

このようなメニューを作っています。

イメージ説明

[メイン画面]
左側:サイドバー(メニュー)
右側:メイン (灰色)

[メニュー]
メニューにカーソルをあわせると、
サブメニューが表示される
(上の画像では、Settingsにカーソルを合わせると、サブメニューが右に表示されます。)

発生している問題

サブメニューの数が多い場合、 メインの領域
をoverflowします。
この時、うまくoverflowを調整できず、画面下に真っ白な領域ができてしまいます。

メインの領域もうまくoverflowして、
サブメニュー、メイン画面が下にoverflowして、
白い画面がなくなるように調整したいです。

試していること

positionを以下のように設定しています。

1. メイン画面(Container) position: relative 2. サイドメニュー position: fixed 3. 各メニューのdiv position: relative 4. サブメニュー position: absolute

このように設定したのですが、
問題としている、overflow部の白い部分が表示されてしまいました。

### 質問

このようなケースはうまく解決できますでしょうか?
考えても解決策が思い浮かばなかったため質問をさせていただきます。
不可能であれば、デザインごと変えることを検討したいと思っております。

どなたかわかるかたアドバイスいただけますと幸いです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

HTMLコードとCSSコードがd提示されていないので、推測ですが、

サブメニューを position: fixed; bottom: 0; とするとかでどうでしょう。

投稿2021/03/07 00:54

hatena19

総合スコア34073

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gano

2021/03/07 01:31

ご回答ありがとうございます。 サブメニューを position: fixed; にすると、 overflowした部分が表示できなくなってしまいました。 bottom:0 をつけるとすべてのサブメニューが最下部にいってしまいます。 (React でコンポーネントにしているため、他の要素も同時に編集されます。) scroll しようと overflow: scrollを付与しても、 表示できない状態です。。
hatena19

2021/03/07 01:48

とりあえず現状のHTMLとCSSを質問に追記してください。 話はそれからです。 あと、メニュー数は動的に変化するということでしょうか。
guest

0

親要素をoverflow:hiddenすればよいのでは

投稿2021/03/07 00:40

yuki84web

総合スコア1857

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gano

2021/03/07 01:23

ご回答ありがとうございます。 説明不足がありました。申し訳ありません。 メインの画面は、縦方向に100%を超えることがあるので、overflow-y: scrollを付けております。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問