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

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

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

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

CSS

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

Q&A

1回答

253閲覧

ウィンドウサイズの変更により閲覧している所が下へ移動してしまう

avumya

総合スコア15

HTML

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

CSS

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

0グッド

0クリップ

投稿2018/09/20 00:03

編集2018/09/20 00:04

前提・実現したいこと

http://azu.github.io/promises-book/#not-throw-use-rejectを読んでいる時、別ウィンドウをひらいて作業したかったためウィンドウサイズを半分にした時に起きたことです

発生している問題・エラーメッセージ

ウィンドウサイズを小さくしたりすると、自分が読んでいた文章が下のほうに押されていってしまいます
ちょっとしたウェブサイトならいいんですが、上のサイトはかなり分量があり、一度読んでいたところを見失うと再度探すまでが大変で、ウィンドウサイズを変えるだけでもそれなりの手間がかかります

そこで、ウィンドウサイズが変えられても、どうにかして、自分が読んでいた部分のコンテンツをウィンドウの中に収められないかと思いまして質問しました

試したこと

ウェブページにはJavaScriptでの処理を動かせるためこれを利用して、CSSを加えたり、JavaScriptでの処理をしたりして対応できないか、という方向で考えました

  • JavaScriptでウィンドウサイズを変える前に画面の真ん中にあるテキストを取得してどうにかできないかと考えました

⇒画面の真ん中にあるテキストが他の部分でも出現した時にそっちに反応してしまう。あと常に画面真ん中のテキストを取得し続けるのは負荷がかかるかもしれない。

  • JavaScriptでウィンドウサイズを変える前にその部分のページ最上部からの高さなどを取得して閲覧場所を特定できないかと考えました

⇒そもそもウィンドウサイズを変えたら高さも変わってしまうから意味がなかった

このように、思いついた案は汎用的(?)ではありませんでした

補足情報(FW/ツールのバージョンなど)

可能な限りJavaScriptには頼らず、CSSで実現出来ないか、と考えています

よろしくお願いします

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

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

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

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

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

guest

回答1

0

CSSでの実現は難しそうな気がしたので、jQueryを用いて以下のモノを考えてみました
内容としては質問者様のページ位置を取得してというものと似たような感じです。
試しては無いので動くかどうかは不明ですが…

JavaScript(jQuery)

1var scrollpercent = 0; 2$(document).ready(function(){ 3 4 $(window).scroll(function(){ 5 var pageHeight = $('body').height(); //ページ全体の高さ取得 6 var scrollpos = $(window).scrollTop(); //スクロールの位置取得 7 scrollpercent = scrollpos / pageHeight; // %を現在位置を高さの%として取得 8 }); 9 10 $(window).resize(function() { 11 var resizeHeight = $('body').height(); //リサイズ後のページ全体の高さ取得 12 var afterPos resizeHeight * scrollpercent 13 // あとはafterPos を使ってページ内位置を調整する(記述省略) 14 }); 15});

投稿2018/09/20 00:17

編集2018/09/20 00:31
mikan_s4n

総合スコア377

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問