• 締切済み

CSSでリストマーカーを背景画像表示した場合のブラウザ(OS)間のずれ

goulanの回答

  • goulan
  • ベストアンサー率46% (23/50)
回答No.3

ul,li 両方の margin,padding 指定を簡略化せずに、上下左右全てきちんと指定して下さい。それだけで巧くいくかどうかはわかりませんが。 IE6の場合、line-heightの指定が、置換要素を含む行に反映されない/ 非置換インライン要素への指定を無視する、などの症状がでます。line-heightの指定を変えるのではなく、外してみましたか? お試し済みなら無視してください。

yarex2daze
質問者

補足

>margin,padding 指定を簡略化せずに、上下左右全てきちんと指定して下さい。 これは何故ですか? 対象ブラウザに関しての初期化はこれでいいと思っていたのですができれば理由をお願い致します。 >line-heightの指定が、置換要素を含む行に反映されない/ 非置換インライン要素への指定を無視する これは私も認識しております。 例のようにリストはテキストのみで置換要素は入れていません。 またline-height指定は<li>(リスト要素)に対して行っております。 すみませんline-heightのくだりは無視してください。 質問の要点は「win(MSゴシック)とmac(Osaka)の背景画像に見た目上うまく縦のセンタリング(テキストの真ん中にマーカーを表示すること)は可能か」ということです。 win、macともにFirefoxを対象としておりハックでの処理が難しいので悩み中という現状です。 背景画像での表示が無理そうなら何か代替案をご教授いただきたく…。

関連するQ&A

  • CSSのリスト 背景画像が表示されません

    横並びのメニューを作成したいと思っています。 text-indent:-999pxを利用して、背景画像のみを表示させようとしているのですが、h1はうまくいくもののリスト(li)についてはまったく表示されません。 ちなみにtext-indentを使用しなければ背景画像は表示されますが、かなり画像が下にずれ込んでしまっています。 よろしくお願いします。 #header h1 { margin: 5px 0 0 20px; padding: 0; width: 248px; height: 143px; float: left; text-indent: -9999px; font-size: 130px; background: url(../images/logo.jpg) no-repeat #FFFFFF; background-position: center; } ul { margin: 0; padding: 0; width: 635px; height: 54px; } li{ float: left; list-style: none; margin: 0; padding: 5px; font-size: 50px; text-indent:-999px; } li#top { background: url(../images/menu/top.jpg) no-repeat; }

    • ベストアンサー
    • HTML
  • ナビゲーションバーの背景画像が表示されません(CSS)

    私は今ホームページを作っておりまして、 先日ウェブデザインについての本を買ったのですがそこに書かれていた スタイルシートの記述例(ナビゲーションバーです)をまねて 自分で記述してみたのですが思うように表示できません。 どなたか教えてください。 ◆問題の部分です◆ スタイルシート div#navi{ width:900px; margin-bottom:7px; padding-bottom:7px;} ul ,li{ margin:0; padding:0; } ul#navbar{ list-style-type:none; width:900px; float:right; } ul#navbar li, ul#navbar li a{ float:left; text-indent:-9999px; display:block; width:100px; height:25px;} ul#navbar li#link a{ background:url(image/menu-kyousitu.png) no-repeat left top; float:right;} 以下同じ様にメニューが続き ul#navber li#sample1{background:url(image/menu-a5.png) no-repeat left top;  float:right;} ↑最後のsampleの部分はリンクを張らないようにしたいのでこのように記述したところ、この部分には背景画像が表示されません。 HTML <div id="navi"> <ul id="navbar"> <li id="link"><a href="**">リンク集</a></li> <li id="sample1">sample</li> </div> 見苦しい分で申し訳ありませんが、どなたかよろしくお願いします。

    • ベストアンサー
    • CSS
  • safariでの横並びリスト(List)CSSずれについて

    CSSマスターの方にご質問させていただきます。 現在横並びリストを制作しようとしております。 リストに表示する文字の高さを中央揃えにし、カーソルが触れるまでは黒色画像、hover時に赤色画像のバックグラウンドをマイナス設定にてロールオーバー効果を演出しようとしています。 IEではきちんと表示されているのですがsafariではパディング分、赤色がズレてしまい、hover時には黒色がズレてしまいます。 <UL id="sitemenu"> <LI id="side">あいうえお <LI id="side">かきくけこ </UL> /***********LI設定***********/ #side A{ width:60px; //幅 height:40px; //高さ margin-top : 0px; margin-left : 0px; margin-right : 0px; margin-bottom : 0px; background-image : url(背景.gif); //背景 background-position : 0px 0px; no-repeat; text-align : center; //文字の位置 text-decoration : none; //文字飾り vertical-align : top; //文字の高さ padding-top : 10px; //パディング高さ float : left; } #side A:hover{ background-position : 0px -40px; no-repeat; } /***********UL設定***********/ #sitemenu{ padding-top : 0px; padding-left : 0px; padding-right : 0px; padding-bottom : 0px; margin-top : 0px; margin-left : 0px; margin-right : 0px; margin-bottom : 0px; border-width : 0px 0px 0px 0px; vertical-align : top; text-align : left; list-style-type : none; float : left; } #sitemenu LI{ float : left; } なんとか背景画像がずれない様に表示させていので、どなたかわかる方がいらっしゃいましたら大変申し訳ないのですがご教授お願いいたします。

    • ベストアンサー
    • HTML
  • IEでCSSによる背景画像の高さが伸びる原因は?

    2枚の画像で、リンクを行おうとした場合、 div内にh2とulでリンクを行っています。 ところが、高さ(hight)を全てに指定しているにも関わらず、 divが引き伸ばされて、background-imageの不要な部分まで出てきてしまいます。 borderを入れると全体を挟んでいるDIVが何かによって引き伸ばされていますが、なぜIEだと引き伸ばされているのでしょうか? FIREFOXだと綺麗に表示されます。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title>無題ドキュメント</title> <style> <!-- * { margin:0; padding:0; } h2,ul { text-indent:-9999px; list-style:none; } h2 a { width:175px; height:28px; display:block; } ul a { display:block; width:175px; height:24px; } ul li { padding:0; margin:0; } .float_right { float:right; } .mgn_btm7 { margin-bottom:7px; } div#NAVIBAR { width:175px; margin-top:43px; height:398px; background-image:url(image/test-a.gif); background-repeat:no-repeat; border:1px #FF0000 solid; } h2 a:hover { background-image:url(image/test.gif); background-position:0 0; background-repeat:no-repeat; height:23px; } ul a:hover { background-image:url(image/test.gif); background-repeat:no-repeat; height:23px; } ul a#E:hover { background-position:0 -28px; } ul a#F:hover { background-position:0 -52px; } ul a#G:hover { background-position:0 -76px; } ul a#H:hover { background-position:0 -100px; } ul a#I:hover { background-position:0 -124px; } ul a#J:hover { background-position:0 -155px; } ul a#K:hover { background-position:0 -179px; } ul a#L:hover { background-position:0 -203px; } ul a#M:hover { background-position:0 -227px; } ul a#N:hover { background-position:0 -251px; } ul a#O:hover { background-position:0 -275px; } ul a#P:hover { background-position:0 -299px; } ul a#Q:hover { background-position:0 -323px; } ul a#R:hover { background-position:0 -347px; } ul a#S:hover { background-position:0 -371px; } --> </style> </head> <body> <div id="NAVIBAR" class="float_right"> <h2><a href="#">タイトル</a></h2> <ul class="mgn_btm4"> <li><a href="#" id="E">ああああああ</a></li> <li><a href="#" id="F">いいいいいい</a></li> <li><a href="#" id="G">うううううう</a></li> <li><a href="#" id="H">ええええええ</a></li> <li class="mgn_btm7"><a href="#" id="I">おおおおおおお</a></li> <li><a href="#" id="J">かかかかかか</a></li> <li><a href="#" id="K">きききききき</a></li> <li><a href="#" id="L">くくくくくく</a></li> <li><a href="#" id="M">けけけけけけ</a></li> <li><a href="#" id="N">ここここここ</a></li> <li><a href="#" id="O">ささささささ</a></li> <li><a href="#" id="P">しししししし</a></li> <li><a href="#" id="Q">すすすすすす</a></li> <li><a href="#" id="R">せせせせせせ</a></li> <li><a href="#" id="S">そそそそそそ</a></li> </ul> <hr> </div> </body> </html>

    • ベストアンサー
    • HTML
  • CSSを使ってのLIST表示

    CSSを使ってLIST表示を以下のようにしているのですが、 ul.ref { margin: 0 20px; padding: 0; } .ref li { margin: 0 0 5px 0; padding: 2px 0 2px 20px; list-style-type: none; font-weight: bold; color: #03C; background: #DDD url(../img/arrow.gif) no-repeat; background-position: 0.5% 55%; } IEとFirefoxで表示の差が出て困っています。Firefoxの方が自分の思ったとおりに表示されてます。 参考ページ http://canada.ciao.jp/life/share.html IEでもFirefoxと同じように表示させるには、一体上記CSSのどの部分を修正すべきなのでしょうか?それともIE用にCSSを書き換えないとだめなのでしょうか? また、追加質問で恐縮なのですが、上記参考ページでもう1点、IEとFirefoxの表示の違いがあり、ちょっと困っています。ページ右側にある広告枠なんですが、IEだとFirefoxよりちょっと下側に表示されます。 #right { margin: 20px 20px 0 600px; padding: 10px 0 20px 0; text-align: center; } おそらく、上のCSSのせいなのでしょうが、この20pxを失くすと、これまたおかしくなりで、困っています。 アドバイスよろしくお願いいたします。

  • CSSで<ul><li>タグを使ってどのブラウザでも同じように表示させたい。

    .ul { width: 120px; height: auto; float: left; font: 12; line-height: 150%; padding: 0; list-style-image: url(img/side-tab.gif); } .li { font-size: 12px; margin-left: 1.5em; } <ul class="○○○"> <li>11111</li> <li>22222</li> <li>33333</li> <li>44444</li> <li>55555</li> <li>66666</li> </ul> このようなコードでlistの頭には画像を使いたいのですが、どうしてもブラウザごとに表示がばらばらになってしまいます。 横幅は185pxまででおさめて、かつlistの画像とテキストが同じ列に表示されるようにしたいと考えています。 唯一firefoxだけが思うように表示できました。 IE6と7でも違う表示になりました(IE6だとかなり右寄り) operaに関しては画像とテキストの縦位置がずれてしまっていました。 CSSに関してはいろいろいじってて、なにがなんだがわからない状態になってしまいました・・ これを一つのCSSできれいに表示することは不可能でしょうか? どうかよろしくお願致します。

    • ベストアンサー
    • HTML
  • IEでリストに指定した背景画像が表示されない。

    以下のソースで三段階で設定しましたが、FIREFOXで表示できました。 IEだけ表示できなかったです。バグだと思いますが、いろいろ試して見ましたが、うまくできませんでした。 教えてください。 HTML <ul id="globalnavi_list"> <li id="gn_top"><a href="#" class="on">トップ</a></li> <li id="gn_corporate"><a href="#">研究所</a></li> <li id="gn_service"><a href="#">究所作品</a></li> <li id="gn_works"><a href="#">現場</a></li> <li id="gn_ecology"><a href="#">BBS</a></li> <li id="gn_contact"><a href="#">特設コーナー</a></li> <li id="gn_last"><a href="#">店舗</a></li> </ul> <CSS> ul#globalnavi_list { width:950px; height:73px; clear:both; text-indent:-9999px; text-decoration: none; } ul#globalnavi_list li{ float:left; } ul#globalnavi_list li a { display:block; height:73px; text-decoration:none; font-size:1px; } ul#globalnavi_list li#gn_top a { background:#ffffff url("../../common/globalnavi.gif") 0 0 no-repeat; width:97px; } ul#globalnavi_list li#gn_top a:hover { background:#232323 url("../../common/globalnavi.gif") 0 -73px no-repeat; } ul#globalnavi_list li#gn_top a.on { background:#232323 url("../../common/globalnavi.gif") 0 -146px no-repeat; } ul#globalnavi_list li#gn_corporate a { background:#232323 url("../../common/globalnavi.gif") -97px 0 no-repeat; width:145px; } ul#globalnavi_list li#gn_corporate a:hover { background:#232323 url("../../common/globalnavi.gif") -97px -73px no-repeat; } ul#globalnavi_list li#gn_corporate a.on { background:#232323 url("../../common/globalnavi.gif") -97px -146px no-repeat; } ul#globalnavi_list li#gn_service a { background:#232323 url("../../common/globalnavi.gif") -242px 0 no-repeat; width:146px; } ul#globalnavi_list li#gn_service a:hover { background:#232323 url("../../common/globalnavi.gif") -242px -73px no-repeat; } ul#globalnavi_list li#gn_service a.on { background:#232323 url("../../common/globalnavi.gif") -242px -146px no-repeat; } ul#globalnavi_list li#gn_works a { background:#232323 url("../../common/globalnavi.gif") -388px 0 no-repeat; width:125px; } ul#globalnavi_list li#gn_works a:hover { background:#232323 url("../../common/globalnavi.gif") -388px -73px no-repeat; } ul#globalnavi_list li#gn_works a.on { background:#232323 url("../../common/globalnavi.gif") -388px -146px no-repeat; } ul#globalnavi_list li#gn_ecology a { background:#232323 url("../../common/globalnavi.gif") -513px 0 no-repeat; width:74px; } ul#globalnavi_list li#gn_ecology a:hover { background:#232323 url("../../common/globalnavi.gif") -513px -73px no-repeat; } ul#globalnavi_list li#gn_ecology a.on { background:#232323 url("../../common/globalnavi.gif") -513px -146px no-repeat; } ul#globalnavi_list li#gn_contact a { background:#232323 url("../../common/globalnavi.gif") -587px 0 no-repeat; width:240px; } ul#globalnavi_list li#gn_contact a:hover { background:#232323 url("../../common/globalnavi.gif") -587px -73px no-repeat; } ul#globalnavi_list li#gn_contact a.on { background:#232323 url("../../common/globalnavi.gif") -587px -146px no-repeat; } ul#globalnavi_list li#gn_last a { background:#232323 url("../../common/globalnavi.gif") -827px 0 no-repeat; width:123px; } ul#globalnavi_list li#gn_last a:hover { background:#232323 url("../../common/globalnavi.gif") -827px -73px no-repeat; } ul#globalnavi_list li#gn_last a.on { background:#232323 url("../../common/globalnavi.gif") -827px -146px no-repeat; }

    • 締切済み
    • CSS
  • CSSについて リスト表示のリストマークの表示位置

    カテゴリをリスト表示すると左揃いにならず、 なぜが左に余計な空白というか空間ができてしまいます。 リスト表示のリストマークの表示位置をもっと左にするにはどうすればいいですか? /* カテゴリー */ div#sidebar-left li {font-size: 0.75em; list-style-type: none; background-image: url(listmark.png); background-repeat: no-repeat; padding-left: 16px; margin-bottom: 4px; vertical-align: top} div#sidebar-left li a{color: #000000; text-decoration: none} div#sidebar ul{padding: 0; margin: 8px 8px 20px}

  • 幅違うメニュー(リスト)、floatで横並びで背景画像でテキスト飛ばしたいが・・

    お世話になります。 メニュー(リスト)のテキストを、CSSで飛ばして、背景の画像を表示させるようにしたいのですが、何も表示されません。 マウスオーバーすると、画像がかわるようにしたいです。 どうか、何が問題なのか、教えてくださいませ。 ★メニューのwidthは、全てちがいます。 ★背景の画像は、「./images/gNavi/gNav.gif」という幅513px高さ14pxの画像。  マウスオーバーの背景画像は、「./images/gNavi/gNav_ov.gif」という幅513px高さ14pxの画像。 ★リストは、横並びにしたい。 【HTML】 <div id="gNavi"> <ul> <li id="01"><a href="#">メニュー1</a></li> <li id="02"><a href="#">メニュ-2</a></li> <li id="03"><a href="#">メニュ-3</a></li> <li id="04"><a href="#">メニュ-4</a></li> <li id="05"><a href="#">メニュ-5</a></li> <li id="06"><a href="#">メニュ-6</a></li> </ul> </div> 【CSS】 #gNavi { width:513px; height:14px; } #gNavi ul{ list-style: none; margin: 0; padding: 0; height: 14px; overflow: hidden; } #gNavi li { float:left; margin:0; padding:0; } #gNavi li a{ display:block; height:100%; width: 100%; height: 0 !important; height /**/: 14px; background:url(../images/gNavi/gNav.gif) no-repeat; text-decoration:none; text-indent:-7777px; } #gNavi li a:hover{ background:url(../images/gNavi/gNav_ov.gif) no-repeat; } #gNavi li#01 a{ background-position: 0 0; width: 52px; } #gNavi li#02 a{ background-position: -52px 0; width: 71px;} #gNavi li#03 a{ background-position: -123px 0; width: 105px;} #gNavi li#04 a{ background-position: -228px 0; width: 93px;} #gNavi li#05 a{ background-position: -321px 0; width: 93px;} #gNavi li#06 a{ background-position: -414px 0; width: 99px;} #gNavi li#01 a:hover { background-position: 0 0;} #gNavi li#02 a:hover { background-position: -52px 0;} #gNavi li#03 a:hover { background-position: -123px 0;} #gNavi li#04 a:hover { background-position: -228px 0;} #gNavi li#05 a:hover { background-position: -321px 0;} #gNavi li#06 a:hover { background-position: -414px 0;} (何か、他に必要な情報があれば、言ってください!)

    • ベストアンサー
    • CSS
  • 【CSS】firefoxで背景が表示されない-ナビゲーション(画像置換リンク)

    「li」に背景画像を指定して、ナビゲーションをつくってみたところ・・・ Firefox、Operaで表示されません。 (IEでは表示されます。) ヘッダー左にロゴ(これはどのブラウザでも表示される)、右側にナビゲーションを配置した作りです。 ハックなど色々調べてみたのですが、解決できず・・・。 力をお貸しいただけないでしょうか。 g_nav.gif・・・グローバルナビゲーション一枚画像550px×30px。(上部:ロールオーバー前、下部:ロールオーバー時) 【HTML】 <!--headerここから--> <div id="header"> <!--logoここから--> <div id="logo"> <h1><a href="aaa.html">logo</a></h1> </div> <!--logoここまで--> <!--naviここから--> <div id="nav"> <ul> <li id="nav01"><a href="aaa.html">あああ</a></li> <li id="nav02"><a href="aaa.html">あああ</a></li> <li id="nav03"><a href="aaa.html">あああ</a></li> <li id="nav04"><a href="aaa.html">あああ</a></li> <li id="nav05"><a href="aaa.html">あああ</a></li> </ul> </div> <!--naviここまで--> </div> <!--headerここまで--> 【CSS】 #header{ width:800px; height:70px; margin:0 auto; padding:0; } #logo { width:216px; height:70px; background-image:url(../cmn_img/logo.gif); float:left; } #nav{ width:550px; height:30px; float:right; margin:40px 0 0 0; padding:0; text-indent:-999em; } #nav ul{ margin:0; padding:0; list-style-type:none; } #nav li{ display:inline; } #nav li#nav01 a,#nav li#nav02 a,#nav li#nav03 a,#nav li#nav04 a,#nav li#nav05 a,{ display:block; background-image:url(../cmn_img/g_nav.gif); overflow:hidden; float:left; } #nav li#nav01 a{width:110px; height:30px; background-position:0 0;} #nav li#nav02 a{width:110px; height:30px;background-position:-110px 0;} #nav li#nav03 a{width:110px; height:30px;background-position:-220px 0;} #nav li#nav04 a{width:110px; height:30px;background-position:-330px 0;} #nav li#nav05 a{width:110px; height:30px;background-position:-440px 0;} #nav li#nav01 a:hover{width:110px; height:30px;background-position:0 -30px;} #nav li#nav02 a:hover{width:110px; height:30px;background-position:-110px -30px;} #nav li#nav03 a:hover{width:110px; height:30px;background-position:-220px -30px;} #nav li#nav04 a:hover{width:110px; height:30px;background-position:-330px -30px;} #nav li#nav05 a:hover{width:110px; height:30px;background-position:-440px -30px;} 【下記ハック使用】 #header:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } #header {display: inline-table;} /* Hides from IE-mac \*/ * html #header {height: 1%;} #header {display: block;} /* End hide from IE-mac */

    • 締切済み
    • CSS