Firefoxでbox-shadow内枠に影が付く問題の解決方法

このQ&Aのポイント
  • box-shadowがFirefoxだと内枠にも付いてしまう問題が発生しています。バージョン20では内枠の影を表示したくない場合、どのような対応をすればよいでしょうか?
  • Firefoxでbox-shadowを使用すると、内枠にも影が付いてしまいます。この問題は、バージョン20で発生し、内枠に影を表示したくない場合に対応方法を教えてください。
  • Firefoxのbox-shadowを使用すると、バージョン20では内枠にも影が付いてしまいます。内枠の影を非表示にする対処方法を教えてください。
回答を見る
  • ベストアンサー

box-shadowでFirefoxだと内枠に影が

box-shadowがFirefoxだと内枠にも付いてしまいます(バージョン20)。 内枠には付けたくないのですが、どうすればよろしいでしょうか? 添付画像のようになってしまいます。 IE10だと内枠には付きません。 このような形にしたいです。 コードを下記します。 <table> <tr><th>ID</th><th>名前</th><th>得点</th></tr> <tr><td>1</td><td>ほげ男</td><td>100</td></tr> <tr><td>2</td><td>ほげ子</td><td>11</td></tr> </table> <style type="text/css"> table{ border-spacing:0; font-family:"メイリオ"; } table th{ padding:8px 0; border-top:1px solid #aaa; border-left:1px solid #aaa; border-bottom:1px solid #aaa; text-shadow:0 -1px 0 rgba(255,255,255,0.9); box-shadow:-1px 0 1px rgba(255,255,255,1)inset,0 -1px 1px rgba(255,255,255,0.5)inset; background:#eee; background:linear-gradient(#eee,#ddd 50%); width:134px; } table th:first-child{ border-radius:5px 0 0 0; } table th:last-child{ border-radius:0 5px 0 0; border-right:1px solid #aaa; box-shadow:2px 2px 1px rgba(0,0,0,0.1),0 -1px 1px rgba(255,255,255,0.5)inset,-1px 0 1px rgba(255,255,255,1)inset; } table td{ padding:8px 0; text-align:center; border-left:1px solid #aaa; border-bottom:1px solid #aaa; } table td:last-child{ border-right:1px solid #aaa; box-shadow:2px 2px 1px rgba(0,0,0,0.1); } table tr{ background:#fff; } table tr:last-child td{ box-shadow:2px 2px 1px rgba(0,0,0,0.1); } table tr:last-child td:first-child{ border-radius:0 0 0 5px; } table tr:last-child td:last-child{ border-radius:0 0 5px 0; } </style>

  • CSS
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • DrFell
  • ベストアンサー率55% (305/551)
回答No.2

問題のある個所を1つずつ検証されてはいかがでしょうか? 【例】 table th:last-child{ border-radius:0 5px 0 0; border-right:1px solid #aaa; box-shadow:2px 0/*★2pxっておかしくない?*/ 1px rgba(0,0,0,0.1),0 -1px 1px rgba(255,255,255,0.5)inset,-1px 0 1px rgba(255,255,255,1)inset; } 私なら、 table{ margin-bottom:2em; border-spacing:0; font-family:"メイリオ"; border-radius:5px; box-shadow:2px 2px 1px rgba(0,0,0,0.1)} などとしておいて、tdやthの影の負担を減らします。少なくともtdへのシャドウは不要になります。

mic_goto
質問者

お礼

ありがとうございます!

その他の回答 (1)

  • mic-goto
  • ベストアンサー率0% (0/1)
回答No.1

質問者です。 質問時の添付画像が粗いので、以下にアップし直しました。 http://uploda.cc/img/img51834c2049ead.jpg

参考URL:
http://uploda.cc/img/img51834c2049ead.jpg

関連するQ&A

  • スタイルシートをhead内で定義したい

    下のテーブルのようにしたいんですが、上のテーブルはすきまができています。 このすきまをなくすために、<STYLE>の中を修正してください。 <TABLE>内は変更せずに<STYLE>だけでできるはずです。 <HTML> <HEAD> <STYLE> table.ccc{border:solid;border-color:#bbbbcc} td.ccc{border:solid;border-color:#bbccbb} .ccc th{border:solid;border-color:#ccbbbb} </STYLE> </HEAD> <BODY> <TABLE class="ccc"> <TR class="ccc"> <TH>名前</TH> <TH>住所</TH> </TR> <TR class="ccc"> <TD class="ccc">太郎</TD> <TD class="ccc">東京都新宿区</TD> </TR> <TR class="ccc"> <TD class="ccc">花子</TD> <TD class="ccc">沖縄県那覇市</TD> </TR> </TABLE> <br> <TABLE cellspacing=0 style="border:solid 4px #ddddee"> <TR> <TH style="border:solid 4px #eedddd">名前</TH> <TH style="border:solid 4px #eedddd">住所</TH> </TR> <TR> <TD style="border:solid 4px #ddeedd">太郎</TD> <TD style="border:solid 4px #ddeedd">東京都新宿区</TD> </TR> <TR> <TD style="border:solid 4px #ddeedd">花子</TD> <TD style="border:solid 4px #ddeedd">沖縄県那覇市</TD> </TR> </TABLE> </BODY> </HTML>

  • tableの外枠をCSSで表示させない方法

    HTMLで作ったテーブルの外枠の縦線をCSSで表示させないようにしたいのですが可能でしょうか? HTMLはさわらずにできる限りCSSでやりたいと思い、いろいろ試してみましたがうまくいきませんでした。 線種はsolidを使いたいです。 よろしくお願いいたします。 <html> <head> <title>css table</title> <style type="text/css"> <!-- table.sample { width:550px; height:auto; border:solid 1px; border-collapse:collapse; border-left:none; border-right:none; } .sample th { width:100px; border:solid 1px; } .sample tr { border:solid 1px; } .sample td { border:solid 1px; } --> </style> </head> <body> <table class="sample" frame="hsides"> <tr> <th scope="row">&nbsp;</th> <td>&nbsp;</td> <td></td> <td></td> </tr> <tr> <th scope="row">&nbsp;</th> <td>&nbsp;</td> <td></td> <td></td> </tr> <tr> <th scope="row">&nbsp;</th> <td>&nbsp;</td> <td></td> <td></td> </tr> <tr> <th scope="row">&nbsp;</th> <td>&nbsp;</td> <td></td> <td></td> </tr> <tr> <th scope="row">&nbsp;</th> <td>&nbsp;</td> <td></td> <td></td> </tr> </table> </body> </html>

    • ベストアンサー
    • CSS
  • css テーブルについて

    よろしくお願いします。 2だけを300pxと100pxに2分割にできないでしょうか。 <div class="aa"> <table> <tr> <th>1</th> <td>2</td> </tr> <tr> <th>1</th> <td>1</td> </tr> </table> </div> .aa table { width: 500px; height: 100px; border: 1px #000000 solid; border-collapse: collapse; } .aa th { width: 100px; border: 1px #000000 solid; } .aa td { width: 400px; border: 1px #000000 solid; }

    • ベストアンサー
    • CSS
  • cssのボタンについて(IEで背景が表示されない)

    リンク先を表示するためにcssでボタンを以下のように作製しました。 FireFoxでは正常にきちんと表示されるものの、 IE10で確認したところ、IEでは背景色が表示されませんでした。 そこでzoom: 1;などを足すなどしてみたのですが やはり表示されません。どうしたらいいのかご指南いただけませんか? どうかよろしくお願いいたします。 a.btn { position: relative; background: -moz-linear-gradient(top,#0099CC 0%,#006699); background: -webkit-gradient(linear, left top, left bottom, from(#0099CC), to(#006699)); border: 2px solid #FFF; color: #FFF; border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; -moz-box-shadow: 1px 1px 1px rgba(000,000,000,0.3); -webkit-box-shadow: 1px 1px 1px rgba(000,000,000,0.3); text-shadow: 0px 0px 3px rgba(0,0,0,0.5); padding: 10px 10px; margin: 4px 2px 4px 2px; }

    • ベストアンサー
    • CSS
  • CSSについて 初心者です。

    勉強中の身なんですが・・ このように設定した場合文章1と文章2が大きく開く状態になるんですが、なぜでしょうか? また文章1セルの真ん中に表示され文章2が左にひょうじされるのも分りません・・・・ いろいろ調べてみたんですが中々納得ができなくて・・・ 特にこうういう風にやりたいとかは特になくて、なんでこうなるのかが知りたいのです。 詳しい方説明して頂けるとありがたいです。すみませんがよろしくお願い致しますm(。。)m 「HTML」 <table> <tr> <th>見出し</th> <th></th> <th>&nbsp;</th> <th>&nbsp;</th> </tr> <tr> <td>内容</td> <td>&nbsp;</td> <td>&nbsp;</td> <td></td> </tr> </table> 「CSS] table{ width:250px; border-collapse:collapse; border-width:1px; border-style:solid; border-color:#000000; border-spacing:0; } th{ border-width:1px; border-style:solid; border-color:#000000; } td{ border-width:1px; border-style:solid; }

    • ベストアンサー
    • HTML
  • firefoxのHTMLの<table>の設定の仕方

    下記のテーブル指定で 「月」と「日」のテーブルの右側のボーダーをcssで border-right: none にしてもfirefoxでは黒色になってしまうので、どなたか わかる人おしえてください <style type="text/css"> <!-- table{ border: none; border-collapse: collapse; margin: 2em auto; } th, td{ padding: 0.3em 1em; border-top: 2px solid #ff6600; border-bottom: 2px solid #ff6600; border-left: none; border-right: none; border-cells: show; } th.right { border-right: 2px solid #ff6600; } td.right1 { border-right: 2px solid #ff6600; } td.right2 { border-right: none; } th.left { border-left: 2px solid #ff6600; } thead{ color: #000000; background: #ffcc99; } form{ display:inline; margine: 0; padding: 0; } --> </style> </head> <body> <form method="POST" action=".jsp"> <table border="1"> <thead> <tr> <th class="left right" colspan="4">予約内容</th> </tr> </thead> <tbody> <tr> <th rowspan="2" class="right left">希望日時</th> <td> <input type="text" name="month" size="3" maxlength="3" />月 </td> <td class="right2"> <input type="text" name="day" size="3" maxlength="3" />日 </td> <td class="right1"></td>>

    • ベストアンサー
    • HTML
  • tdのクラスの使い方

    <style type="text/css"> <!-- table { border: 1px red solid; padding:30px 30px; } </style> <body> <table border=3> <tr><td>test</td><td>test</td></tr> <tr><td>test</td><td>test</td></tr> </table> これだと、赤いテーブルの内側のみしかpaddingが有効にならないのですが、 黒いテーブルの枠もpaddingするには、 td { padding:30px 30px; } とするしかないのでしょうか? クラス名を付けて、やりたいテーブルのtdタグだけ適用させたい場合は、 td.aaa { padding:30px 30px; } として、 <table border=3> <tr><td class="aaa">test</td class="aaa"><td class="aaa">test</td class="aaa"></tr> <tr><td class="aaa">test</td class="aaa"><td class="aaa">test</td class="aaa"></tr> </table> のように、すべてのtdタグにクラス名を付けるしかないのですか?

  • CSSを使ってテーブルでセル全体をリンクしたい

    CSSを使ってテーブルでセル全体をリンクしたい CSSを使ってテーブルでセル全体をリンクしたい・・・と思っています。 4つのセル?を横並びにして(2段目は説明書き)、一つ一つ違うところに飛べるようにしたいのですけど、文字だけしかリンクできません。。。 block要素?を使うらしい?ということはわかったのですが、テーブル要素と組み合わせて使う場合どうしたらいいのでしょう? 色々やってみたのですが、セルが縦並べになってしまったりメインのcolorがなくなってしまったり、形が大幅に崩れたりしてしまいました。 ホームページ作りもCSSも初めてなので、なにをどうしたらよいか教えていただけると嬉しいです ソースをのっけておきます <cssの方> table#table-01 { width: 600px; border: 0px #E3E3E3 solid; border-collapse: separate; border-spacing: 20px 0; } table#table-01 th { width: 130px; height: 70px; padding: 5px; border: #E3E3E3 solid; border-width: 1px 0 0 1px; background: #F5F5F5; font-weight: bold; line-height: 120%; text-align: center; } table#table-01 td { vertical-align: top; padding: 1px 3px 20px 0; border: 0px #E3E3E3 solid; border-width: 0; text-align: center; } <htmlの方> <table id="table-01" cellspacing="20px"> <tr><th>●●●●</th><th>▲▲▲</th><th>■■■</th><th>○○○</th></tr> <tr><td>●の説明</td><td>▲の説明</td><td>■の説明</td><td>○の説明</td></tr> よろしくお願いします

    • ベストアンサー
    • HTML
  • CSSのテーブルの件で

    はじめまして よろしくお願いいたします。 CSSでテーブルを作っているのですが うまくいきません 作りたいのは下記のようなテーブルです ┌───────┐ │ A  │ B   │ └───────┘ 点線ではなく普通の線で構いません 大きなテーブルの幅が500pxとして Aを200px Bを300px にしたいのです テーブルのIDは「table2」にしています <外部CSSの部分> #table2{border:1px solid #000000; width:500px; } #table2 th{border:1px solid #000000; width:200px; } #table2 td{border:1px solid #000000; width:300px; } <htmlの部分> <table id="table2"> <tr> <td></td> </tr> </table> 色々やってみたのですが うまく行きません 詳しい方教えて頂けないでしょうか? どうぞよろしくお願いいたします。

    • ベストアンサー
    • HTML
  • テーブルの線の色が指定できない

    テーブルの線の色が指定できないうえ、最後に宣言したスタイルシートが適用されてしまいます。 理由がわかりません。 <style type="text/css"> table, td, th.bordercolor_white { border: 1px white solid; } table, td, th.bordercolor_red { border: 1px red solid; } </style> <table class="bordercolor_white"> <tr> <td>aaa</td> <td>bbb</td> </tr> </table> このような文だと、 <table class="bordercolor_white">としているのに、 なぜかテーブルの線の色は、赤になってしまいます。 table, td, th.bordercolor_red { border: 1px red solid; } table, td, th.bordercolor_white { border: 1px white solid; } のように、順番を入れ替えると、最後に宣言した白になります。 なので、<table class="bordercolor_white">の部分は無視されるようです。 二つのテーブルの線の色を用意した場合、 任意でテーブルの線の色を付ける方法をご教授ください。

    • 締切済み
    • CSS

専門家に質問してみよう