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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

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

CSS

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

Q&A

解決済

3回答

8571閲覧

FireFoxでmin-heightが効かない

agent

総合スコア16

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

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

CSS

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

0グッド

1クリップ

投稿2016/06/04 12:13

編集2016/06/04 12:57

###前提・実現したいこと
HTMLでh2要素の高さの最低値を指定し、文字の高さを中央寄せにしたい。

###発生している問題・エラーメッセージ
FireFoxではh2の高さがmin-heightで指定した値よりも低くなってしまいます。
Chrome、IE、Edgeでは正常です。

###該当のソースコード

<!DOCTYPE html> <html lang="ja"> <head> <style> h2{ min-height:150px; display:table; } h2 span{ display:table-cell; vertical-align:middle; background-color:aliceblue; } </style> </head> <body> <h2><span>中央に寄せたいテキスト</span></h2> </body> </html>

###補足情報
中央に寄せたいテキストは何行になるか分からないため、min-heightで最低の高さを指定したいです。

下記のページでも同様の現象です。
左サイドメニューの「学部・大学院」というオレンジ色の箇所、右コンテンツ領域の紺色の帯の箇所が、FireFoxでは高さが低くなってしまいます。
http://www.tau.ac.jp/department/graduateschool/index.html

よろしくお願い致します。

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

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

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

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

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

guest

回答3

0

ベストアンサー

45文字くらいまでなら下記でいけます。(IE/Firefox対応)
この位置に50文字近く入るというのはそもそも変なので、多くの場合問題ないと思います。

CSS

1#sidebar h2 { 2 background: #de7a54 url("../img/common/side_title_bg.png") no-repeat scroll 0 0; 3 color: #fff; 4 display: block; /* */ 5 font-size: 20px; 6 font-weight: normal; 7 min-height: 138px; 8 position: relative; /* */ 9 width: 100%; 10} 11#sidebar h2 span { 12 box-sizing: border-box; 13 display: block; 14 left: 0; 15 line-height: 1.2; 16 padding: 15px; 17 position: absolute; 18 text-align: center; 19 top: 50%; 20 transform: translate(0px, -50%); 21 width: 100%; 22}
45文字サンプル: 学部・大学院学部・大学院学部・大学院学部・大学院学部・大学院学学部・大学院部・大学院大学院

投稿2016/06/04 15:11

編集2016/06/04 15:13
kei344

総合スコア69398

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

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

agent

2016/06/04 17:00

ありがとうございます。問題なく表示されました。 HTMLにIEのためのコードを書かなくても良い点でこちらをベストアンサーとさせていただきます。
guest

0

オレンジの箇所はこちらでいけました。
display-table-cellは残したまま、line-heightをboxの高さに合わすと、いけました。
#sidebar h2 span {
display: table-cell;
vertical-align: middle;
line-height: 138px;
}

投稿2016/06/04 12:48

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

agent

2016/06/04 13:00

ありがとうございます。line-heightを指定すると、2行以上になったときに行間が開きすぎてしまいました。 line-heightは変更せずに実現できれば幸いです。
退会済みユーザー

退会済みユーザー

2016/06/04 13:21

こちらでいかがでしょうか。 .bg_blue_title, .bg_blue_title_noLink { position: relative; display: flex; background: #24305F url(../img/common/bg_blue_title.png) 0 0 no-repeat; color: #FFF; padding: 8px 45px 8px 15px; font-size: 16px; line-height: 1.4; width: 100%; min-height: 66px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; font-weight: normal; } .bg_blue_title span, .bg_blue_title_noLink span { margin: auto 0; }
退会済みユーザー

退会済みユーザー

2016/06/04 13:27

親divにdisplay:flexを指定し、子には、margin:auto 0でfirefoxになります。 旧ブラウザの配慮も考え、以下のベンダープレフィックスと案件によってie8,9へのflexibility.jsも必須になります。 display: -ms-flex; display: -moz-flex; display: -webkit-flex; display: flex;
agent

2016/06/04 14:53 編集

帯の部分を display: flex; として 帯内の文字列<span>部分を margin: auto 0; とするのですね。
agent

2016/06/04 14:16

度々申し訳ございません。 ChromeとFireFox、Edgeは大丈夫だったのですが、IEで文字が上寄せになってしまいました。 調べてみますが、もし解決方法がありましたら教えて頂けますと幸いです。
退会済みユーザー

退会済みユーザー

2016/06/04 14:20

ieのバージョンを教えていただけますでしょうか。
退会済みユーザー

退会済みユーザー

2016/06/04 14:22

子要素に、flex:0 0 autoを入れていただけますでしょうか。 .bg_blue_title span, .bg_blue_title_noLink span { margin: auto 0; flex:0 0 auto; }
agent

2016/06/04 14:27

大変失礼いたしました。22:27のコメントを見落としておりました。すぐに再検証させていただきます。
agent

2016/06/04 14:31

IEのバージョンは11です。
退会済みユーザー

退会済みユーザー

2016/06/04 14:40

親divに以下を追加を試していただけますでしょうか。 display: -ms-flexbox; -ms-flex-direction: row;
agent

2016/06/04 14:46

下記のようにしてみましたが駄目でした。 IEバージョン11です。 とりあえず、IE8、9への対応は不要です。 解決方法が分かりましたらご助言頂けますと幸いです。 .bg_blue_title, .bg_blue_title_noLink { position: relative; display: -ms-flex; display: -moz-flex; display: -webkit-flex; display: flex; background: #24305F url(../img/common/bg_blue_title.png) 0 0 no-repeat; color: #FFF; padding: 8px 45px 8px 15px; font-size: 16px; line-height: 1.4; width: 100%; min-height: 66px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; font-weight: normal; } .bg_blue_title span, .bg_blue_title_noLink span { margin: auto 0; flex: 0 0 auto; }
退会済みユーザー

退会済みユーザー

2016/06/04 15:03

ie11だけですが、min-heightのbugがあるようです。 https://connect.microsoft.com/IE/feedback/details/816293/ie11-flexbox-with-min-height-not-vertically-aligning-with-align-items-center ですので、ieのみに最初のdisplay:tableを指定する方法での対処はいかがでしょうか。 ieのみ条件分岐、他にもやり方があると思いますが、以下になります。 <!––[if IE ]> <body class="ie"> <![endif]––> <!––[if !IE]>––> <body> <!––<![endif]––> .ie .bg_blue_title, .bg_blue_title_noLink { position: relative; display: table; background: #24305F url(../img/common/bg_blue_title.png) 0 0 no-repeat; color: #FFF; padding: 8px 45px 8px 15px; font-size: 16px; line-height: 1.4; width: 100%; min-height: 66px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; font-weight: normal; } .ie .bg_blue_title span, .bg_blue_title_noLink span { display:tabe-cell; vertical:align-middle; }
agent

2016/06/04 15:33

ありがとうございます。 親要素にieというclassがつくようにするのですね。 試してみたいと思います。
agent

2016/06/04 17:02

遅くまでご対応いただきまして、ありがとうございました。 display: flexというものがあることを知れて、大変勉強になりました。 今後ともよろしくお願い致します。
guest

0

diplay:tabe-cellではなく、以下のコードでいかがでしょうか。

display: block; vertical-align: middle; line-height: 50px;

投稿2016/06/04 12:45

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

agent

2016/06/04 13:02

ありがとうございます。こちらではmin-heightの高さになりませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問