質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

HTTPヘッダー

Hypertext Transfer Protocol(HTTP)の中のHTTPヘッダフィールドはHTTPの要求やレスポンスの機能しているパラメーターが含まれます。その要求もしくはレスポンスライン(メッセージの最初の一行)でメッセージヘッダを作ります。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

CSS

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

Q&A

解決済

1回答

1093閲覧

Ruby on Rails ヘッダーにモーダルを使用すると反応しなくなる。

t9831703

総合スコア1

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

HTTPヘッダー

Hypertext Transfer Protocol(HTTP)の中のHTTPヘッダフィールドはHTTPの要求やレスポンスの機能しているパラメーターが含まれます。その要求もしくはレスポンスライン(メッセージの最初の一行)でメッセージヘッダを作ります。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

CSS

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

0グッド

0クリップ

投稿2020/07/13 09:51

ruby on rails でアプリを開発しており、ヘッダーの一部分にモーダルを使用したいと考えております。

headerを固定させたく、application.scssにheaderを固定するためのcssを記載すると
モダール画面が表示はされますが、モダールを開いた時のバック画面と同様の暗さとなりボタンを触ることも、閉じるボタンを押すこともできなくなり、どこのボタンも画面が薄暗いのみで反応しません。リロードするとモーダルは閉じます。
cssのコードを無くすとモーダルはしっかりと動きます。

application.html.erb

application.html.erb <body id="wrapper"> <!-- ヘッダー --> <%= render "layouts/header" %> <!-- Main部分 --> <%= yield %> <!-- Footer --> <%= render "layouts/footer" %> </body>
_header.html.erb <header> <div class="header-content"> <%= link_to 'SentoLog', root_path, class: "nav navbar-nav navbar-left" %> <ul class="nav navbar-nav navbar-right"> <li><%= render 'layouts/modal', sensitsus: Sensitsu.all, kounous: Kounou.all, oyutypes: Oyutype.all %></li> <li><%= link_to '泉質', '' %></li> <li><%= link_to '条件', '' %></li> <li><%= link_to '都道府県', '' %></li> <li><%= link_to '温泉地を登録する', new_users_onsen_spot_path %></li> <li><%= link_to '温泉一覧', users_onsen_spots_path %></li> <li><%= link_to '新規登録', new_user_registration_path %></li> <li><%= link_to 'ログイン', new_user_session_path %></li> <li><%= link_to 'About', about_path %></li> </ul> </div> </header>
_modal.html.erb <div data-toggle="modal" data-target="#sampleModal" style="margin: 18px;" data-turbolinks="false"> 泉質 </div> <!-- モーダル・ダイアログ --> <div class="modal fade" id="sampleModal" tabindex="-1" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content row"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal"><span>×</span></button> <h4 class="modal-title"><strong>お好みの温泉をお選びください</strong></h4> </div> <div class="modal-body col-xs-3"> <strong>泉質</strong> </div> <div class="modal-body col-xs-9"> <% sensitsus.each do |sensitsu| %> <%= link_to sensitsu.name, users_sensitsu_path(sensitsu.id), class: "btn btn-default" %> <% end %> </div> <div class="modal-body col-xs-3"> <strong>お湯タイプ</strong> </div> <div class="modal-body col-xs-9"> <% kounous.each do |kounou| %> <%= link_to kounou.name, users_kounou_path(kounou.id), class: "btn btn-default" %> <% end %> </div> <div class="modal-body col-xs-3"> <strong>効能</strong> </div> <div class="modal-body col-xs-9"> <% oyutypes.each do |oyutype| %> <%= link_to oyutype.name, users_oyutype_path(oyutype.id), class: "btn btn-default" %> <% end %> </div> <div class="row"> <div class="col-xs-12 pull-right"> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">閉じる</button> </div> </div> </div> </div> </div> </div>
application.scss /* * This is a manifest file that'll be compiled into application.css, which will include all the files * listed below. * * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's * vendor/assets/stylesheets directory can be referenced here using a relative path. * * You're free to add application-wide styles to this file and they'll appear at the bottom of the * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS * files in this directory. Styles in this file should be added after the last require_* statement. * It is generally better to create a new file per style scope. * *= require_tree . *= require_self */ @import "bootstrap-sprockets"; @import "bootstrap"; * { margin: 0; padding: 0; box-sizing: border-box; } header { background:#fff; box-shadow:0 2px 8px rgba(30,30,80,.3); left:0; line-height:1; position:fixed; top:0; width:100%; z-index:100; text-align:center; padding:1rem; }

どなたか
ご教授していただけると幸いです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Ruby on Railsは触ったことがないのですが、
HTMLの構造でいうと、<body>直下にmodalがないと、z-indexの問題などで適切に表示されないことはよくあります。

<header>タグ内に<div class="modal fade">がある場合は、<header>の兄弟要素となるように設置するのが楽だと思われます。

投稿2020/07/13 21:36

編集2020/07/13 21:37
new1ro

総合スコア4528

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

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

t9831703

2020/07/16 02:11

デベロッパーツールの検証ページでz-indexを確認し、変更したところできました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問