web-dev-qa-db-ja.com

テーブル列のフォーマット

<table/>要素を使用して<col/>の列をフォーマットしようとしています。 background-colorwidthなどは設定できますが、font-weightは設定できません。なぜそれが機能しないのですか?

<table>
    <col style="font-weight:bold; background-color:#CCC;">
    <col>
    <tr>
        <td>1</td>
        <td>2</td>
    </tr>
    <tr>
        <td>3</td>
        <td>4</td>
    </tr>
</table>
18
Andy

私の知る限り、<col>要素でCSSを使用して以下をフォーマットすることしかできません。

  • 背景色
  • 境界
  • 視認性

この ページ 詳細があります。

ハーブは正しいです-<td>を直接スタイリングする方が良いです。私がしていることは次のとおりです。

<style type="text/css">
   #mytable tr > td:first-child { color: red;} /* first column */
   #mytable tr > td:first-child + td { color: green;} /* second column */
   #mytable tr > td:first-child + td + td { color: blue;} /* third column */
   </style>
   </head>
   <body> 
   <table id="mytable">
    <tr>
      <td>text 1</td>
      <td>text 2</td>
      <td>text 3</td>
    </tr>
    <tr>
      <td>text 4</td>
      <td>text 5</td>
      <td>text 6</td>
    </tr>
    </table>

ただし、これはIEでは機能しません。

36
Bill

最善の策は、スタイルを<td>タグに直接適用することです。 <col>タグを使用したことはありませんが、ほとんどのブラウザでは、<table>および<td>/<th>レベルでフォーマットを適用できますが、中間レベルでは適用できません。たとえば、

<table>
    <tr class="Highlight">
        <td>One</td>
        <td>Two</td>
    </tr>
    <tr>
        <td>A</td>
        <td>B</td>
    </tr>
</table>

このCSSは機能しません

tr.Highlight { background:yellow }

しかし、これは

tr.Highlight td { background:yellow }

また、上記のコードはデモンストレーションのみを目的としており、実際にスタイルをインラインで適用することはないと思います。

6
Herb Caudill

あなたはこれを必要としていたかもしれません:

tr td:first-child label {
    font-weight: bold;
}
2
Paul

最初の列が太字のテキストになり、他の4つの列が通常のテキストになるようにテーブルのスタイルを設定しようとして、これを読みました。 colタグを使用する方法のように見えましたが、width属性を使用して列の幅を設定することはできましたが、font-weight:boldは機能しませんでした。ソリューションの方向を示していただきありがとうございます。すべてのtd要素をtd {font-weight: bold;}にスタイル設定し、次に隣接する兄弟セレクターを使用して列2〜5を選択し、通常のtd + td {font-weight: normal;}にスタイルを戻すことにより、すべて良好です:)

1
Herbt

CSSクラスを介してスタイルを適用してみましたか?

以下が機能しているようです。

<style type="text/css"> 
  .xx {
  background: yellow;
  color: red;
  font-weight: bold;
  padding: 0 30px;
  text-align: right;
}

<table border="1">
  <col width="150" />
  <col width="50" class="xx" />
  <col width="80" />
<thead>
  <tr>
    <th>1</th>
    <th>2</th>
    <th>3</th>
    <th>4</th>
  </tr>
</thead>
<tbody>
  <tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
    </tr>
</tbody>
</table>

col要素の参照

0
mwilliams