スクロールバーを左側に表示
-
0 名前: 008 : 2005/10/29 02:51
- インラインフレームのスクロールバーを左側に表示したり、
右左両方に表示したりとかはできるんでしょうか?
もしそんなのがあればなあと思いご質問させていただきました。
ご存知の方がいらっしゃったらどうぞよろしくご指導お願いいたします。
-
1 名前: 元帥 : 2005/10/29 02:51 [URL]
- ヘブライ語とかは右から左へ書きますからね。
そのように指定すれば、スクロールバーが左側になる場合「も」あります。
ページの上の方のhtml要素に指定すれば、IEにてスクロールバーが左側になる事が確認されました。
<html lang="ja" dir="rtl">
<html lang="ja" style="direction:rtl;">
ですが、これだと文字も逆になってしまうので、bodyで強制的に元に戻してやります。
<body dir="ltr">
<body style="direction:ltr;">
それぞれ好きな方をお使い下さい。
但し、私が試した所、IEでのみ、そのような効果が反映されました。
今日でもトップシェアなので、大抵の客に視覚効果を与えるでしょうが、ブラウザ依存となります。
また、スクロールバーは右にあるという事で、皆さんそれが当然と思っているでしょうから
左側になったら、操作性を悪化させるかもしれません。
その辺りをよく考慮して、検討してお使い下さい。
尚、左右両側に関しては、フレームを使えばできると思いますが…
-
2 名前: phpinfo() : 2005/10/29 02:51
- 出来ません(聞いたことがありません)
-
3 名前: 008 : 2005/10/29 02:51 [URL]
- 元帥さん、phpinfo()さん、早速のお返事ありがとうございます。
元帥さん、またお世話になりに伺いました。よろしくお願いいたします。
ヘブライ語ですか・・
なんか裏技のようですね。
両方表示の方はフレームの設定でできるんでしょうか?
参照URLに編集したいページを載せました。このページの右側の
インラインフレームのスクロールバーを両方表示したいんです。
今のままだと何か使用感が悪いような気がして。
インラインフレームはカテゴリをクリックすると現れます。
-
4 名前: Pid : 2005/10/29 02:51
- >>3
dir="rtl"(right-to-left)はテキスト方向の指定(および,文字のタイプセット方法の決定)であって,(>>1 で元帥さんが仰るように)基本的にスクロールバーの位置をどうこうするものではありません。
スクロールバーの位置は,利用者が使用しているウィンドウマネージャ,もしくはソフトウェアの設定に依存します。多くの場合,スクロールバーはテキストの折り返し方向に設置されますが,逆になることだって当然ありえます(…というか UNIX だと左スクロールバーが普通にあります)。
「利用しやすいページ」を目指すのであれば,利用者のユーザ・インターフェース(カーソルやスクロールバー,キーボードに関わる部分)に細工をしないのが無難です (^^;)。
【追記】すみません,↑は言いすぎでしたね。アクセスキーの設定や,注目させたい部分に cursor: pointer/help などの工夫は素晴らしいと思います(サイト内で一貫した使い方がなされていれば,まあいいかなと思えてきました)。
※将来的に日本語の縦書き表示が可能になったら(writing-mode: tb-rl;),どこにスクロールバーがあると使いやすいでしょうね。
-
5 名前: 008 : 2005/10/29 02:51 [URL]
- Pidさん、お返事ありがとうございます。
cursor: pointer知らなくて調べてみました、
私のページは特にそんなことをしていないんですが
自動で指表示になっているようです。
IEの設定なんでしょうか?普通のことだと思っていました。
-
6 名前: 元帥 : 2005/10/29 02:51 [URL]
- >尚、左右両側に関しては、フレームを使えばできると思いますが…
と、私は>>1で発言しましたが、どうでもいい事だったようです。
スクロールバーさえ表示できればいいのですから。
ちなみにフレームの設定だけでは無理です。
私の発言もやや浅はかであったと反省しております。
半端な希望を持たせるのは逆に残酷ですしね。
(極めて厳しい条件下で可能って事です。)
諸所の理由により、IE6でのみ動作確認をしております。
ご参考までに。
下記のソース、一切変更を加えずに試してみて下さい。
#そーいえば日本も昔は横書きを右から左に書いていた…
-
7 名前: 元帥 : 2005/10/29 02:51 [URL]
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja" dir="ltr">
<head><title>左右両側にスクロールバーを設置</title>
<meta http-equiv="content-style-type" content="text/css">
<meta http-equiv="content-script-type" content="text/javascript">
</head><body>
<a href="99.html" target="ifm">表示</a><br>
<iframe src="" width="240" height="320" name="ifm" scrolling="no"></iframe>
<br>
<p>動作の仕組みですが、先ず元のページのスクロールバーは消します。
制御し難いので^^;<br>
左側スクロールバーを作るために、ボックスを用意して沢山改行します。
どの位かというと、バーのサイズがメインコンテンツのそれと同じになるまでです。
onScrollでイベントを発生させて、スクロールした分だけ、もう一方も
スクロールしてやります。<br>
と、まぁ、結局は両側にスクロールバーが存在しているように錯覚させられるわけです。
ちなみにIEでのみ動きます。環境によっては表示が崩れます。
<br></p>
<p>このような単純なページだから実現も簡単なのですが、
少々複雑なメインコンテンツな場合、
ユーザーの環境によってその領域が変わるでしょうから、
スクロールバーの同期は難しくなります。
どうしても使いたいのなら、動作をよく理解した上で、
ユーザーがIE以外の場合はレイアウトの崩れを防ぐために
通常のページを出力する等の処置をとった上で、お使い下さい。
</p>
</body></html>
-
8 名前: 元帥 : 2005/10/29 02:51 [URL]
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
<title>左右両側にスクロールバーを設置</title>
<meta http-equiv="content-style-type" content="text/css">
<meta http-equiv="content-script-type" content="text/javascript">
<style type="text/css">
<!--
#left{
margin:0;
padding:0;
width:18px;
height:316px;
overflow:auto;
float:left;
}
#main{
margin:0;
padding:0;
width: 217px;
height: 316px;
overflow:auto;
float:left;
}
//-->
</style>
<script type="text/javascript">
<!--
function scr(obj1,obj2){
document.getElementById(obj2).scrollTop=
document.getElementById(obj1).scrollTop;
}
//-->
</script>
</head>
<body style="margin:0;padding:0;">
<div id="left"onScroll="scr('left','main')">
<script type="text/javascript">
<!--
for(var i=0;i<50;i++){document.write("<br>");}
//-->
</script>
</div>
<div id="main" onScroll="scr('main','left')">
<script type="text/javascript">
<!--
for(var i=0;i<50;i++){document.write(i,"<br>");}
//-->
</script>
</div>
</body></html>
-
9 名前: 元帥 : 2005/10/29 02:51 [URL]
- >>7 は適当なファイル名。これを開いて下さい。
>>8 は99.html
Pidさん
>※将来的に日本語の縦書き表示が可能になったら(writing-mode: tb-rl;),どこにスクロールバーがあると使いやすいでしょうね。
なかなか面白い意見ですね。
やっぱその場合、上下どちらかなのかな?
-
10 名前: 008 : 2005/10/29 02:51 [URL]
- 元帥さん、大変お手数をおかけしてお返事を頂き本当にありがとうございます!
ちょっと内容を理解するまで少し時間が要りそうです。頭が働きません。
元帥さんには何度もご親切なお返事を頂いていて本当に助かっています。
今後もとんちんかんなお願いを書き込むかも知れませんが
どうぞよろしくお願いいたします。
それとTAG indexさんにも本当に感謝しています。ありがとうございます。
-
11 名前: 頭いいな : 2005/10/29 02:51
- 頭いいな〜