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

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

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

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

Q&A

2回答

462閲覧

chromeの開発者ツールの「Sources」で検出される数字に関して

rrrangas

総合スコア0

JavaScript

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

0グッド

2クリップ

投稿2022/07/24 01:51

編集2022/07/24 02:58

下記のように開発者ツールで検出した数値では、[5024]と出てくるのですが、
実際のコーディングでは、5000pxとしてしています。なので、ここは5000pxにならないとおかしいのですが、
この24pxが出るのはjsの組み方がおかしいからでしょうか?

それともこういう誤差は出るものなのでしょうか?

イメージ説明

HTML

<div class="page-top"> <a href="#" class="page-top_link"></a> </div> <div class="container"> <main> <p>コンテンツの高さは5000</p> </main> <footer class="footer"> <p>フッター</p> </footer> </div>

CSS

.page-top { position: fixed; bottom: 20px; right: 20px; transition: 0.5s; } .page-top_link { position: relative; display: block; width: 45px; height: 45px; border-radius: 10px; background-color: #cccccc; } .page-top_link:before { content: ""; display: block; position: absolute; top: 55%; left: 50%; transform: translate(-50%, -50%) rotate(45deg); width: 8px; height: 8px; border-top: 2px solid #fff; border-left: 2px solid #fff; } .is-hidden { visibility: hidden; opacity: 0; } main { height: 5000px; text-align: center; } .footer { height: 100px; background-color: #ff5757; padding: 20px; color: #fff; text-align: center; }

js

$(function() { var elem = $(".footer"); var banner = $(".page-top"); var elemO = elem.offset().top;     // ページトップからの要素の高さを取得 var windowH = $(window).height();    // ウィンドウの高さを取得 $(window).on("scroll", function() {  // スクロールした値を取得 var windowS = $(window).scrollTop(); // 現在の位置 if(windowS > elemO - windowH + (windowH / 2) ){  // 要素が見えたら動く banner.addClass("is-hidden"); }else{ banner.removeClass("is-hidden"); } }); });

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

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

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

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

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

m.ts10806

2022/07/24 02:28

他者が再現できるよう実際のコードをテキストで提示してください。
m.ts10806

2022/07/24 02:56

>実際のコーディングでは、5000pxとしてしています。 提示されたコード内にはどこにも5000と明示されていません
rrrangas

2022/07/24 02:59

すみません。色々触っていて数値を変えていました。今、戻しました。 <main>の高さを5000にしています。
guest

回答2

0

mainタグ内のP要素にブラウザのデフォルトでmarginが設定されている影響だと思われます。
(ちなみにchromeでやってみたら5016になりました)
リセットCSSを入れるなりP要素のmarginを0にしてみては。

投稿2022/07/24 03:30

RiaFeed

総合スコア2701

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

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

0

[Computed] タブ

Chrome Developper Toolsの [Computed] タブを開いて、下記要素を順番に確認していけば、原因が判明するかと思います。

  • footer要素
  • footer要素の兄要素もしくは兄要素の子孫要素
  • footer要素の親要素もしくは祖先要素(html要素、body要素を含む)

期待外の margin, padding, height が指定されていた場合、[Styles] タブを開いて、該当スタイルを特定して下さい。
その後、該当スタイルを書き直すか、より詳細度の高いスタイルを指定して上書きしてやればいいでしょう。

デフォルトスタイルシートの上書き

ブラウザの中には、デフォルトスタイルシートで、html要素もしくはbody要素に margin or padding を指定する実装があります。
以下は私がGoogle Chrome v103.0.5060.134のChrome Developper Toolsで確認したデフォルトスタイルシートです。

css

1/** 2 * User-Agent Style Sheet (Google Chrome v103.0.5060.134) 3 */ 4body { 5 display: block; 6 margin: 8px; 7}

デフォルトスタイルシートは、制作者CSSで上書き出来ます。

css

1html,body{ 2 margin: 0; 3 padding: 0; 4}

以下、参考リンク。

Re: Iori さん

投稿2022/07/24 08:58

編集2022/07/24 09:25
think49

総合スコア18166

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問