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

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

詳細はこちら
メニュー

メニューは、UIにおける仕組みであり、ユーザに機能の表示と実行する手段を与えます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

Q&A

1回答

648閲覧

親要素外のメニューが表示されない

HiroLLK

総合スコア1

メニュー

メニューは、UIにおける仕組みであり、ユーザに機能の表示と実行する手段を与えます。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

0グッド

0クリップ

投稿2021/02/15 11:26

CSSで三点リーダーメニューを作っているのですが、メニュー部分が.box外に出てしまうと画面上にメニューが表示されなくなってしまいます。
いろいろ試してみたのですがpositionなどがよくわからず通常のメニューにする方法がわからず質問させていただきました。
画像1が現状で画像2が理想なのですがコードのどの部分が悪さをしてこの様になっているのでしょうか。
詳しい方教えていただけると幸いです。

画像1
イメージ説明
画像2
イメージ説明

HTML

1 2<div class="box-items"> 3 <div class="box"> 4 <p>ボックス</p> 5 <div> 6 <div tabindex="0" class="more-button"> 7 <span class="material-icons MuiIcon-root" aria-hidden="true" 8 >more_vert</span 9 > 10 <div hidden="" class="menu"> 11 <div class="over-layer"> 12 <div class="menu-items"> 13 <div class="menu-item">削除</div> 14 </div> 15 </div> 16 </div> 17 </div> 18 </div> 19 </div> 20 <div class="box"> 21 <p>ボックス</p> 22 <div> 23 <div tabindex="0" class="more-button"> 24 <span class="material-icons MuiIcon-root" aria-hidden="true" 25 >more_vert</span 26 > 27 <div hidden="" class="menu"> 28 <div class="over-layer"> 29 <div class="menu-items"> 30 <div class="menu-item">削除</div> 31 </div> 32 </div> 33 </div> 34 </div> 35 </div> 36 </div> 37 <div class="box"> 38 <p>ボックス</p> 39 <div> 40 <div tabindex="0" class="more-button"> 41 <span class="material-icons MuiIcon-root" aria-hidden="true" 42 >more_vert</span 43 > 44 <div hidden="" class="menu"> 45 <div class="over-layer"> 46 <div class="menu-items"> 47 <div class="menu-item">削除</div> 48 </div> 49 </div> 50 </div> 51 </div> 52 </div> 53 </div> 54 <div class="box"> 55 <p>ボックス</p> 56 <div> 57 <div tabindex="0" class="more-button"> 58 <span class="material-icons MuiIcon-root" aria-hidden="true" 59 >more_vert</span 60 > 61 <div hidden="" class="menu"> 62 <div class="over-layer"> 63 <div class="menu-items"> 64 <div class="menu-item">削除</div> 65 </div> 66 </div> 67 </div> 68 </div> 69 </div> 70 </div> 71 <div class="box"> 72 <p>ボックス</p> 73 <div> 74 <div tabindex="0" class="more-button"> 75 <span class="material-icons MuiIcon-root" aria-hidden="true" 76 >more_vert</span 77 > 78 <div class="menu" hidden=""> 79 <div class="over-layer"> 80 <div class="menu-items"> 81 <div class="menu-item">削除</div> 82 </div> 83 </div> 84 </div> 85 </div> 86 </div> 87 </div> 88</div> 89

CSS

1 2.box{ 3 background: #ddd; 4 overflow: auto; 5 min-width: 0; 6 padding: 1em; 7 border-radius: 3px; 8} 9 10.box-items { 11 display: grid; 12 grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); 13 grid-auto-rows: 1fr; 14 grid-gap: 0.8em; 15} 16 17.more-button { 18 display: inline-block; 19} 20 21 22.more-button { 23 cursor: pointer; 24} 25 26.over-layer { 27 position: relative; 28 top: 0; 29 left: 0; 30 right: 0; 31 bottom: 0; 32 background: none; 33 pointer-events: none; 34 z-index: 1002; 35} 36 37.menu-items { 38 position: absolute; 39 -webkit-box-sizing: border-box; 40 box-sizing: border-box; 41 width: 170px; 42 bottom: -10px; 43 right: 35px; 44 height: auto; 45 cursor: pointer; 46 padding: 6px 8px; 47 -webkit-box-shadow: 0 8px 16px rgba(0, 0, 0, 0.16); 48 box-shadow: 0 8px 16px rgba(0, 0, 0, 0.16); 49 background: #fff; 50 border-radius: 4px; 51} 52 53.menu-item { 54 border-radius: 2px; 55 padding: 6px 8px; 56 line-height: 19px; 57 height: 22px; 58 margin: 2px 0; 59} 60 61.menu-item:hover { 62 background-color: #f2f3f5; 63} 64

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

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

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

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

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

Lhankor_Mhy

2021/02/16 02:09

ご提示のコードの中に、スクリーンショットにある「詳細」という文字が見当たりませんでした。 ですので、ご提示のコードを試してみましたが、「メニュー部分」が表示されませんでした。 おそらく、ご提示のコードは問題の現象を再現するには足りないのだと思いますので、問題が再現するコードをご提示いただけますか?
guest

回答1

0

.boxに指定されているスタイルが、overflow: auto;になっているので、削除もしくはunsetを指定するのはいかがでしょうか?

投稿2021/02/24 16:21

lily_night2121

総合スコア43

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問