• ベストアンサー

[CSS]枠線がうまく出来ない。

商品名と価格のリストを掲載しようとしています。 1列目に商品名、2列目に商品名と価格が引っ付かないように空白用枠(幅15px)、3列目に価格を掲載しています。 当初は枠に線を引こうとしたのですが、項目名なども枠内に入ってしまうため、カッコ悪かったです。 なので、TDにCSSで枠線を引こうと考えました で、色々とやってみたのですが、以下の問題が… (ソースを張ろうと思ったのですが、文字数制限に引っかかっちゃいました。) 1.なぜか上だけ濃い。後は薄い? 2.行の間が開かない(枠線が引っ付いてしまう) なんとも説明が下手ですみませんが、こんな状況です。 綺麗にするにはどうしたらいいでしょう?

  • CSS
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.2

とりあえず、カラー値の後ろにセミコロンが無いように見えますが。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

>border-color: #006699 の後にも「;」が必要です

master-3rd
質問者

お礼

ありがとうございます。 無事修正できました。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

答えられるかどうかわかりませんが、(多分他の人が答えてくれるでしょう) とりあえず、補足でソースを張ってください。

master-3rd
質問者

補足

ありがとうございます。その指摘がつくのを待ってました。 <STYLE type="text/css"> <!-- .l { /* リスト */ border-style: solid; /* 枠の形 */ border-color: #006699 border-top-width: 1px; /* 上の枠 */ border-bottom-width: 1px; /* 下の枠 */ border-left-width: 1px; /* 左の枠 */ border-right-width: 0px; /* 右の枠 */ padding-top: 5px; /* 上の余白 */ padding-bottom: 5px; /* 下の余白 */ padding-left: 10px; /* 左の余白 */ } .a { /* 間 */ border-style: solid; /* 枠の形 */ border-color: #006699 border-top-width: 1px; /* 上の枠 */ border-bottom-width: 1px; /* 下の枠 */ border-left-width: 0px; /* 左の枠 */ border-right-width: 0px; /* 右の枠 */ padding-top: 5px; /* 上の余白 */ padding-bottom: 5px; /* 下の余白 */ } .p { /* 価格 */ border-style: solid; /* 枠の形 */ border-top-width: 1px; /* 上の枠 */ border-bottom-width: 1px; /* 下の枠 */ border-left-width: 0px; /* 左の枠 */ border-right-width: 1px; /* 右の枠 */ border-color: #006699 padding-top: 5px; /* 上の余白 */ padding-bottom: 5px; /* 下の余白 */ } --> </STYLE> とりあえず、こんな感じです。

関連するQ&A

  • cssを使った枠線の表示について

    css初心者です。宜しくお願いします。 タグ打ちしたHTMLファイルとcssファイルがあります。 cssファイルに「.waku {BORDER-WIDTH:5px;BORDER-COLOR:#FFFFFF;BORDER-STYLE:SOLID}」と記述し、 HTMLに「<P CLASS=waku>適当な文字列</P>」としました。 この、「適当な文字列」の周りに5pxの白い枠線が表示されたところまではうまくいったのですが、画面の左右いっぱいまで枠線が延びています。 (1)文字列の幅に合わせて、自動的に枠の幅を変えるにはどうすればいいのでしょうか? (2)この枠の幅を「画面の50%」あるいは「500px」などと指定することは可能でしょうか? (3)文字列と枠線との間隔を調整することは可能でしょうか? 余談ですが、cssの記述の際、スペースを多様している例をよく見かけます。 冒頭での私の書き方でも正常に動作しているようですが、「.waku { BORDER-WIDTH : 5px ; BORDER-COLOR : #FFFFFF ; BORDER-STYLE : SOLID }」このように (4)各文字列や値の前後にスペースを入れる理由を教えてください。

  • 枠線が表示されません

    初歩的な質問ですみません。 以下のようなテーブルを組んでいるのですが 枠線が表示されません。 どこがおかしいのでしょうか? 宜しくお願いします。 ==================================HTML================================== <html> <head> <link rel="stylesheet" href="test.css" type="text/css"> </head> <body> <table class="table1"> <tr> <th>左</th> <th>真ん中</th> <th>右</th> </tr> <tr> <td class="blue">1</td> <td class="blue">田中</td> <td class="blue">55</td> </tr> <tr> <td class="white">2</td> <td class="white">鈴木</td> <td class="white">42</td> </tr> <tr> <td class="blue">3</td> <td class="blue">斉藤</td> <td class="blue">20</td> </tr> </table> </body> </html> ==================================CSS================================== /*テーブル全体*/ .table1 { border-collapse: collapse; /* 枠線の表示方法 重ねる */ border: 2px #757575 solid; /* テーブル全体の枠線(太さ・色・スタイル)solid:実線 */ margin-top: 10px; /* 表示位置 */ margin-left: 25px; /* 表示位置 */ } /*テーブルの見出し部分*/ th { font-size:10pt; text-align:left; /*左寄せ*/ color:#888888; /*テキスト色*/ background-color:#B8B8B8; /*背景色*/ border-style: solid; /* 枠の種類 */ border-width: 0px 1px; /* 枠の幅 */ border-spacing: 0; /* 隣のセルとの間隔 */ } /*テーブルのデータ部分*/ td { font-size:10pt; text-align:left; /*左寄せ*/\ border-style: solid; /* 枠の種類 */ border-width: 0px 1px; /* 枠の幅 */ } .blue{ background-color: #CCCCFF; } /* セル色:青 */ .white{ background-color: #FFFFFF; } /* セル色:白 */ /*背景色と文字色*/ body { background-color: #969696; color: #000000; }

    • 締切済み
    • CSS
  • CSSで枠線の太さを変えるとき

    CSSでlistタグを使ってナビゲーションを作る練習をしています。 CSSで以下のように書いた場合、a:hover時の動作として、上の枠線のみが1pxから5pxに変わります。しかし、この方法だと、【上の枠線の下】が5pxとなり、その分、入力してある文字が下にずれます。 そこで、ずれないように、【上の枠線の上】に5px増やすにはどうすればいいでしょうか。 あるいは、そのように見せるための方法がありますか。画像は使用しないで作りたいです。 よろしくお願いします(CSSは初心者程度のレベルです)。 ================================================== ul{ list-style-type:none; } a{ text-decoration:none; } li a{ border-top-style:solid; border-right-style:solid; border-bottom-style:solid; border-left-style:solid; border-top-width:1px; border-right-width:1px; border-bottom-width:1px; border-left-width:1px; border-top-color:red; border-right-color:green; border-bottom-color:green; border-left-color:green; width:8em; } li a:hover{ border-top-style:solid; border-right-style:solid; border-bottom-style:solid; border-left-style:solid; border-top-width:5px; border-right-width:1px; border-bottom-width:1px; border-left-width:1px; border-top-color:red; border-right-color:green; border-bottom-color:green; border-left-color:green; width:8em; } ==================================================

    • ベストアンサー
    • CSS
  • CSSでテーブルレイアウトが出来ません!

    現在DreamweaverMXでテーブルを作っているのですが、うまく表示されません。というか設定方法がよく分かりません。 テーブルは2列で10行のテーブルを作っているのですが、CSSから枠線の表示部分の設定を行っても反されません。現在はテーブルの外回りの線が表示されるだけなのです。 CSSは以下になります。 .maintable { font-size: small; padding: 5px; border: 1px solid #666666; text-align: left; height: auto; width: 400px; } 中身の枠線を表示するにはやはりtdやtrのCSS指定を行わないといけないのでしょうか?しかしホームページのメニュー部分をテーブルで作っているのでそちらにも反映されてしまい、表示が変になってしまいます。 もしtdやtrにclass指定をする場合、すべてのtdやtrに指定していくのでしょうか?そうすると、指定する数が沢山になってしまうのですが・・・。 この問題について、お分かりになられる方がいらっしゃいましたら、よろしくお願いいたします。

  • CSSがわかりません!

    <table> <tbody> <tr> <td>あ <td>い <td>う ・・・ って感じになってて、この「い」だけを300pxの幅にしたいです。 CSSに td.under_supplementation_table{ width: 300px important!; } と記述し、 <table> <tbody> <tr> <td>あ <td class="under_supplementation_table">い <td>う に直しても、うまくいきませんでした。 正しい修正方法を教えてください。

    • ベストアンサー
    • CSS
  • tableで横幅を指定するとき。

    説明が下手でわかりにくいのですが、 よろしくお願いいたします。 例えば、 td二列の幅を100px、100pxづつにした場合、 table全体の幅は200pxになりますよね…。 tdで幅を100pxに指定した上で、 cellspacingで枠の余白を10pxに指定した場合、 table全体の幅はそのまま200pxで良いのでしょうか…。 それとも、cellspacingで指定した値を足した230pxにすれば良いのでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • CSSで文字が縮まらない方法

    CSSの初心者です。 不明点があるので教えてください。 1.テーブルに文字を入力してあります。 ウィンドウサイズの大きさを小さくするとそのテーブルの 文字も縮まります。 私は日本人です。 ↓↓↓ 私 は 日 本 人 で す。 みたいになります。 ウィンドウサイズを小さくしても縦表示にならない方法は ありますでしょうか? 2.↑と類似質問になりますが、tdで幅指定(px)はできますよね? 自分がもっているCSS辞典には td {width: 200px;} がなく、 table {width: 200px;} しか掲載されていません。 やはりpx指定してもウィンドウサイズが小さくなるとその大きさを 維持できなくなるのでしょうか? HTMLのようになかなか思うような表示にならず細かいところで 苦労しています。

  • CSSでTRに枠線とTDに背景を指定したい。

    CSSでTRに枠線種を指定、TDで背景色を指定したいのですが、 Firefoxでは思惑通り表示されますが、IEではTRの枠線が表示されません。 何か良い対応策は無いでしょうか? == CSS == TABLE { border-collapse: collapse; } .grid { border: solid 1px; border-color: #888; } .nogrid { border: none; } .title { background-color: #ff7; } .data1 { background-color: #eef; } .data2 { background-color: #fff; } == HTML == <table> <tr class="grid"> <td class="title">項目1</td> <td class="title">項目2</td> <td class="title">項目3</td> </tr> <tr class="nogrid"> <td class="data1">値1</td> <td class="data1">値2</td> <td class="data1">値3</td> </tr> <tr class="nogrid"> <td class="data2">値1</td> <td class="data2">値2</td> <td class="data2">値3</td> </tr> </table>

  • FireFoxでのtable枠線の表示/非表示

    下記HTMLコードは テーブル(TDレベル)の枠線を表示するCSSクラスと 非表示とするCSSクラスを用意し、ボタンを押す事 によりjavascriptでCSSクラスを変更するものです。 <html> <head> <style TYPE="text/css"><!-- table.tclass { border-collapse:collapse; } td.b { border: 1px solid; border-color:#000000; } td.w { border:noe; border-color:#FFFFFF; } --></style> <script Language="JavaScript"><!-- function delLine(elem){ var obj = document.getElementById(elem); obj.className = "w"; } // --></script> </head> <body> <table class="tclass"> <tr> <td class="b" id="td1">Table1</td> <td class="b" id="td2">Table2</td> </td> </tr> </table> <button type='button' onclick='delLine("td2");' >枠線を消す</button><br> </body> </html> 上記のように2つのテーブルセルのうち、右側セルの枠線を 消したいのですが、 右側セルの右枠だけ消えて、残りの枠は表示され たままになります。 因みに onclick='delLine("td1");delLine("td2");' のように、両方のセルともに枠線を消す場合は問題ありません。 また、tableタグのborder-collapse:collapse指定を外しても 成功する事を確認していますが、border-collapse:collapseは できれば指定したいです。 また、FireFox以外ではIE、safari、operaでは問題ありません。 何か対処方法をお分かりの方がおりましたらお教えください。 よろしくおねがいします。

    • ベストアンサー
    • HTML
  • CSSの整理方法

    CSSの初心者です。 現在、「common.css」にて ***CSS内表記*** -------------------- ページ名1 -------------------- td.xxx{ color:#ffffff; font-size:10px; } ---------------------- ページ名2 ---------------------- td.yyy{ color:#ffffff; font-size:10px; } ***CSS内表記終わり*** 上記の様に1枚で整理しておりますが、 他に良い表記方法、整理方法はありますでしょうか? 1つのページ内に「td.」クラスが10個ほどあります。 ちなみに「td.」クラス内の量が10列ほど、      ページ数は現在10ページほどです。 他に書き方や、書き方の講座の良いHPがございましたら 教えて頂けますと助かります。 よろしくお願いいたします。

専門家に質問してみよう