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

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

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

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

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

CSS

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

Q&A

解決済

2回答

1903閲覧

なぜ0pxになってしまうのか

aaaaaaaa

総合スコア501

HTML5

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

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

CSS

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

0グッド

0クリップ

投稿2015/12/18 11:56

編集2015/12/18 11:59

下記のソースは、ボックス内の要素を中央に寄せたいときに利用しています。
要素を中央に配置するために、囲っている要素の高さから中央に配置したい要素の高さを引き、それを2で割っています。
しかし、ここで一つ問題が発生してしまいました。center_el配列の2番目に指定している#gnavi #gnavi_contents a spanの高さがなぜか0pxなのです。ここが0pxだと上手く中央に配置されません。しかし0番目の配列要素である#gnavi li a spanは、同じようにCSSを指定しているのに0pxではありません。
http://fast-uploader.com/file/7005994524054/
どうにかして二番目の配列要素である#gnavi #gnavi_contents a spanを0番目のように高さを与えたいのですがどうすれば良いのでしょうか。

中央に配置するソース

javascript

1 var center_el = { 2 '#gnavi': '#gnavi li a span', 3 '.jakku p:nth-child(3)': '.jakku p:nth-child(3) span', 4 '#gnavi_contents a': '#gnavi #gnavi_contents a span' 5 } 6 $.each(center_el, function(index,value) { 7 //index=囲っている要素:value=中央に配置する要素 8 var wrap_h = $(index).height(); 9 var center_h = $(value).height(); 10 var fit_h = Math.floor((wrap_h - center_h) /2) +'px'; 11 //中央に配置したい要素のpadding-topを設定している。 12 $(value).css('padding-top', fit_h); 13 });

ちゃんと高さが算出されるspan

css

1#gnavi li a span { 2 display: inline-block; 3}

高さが0pxになってしまうspan

css

1#gnavi #gnavi_contents a span { 2 padding-left: 15px;/*15px*/ 3}

cssソース全文
http://fast-uploader.com/file/7005995263000/
パスワードは12345です。お手数おかけします。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11153746866

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

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

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

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

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

rossi46hiro

2015/12/18 12:26

htmlも載せてもらえますか?
guest

回答2

0

ベストアンサー

CSSを拝見すると、

CSS

1#gnavi #gnavi_contents { 2 display: none;

とありますので、#gnavi #gnavi_contents a spanも表示されていないはずです。
コメントを見る限り、マウスホバーで表示させるサブメニュー的な部分なのでしょうけれど、ご質問のスクリプトが動作している時に表示されていないのであれば、当然に高さが0になってしまうのではないでしょうか。

そういうわけで解決法ですが、当該スクリプトを実行時に#gnavi #gnavi_contentsを表示させればいいのではないか、と思います。

投稿2015/12/19 02:53

編集2015/12/19 02:54
Lhankor_Mhy

総合スコア36074

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

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

0

私が考えられる可能性は2つです。

①要素が可視化されていない
②セレクタが正しくない

どちらでもないのでしょうか。

投稿2015/12/18 16:07

anaprestoo

総合スコア199

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問