• ベストアンサー

IE8で水平線(点線)を表示させるには?

ホームページを作っているのですが、行き詰ってしまったので質問します。 点線を入れるために、 <hr align="left" width="450" size="1" color="#99E655" style="border-style:dotted"> と打ったのですが、点線が表示されませんでした…。 firefoxではなんとなく表示できたのですが、IE8では太い1本線になってしまいました。 調べたところ、IE8では水平線がおかしくなるようなことが書いてあったので、何か別の方法を知っている方は教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • abril
  • ベストアンサー率69% (388/560)
回答No.2

hrのスタイルについてはかなりUA(ブラウザの種類・ヴァージョンの事だと思っておいて下さい)によって解釈が違うところがあるので、色々なプロパティを調整しないと見た目に差が出ます。 下記などが参考になるかと思います。 http://coliss.com/articles/build-websites/operation/css/198.html (一番下の「スタイルの初期化 -その他」のところでhrの初期化について書かれています) 上記を参考にすれば、、質問者様の実現したいスタイルであれば、下記の様にカスタマイズする事になります。 hr { width: 450px; height: 0px; margin: 7px 0; border: none; border-top: dotted 1px #99e655; } * html hr {/* for -IE6 */ margin: 0; } *:first-child+html hr {/* for IE7 */ margin: 0; } ただし、上記もIEはver.7までの検証ですし、私の手元にもver.8がないので、IE8の実際の表示結果は見ていません。 これでうまくいかない様であれば、"論理構造上その箇所にhrが必須ではなく"、単に見た目上”点線を入れる”というスタイルを与えたいだけなら、点線を表示したい位置の前後のコンテナにborderプロパティで直接スタイルを与えた方が楽ではありますね。 コンテナ1 点線 コンテナ2 上記の様な構造であれば、コンテナ1にborder-bottom/padding-bottom/margin-bottom等のプロパティに適切な値を与えるか、コンテナ2の方のborder-top/padding-top/margin-top等のプロパティで調整するか、のいずれかで両ブロックの間に線を引く事ができます。

mamenoko
質問者

お礼

素早い回答ありがとうございます。 始めので思い通りの線がひけました!! ver.8で確認できました、ありがとうございます^^ スタイルでやるなんて考えていなかったのでとても助かりました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#119957
noname#119957
回答No.3

■hrは背景画像のリピートで対処すれば楽です。 ■しかし、これも面倒なので私の場合は、CSSの<div></div>などのBOXモデルの上下のボーダーを利用しています。

mamenoko
質問者

お礼

素早い回答ありがとうございます。 背景画像でやる方法もあるんですね、この方法なら点線だけじゃなくてどんな画像でも区切り線のように使えますね、気づきませんでした。ありがとうございます^^ BOXについてはまだ私の理解が足りないので、今後きちんと理解できてから使用させていただきます。

全文を見る
すると、全ての回答が全文表示されます。
  • torayoshi
  • ベストアンサー率62% (910/1449)
回答No.1

水平線ってブラウザ、バージョンの違いで見え方違うから面倒ですわね。 点々を初期値にしてしまうとIE8では間隔が狭すぎて一本の線に見えてしまう。 で、とりあえずこんな感じに(検証IE8,Firefox3.5.1) <hr align="left" style="width:450;border-style:dotted;border-width:2 0 0 0;border-color:#99e655;height:1;"> でもコレ↑"dashed"とおんなじ(笑) Firefoxと見え方同じにするなら <hr align="left" style="width:450;border-style:dotted;border-width:2 0 0 0;border-color:#99e655;height:2;"> 点々大きくする(小さいと繋がって見える)ので幅を2pxに(IEは2pxより大きくならない) "dashed"が一番無難かもです。

mamenoko
質問者

お礼

素早い回答ありがとうございます。 間隔が狭すぎて1本線に見えてしまうんですか、知りませんでした。 一番上ので、いい感じの線が引けました、ありがとうございます^^ dashedでも素敵な線が引けたので、どこかで使おうと思っております。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • <hr>要素を点線で表示した場合の表記について

    hrで点線を表示したいと考えています。 そこでまず下記Aのような指定をしたのですが、行数を減らすため、Bの表記に変更しました。 意味合い的には変わっていないと思うのですが、 なぜかfirefox等いくつかのプラウザで点線の下に薄いグレーが表示されてしまいました。 IEでは意図した通りに表示されます。 調べた所、薄いグレーはhr本来の色が表示されていること、 Bの表記に color: #fff; を追記すれば解決することは解ったのですが、 なぜまとめ表記にすることで表示が変わるのかが解らずすっきりしないので 質問させて頂きました。 詳しい方がいらっしゃいましたらよろしくお願いします。 -------------------------------------------------------------※ hr.A { border-width: 1px 0px 0px 0px; border-style: dashed; border-color: #000; height: 1px; width: 100%; } hr.B { border-top: 1px dashed #000; height: 1px; width: 100%; }

    • ベストアンサー
    • CSS
  • 携帯電話のHTMLで点線の水平線を表示するには

    ある携帯サイト(例えばモバゲータウンの「みんなの日記」など)では1まとまりの文書ブロックの区切りを示すために点線の水平線が使われています。 これはどのように表示するのでしょうか? PCのHTMLの場合は<div>に対してborder-style:dotted;などで設定できるのですが、iモードの<div>ではこのスタイルシートプロパティには対応していないようです。<hr>に対してborder-style:dotted;を設定してみたのですがダメでした。 まさか画像ということはないと思うのですが、どなたかわかる方いませんか? モバゲータウンはPC上のシミュレータからはアクセスできないのでHTMLソースが読めません。また携帯でHTMLソースを見る方法ってあります?

    • ベストアンサー
    • HTML
  • テーブルの線を点線にする

    とても初歩的な質問ですいません。 テーブルの線をすべて点線にしたいのですがどのようにしたらいいのかわかりません。 <table style="border-color:dimgray;border-style:dotted"> <tr> <td width="150" height="30"></td> </tr> <tr> <td width="150" height="30"></td> </tr> <tr> <td width="150" height="30"></td> </tr> </table> としたら周りの枠は点線なんですが 3列あるはずの線が表示されません。 その線も点線で表示させるにはどのようにしたらいいですか?

    • ベストアンサー
    • HTML
  • cssで点線を表示する方法

    border-bottom-style: dotted; で、点線が表示されますが、 もっと細かい点線を表示させる方法はありますか? (画像を使わない方法が知りたいです) ご存知の方いらっしゃれば教えて下さい。 よろしくお願い致します。

  • スタイルシートで点線のアンダーライン

    スタイルシートを使用し、インデントを付けたテキストに点線のアンダーラインをつけようとしています。 【CSS部分】 .honbun {  border-bottom-style: dotted;  border-left-width:20px;  border-bottom-color: #523D2F;  border-bottom-width: 1px;  margin: 20px;  line-height: 20px; } 【html部分】 <p class=honbun>  テスト<br>  テスト<br>  テスト<br> </p> 【画面結果】  テスト  テスト  テスト  ------ すべての行のテキストのアンダーラインに、点線のアンダーラインを入れたいのですが、 ひとつの要素としてみてしまうのか、できません…。 一行づつにスタイルシートで点線を指定しなければ実現できないのでしょうか。(そもそも不可能?) よろしくご教授ください。どうぞよろしくお願い致します。

    • ベストアンサー
    • HTML
  • 実線と破線(点線)の下線を付けたい。

    実線と破線(点線)の下線を付けたい。 同じ文字に実線と破線の下線を付けたいので  <span style="border-bottom:dashed; border-bottom-width:1px;">あ<u>い</u>う</span> としたところ、IEでは見やすく表示されたのですが、FireFoxでは実線と破線がくっついてしまい、見やすくありません。 これを離して表示させるにはどうしたらいいのでしょうか。

    • ベストアンサー
    • HTML
  • IEのテーブル表示の不具合でしょうか・・・?

    IEで正しく表示されているものが、別のページへ行って「戻る」ボタンを押すと、テーブルの表示が崩れてしまいます。 2列のテーブルの右側の部分が左側にかぶって表示されてしまうのです。 参考までにその部分のソースを以下に記述します。 何か気になる点などお気づきになられたら教えてください。 <table width="320" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="200"> <table width="200" border="0" cellspacing="0" cellpadding="5"> <tr> <td class="px12"> ・<a href=>あああああ</a><br> ・<a href=>いいいいい</a><br> ・<a href=>ううううう</a><br> <hr width="160" size="1" noshade align="left"> ・<a href=>えええええ</a><br> <hr width="160" size="1" noshade align="left"> ・<a href=>おおおおお</a><br> <hr width="160" size="1" noshade align="left"> </td> </tr> </table> </td> ※以下から左側のテキストにかぶって表示されてしまいます。 <td width="120"><a href=><img src="images/画像.gif" width="120" heigt="180" border="0"></a><br> <table width="120" border="0" cellspacing="2" cellpadding="0"> <tr> <td valign="top"><img src="images/矢印画像.gif" width="11" height="11" border="0"></td> <td class="px12"><a href=>テキストテキストテキスト</a></td> </tr> </table> </td> </tr> </table> 以下が私の環境です。 WindowsXP(HomeEdition)・SP2インストール済・IE6 よろしくお願いします。

  • firefox とie6 でのbackground height wi

    firefox とie6 でのbackground height width表示の違い ホームページ作成しています。 初心者です。 globalnavi というdiv のなかに globalnavi li をfloat-rightで横並びにしました。 width 800px height 30px にしたいのですが IEやfirefoxでずれが生じます。よくあるトラブルのよなのでバグ対策など調べて試してみましたが両方がぴったり合うことはありませんでした。丸一日挑戦しましたがギブアップです。background image は30×800のバーをpng形式で作りました。独学でまだ理解していないことばかりで乱雑なcssですみません。ご教示をお願いします!! #globalNavi{ background-image:url(../menubar.png); width:790px; height:30px; font-size:14px; color: #1C1D21; text-align:center; } #globalNavi li{ float:right; overflow:hidden; width:80px; height:30px; list-style-type:none; text-align:center; color: #1C1D21; border-left-width: 2px; border-left-style: solid; border-left-color: #999; line-height:0; } #globalNavi a{ width:80px;   height:30px; display:block; text-align:center; line-height:normal; } #globalNavi a:hover{ width:80px; height:30px; background-position: 0 -80px; background-color:#B7D68D; text-decoration: none;

    • ベストアンサー
    • HTML
  • IE6での表示がうまくいかず困っています

    すみません!先ほど同様の質問をしたのですが、文字数オーバーで途中で切れてしまっていたので本当に恐縮ですが再度お願いいたします。 コーディングを勉強中なのですが、どうしてもIE6での表示がうまくいかず、大変困っています。色々ググって調べてみたのですが、決定的な原因がわからず本当にどうすればよいのかわかりません・・・。どなたかご教示いただけませんでしょうか。 他のFireFOX,Safari,IE8では多少のズレはあるものの普通に表示されました。IE6では背景画像とフッターのみしか表示されない。という状況です。 CSSは以下です。 /* generated by csscreator.com */ html{ height:100%; } body{ margin:0; padding:0; text-align:center; color: #fff; background: #000000 url("../images/back-right.gif") repeat-x; position: relative; text-decoration: none; height:100%; } body > #pagewidth { height: auto; } img { border-style:none; } ul{ margin:0; padding:0; text-align:left; } li{ list-style-type: none; line-height:100%; } p{ margin:0; padding:0; text-align:right; } #bg_wrap { height: 423px; width: 50%; top: 0px; background: url(../images/back-left.gif) repeat-x; position: absolute; } #pagewidth{ width: 918px; height: 100%; min-height: 100%; text-align:left; margin: 0px auto; position: relative; background: url(../images/left-col.gif) left repeat-y; } #left-container{ width: 130px; height: 100%; float:left; position:relative; padding-left: 23px; } #header{ width: 100%; height: 266px; color: #000; background-color: #fff; } #navigation{ width: 100%; color: #fff; padding-bottom: 5em; } #main-container{ width: 764px; float: right; display:inline; position: relative; } #maincontents{ padding-right: 21px; } #footer{ height: 50px; width: 100%; text-align:left; padding-left: 95px; clear: both; } /* *** Float containers fix: http://www.csscreator.com/attributes/containedfloat.php *** */ .clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } .clearfix{display: inline-block;} /* Hides from IE-mac \*/ * html .clearfix{height: 1%;} .clearfix{display: block;} /* End hide from IE-mac */ /*printer styles*/ @media print{ /*hide the left column when printing*/ #leftcol{display:none;} #twocols, #maincol{width:100%; float:none;} } 以上です、よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • この部分の画像を入れるには・・??

    <!--* はじめ *--> <table><tbody><tr><td> <div style="border:1px solid #ff6699;width:400px"><div style="border-width:3px;border-style:solid;border-color:#fff #ffbbbb #ffbbbb #fff;background:#ffcccc;padding:4px"><div style="border:3px dotted #fff;padding:4px"><div style="border-width:3px;border-style:solid;border-color:#ffbbbb #fff #fff #ffbbbb"><div style="border:1px solid #ff6699;background:#fff;font-size:13px;color:#ff6699;padding:15px"> <img src="写真URL" width="幅(ピクセル)" height="高さ(ピクセル)" border="0" align="left" style="margin:0 7px 0 0"> <b>HN</b> ☆ プロフィール <hr style="border-style:solid;color:#ff6699;height:1px"> <b>職業/学校</b> ☆ プロフィール <hr style="border-style:solid;color:#ff6699;height:1px"> <b>住んでるとこ</b> ☆ プロフィール <hr style="border-style:solid;color:#ff6699;height:1px"> <b>性別</b> ☆ プロフィール <hr style="border-style:solid;color:#ff6699;height:1px"> <b>年齢</b> ☆ プロフィール <hr style="border-style:solid;color:#ff6699;height:1px"> <!--* おわり *--> すいません。上記のタグは、HP用のプロフィールなんですが、写真を入れることのできるプロフィールなんです。。 が、上のほうに、写真URLというのが、あって、多分そこに写真を入れるんですが、写真URLって何ですか?マイピクチャーに入れてる写真を使うのですがURLなんかないです。。 どうしたらいいんでしょうか?