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

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

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

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

jQuery

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

CSS

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

Q&A

解決済

3回答

2039閲覧

サイトを右上から表示させたい。

aoies

総合スコア331

JavaScript

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

jQuery

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

CSS

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

0グッド

0クリップ

投稿2019/12/08 15:06

編集2019/12/08 16:33

WEBページの最初に表示される部分の場所を変えたいです。

WEBページが、ブラウザのウィンドウより大きい時、普通、Webブラウザはページの左上の部分を最初に表示させると思います。
そして、右側や、下側のはみ出た部分をみたければ、スクロールする、と言う感じだと思います。

現在縦書きの文章が続くようなサイトを作っています。
縦書きでは日本語は右から左に読むため、一番右にタイトルが来て、文章が左に進み、一番左で文章が終わる、という形になります。
なので、タイトルや文章の始まりが書いてあるサイトの右上の部分を最初に表示させ、そこからスクロールで左側を読んでいける感じにしたいです。

jsfiddleでの例
↑のリンクをみると、文章の最後が最初に表示されてしまう、というのがよくわかると思います....

どのように実装できるのでしょうか?
CSS、JavaScript、JQueryでの実装を考えています。

ネットでも調べたのですが、検索キーワードが悪いのか所望の情報は得られませんでした。

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

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

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

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

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

guest

回答3

0

自己解決

JavaScriptを用いた解法だとちょっと重かったり右端までちゃんと言ってくれなかったりおかしいところがあり、一方で縦書きを長く横に伸ばすサイトなどたくさんあるので、もっと簡単な実装があるのではないか、と調べたり色々試しました。

結果として、「body要素に直接"writing-mode:vertical-rl"」をつけると、何もしなくても一番右側を最初に表示をしてくれるようになりました。(今まではbodyの内部の他の要素で縦書きを指示していた。)

ちょっとサイトの構造設計を変える必要がありますが、今回の場合はこれで大体うまく行くと思います。

回答してくださった方々ありがとうございました。

改善版jsfiddleサンプル

投稿2019/12/08 18:26

編集2019/12/08 18:32
aoies

総合スコア331

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

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

0

ドキュメントの幅が画面幅より大きい場合、一番右端にスクロールさせればいいということですよね。

js

1window.onload = function() { 2 scrollTo(document.body.clientWidth, 0); 3}

コメントより

ただ、文章量をもう少し増やしたところ、右端に行ってくれないようになってしまいました。

(真ん中あたりで止まる。)

なら、スクロール量を整数の最大値に設定したらどうでしょう。スクロール可能な最大値より大きい値を設定すると可能な最大値でスクロールされます。

js

1window.onload = function() { 2 scrollTo(Number.MAX_SAFE_INTEGER, 0); 3}

動作確認サンプル

投稿2019/12/08 16:54

編集2019/12/09 10:35
hatena19

総合スコア33715

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

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

aoies

2019/12/08 17:59

回答ありがとうございます。 確かにその方法論だなと思いました。 ただ、文章量をもう少し増やしたところ、右端に行ってくれないようになってしまいました。 (真ん中あたりで止まる。) 要素のクリックを起点とかにするとちゃんと右端に行くので、読み込みがちゃんと終わっていないうちにbodyの長さの計算をしているのかな、と思うのですが。JavaScript特にあまり触れてきていなかったのでもうちょっと私も調べてみます。 (参考)https://codepen.io/aoies99/pen/QWwyLXQ
guest

0

縦書きCSSって結構前から普及していた気が・・・

参考:https://developer.mozilla.org/ja/docs/Web/CSS/writing-mode

<ul class=""> <li class=""><a href="#" class="">あいうえお</a></li> <li class=""><a href="#" class="">かきくけこ</a></li> <li class=""><a href="#" class="">さしすせそ</a></li> <li class=""><a href="#" class="">たちつてと</a></li> <li class=""><a href="#" class="">なにぬねの</a></li> </ul> <style> ul{ writing-mode: vertical-rl; } </style>

イメージ説明

投稿2019/12/08 15:40

sunglass

総合スコア303

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

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

aoies

2019/12/08 15:53

すみません、実現したいのは縦書きにするところではないです。 縦書きで作ったサイトがブラウザで開いた時、左上(縦書きの文章の最後の部分)から表示されるのを右上から表示されるように直したい、というところです。 横に長くて、はみ出ているサイトを表示する時に、通常ブラウザは、左の端からの部分を最初に表示して、右側はスクロールしたら見える、という感じだと思います。でも縦書きで文章が長く続いて、横に伸びたサイトを作った場合、文章は右上から読みたいので、最初に表示されるのは、右上の部分であって欲しく、そこからスクロールすると左も見えてくる、と言う感じに実装したいです。 わかりにくくてすみません。 ちょっと質問を直しますね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問