CSS改变td大小

3
我想创建一个漂亮的表格。我找到了一个模板并想要进行修改。问题是,如果我想要修改顶部标题(在“head_nav”内的标题)的字体大小,比如这样:#head_nav th{ font-size: 30px;},却没有效果。我做错了什么吗?另外,我想让“TD”数据成为正方形,而不是矩形,所以我尝试了这个:tr, td{ width: 100%; height:100%;},但是同样没有效果。
这是我的代码:

<!doctype html>
<html>
<head>
    <title>Timetable</title>
    <style type="text/css">
    body
    {
        font-family: arial;
    }

    th,td
    {
        margin: 0;
        text-align: center;
        border-collapse: collapse;
        outline: 1px solid #e3e3e3;
    }

    td
    {
        padding: 5px 10px;
    }

    th
    {
        background: #666;
        color: white;
        padding: 5px 10px;
    }

    td:hover
    {
        cursor: pointer;
        background: #666;
        color: white;
    }
    </style>

</head>

<body>
    <table width="80%" align="center" >
    <div id="head_nav">
    <tr>
        <th>Time</th>
        <th>Monday</th>
        <th>Tuesday</th>
        <th>Wednesday</th>
        <th>Thrusday</th>
        <th>Friday</th>
        <th>Saturday</th>
    </tr>
    </div>  
    
        <tr>
            <th>10:00 - 11:00</th>
            
                <td>Physics-1</td>
                <td>English</td>
                <td title="No Class" class="Holiday"></td>
                <td>Chemestry-1</td>
                <td>Alzebra</td>
                <td>Physical</td>
            </div>
        </tr>
    
        <tr>
            <th>11:00 - 12:00</td>
            
                <td>Math-2</td>
                <td>Chemestry-2</td>
                <td>Physics-1</td>
                <td>Hindi</td>
                <td>English</td>
                <td>Soft Skill</td>
            </div>
        </tr>
    
        <tr>
            <th>12:00 - 01:00</td>
            
                <td>Hindi</td>
                <td>English</td>
                <td>Math-1</td>
                <td>Chemistry</td>
                <td>Physics</td>
                <td>Chem.Lab</td>
    
            </div>
        </tr>
    
        <tr>
            <th>01:00 - 02:00</td>
            
                <td>Cumm. Skill</td>
                <td>Sports</td>
                <td>English</td>
                <td>Computer Lab</td>
                <td>Header</td>
                <td>Header</td>
    
            </div>
        </tr>
    
        <tr>
            <th>02:00 - 03:00</td>
            
                <td>Header</td>
                <td>Header</td>
                <td>Header</td>
                <td>Header</td>
                <td>Header</td>
                <td>Header</td>
            </div>
        </tr>
    </table>
</body>


你可能想把你的 CSS 放在一个不同的文件中。 - user4433485
你应该使用!important,但在表格的情况下使用它是不好的做法。 - Amit singh
你的HTML不合法。你不能直接在<table>中放置<div>,而且你有没有开标签就有闭合标签的情况。 - Sebastian Simon
你不能在表格中放置一个 div,所以我猜测浏览器会以某种方式来弥补这个错误,使得 th 不再位于 div 内部。如果你将 id 给 tr 而不是 div,看看会发生什么,那么你就可以不使用 div 了。 - Mr Lister
2个回答

3

你的代码无效,请尝试使用这个。

 table tr:first-of-type 

不要在div中插入表格元素,应该使用具体的选择器或为td/tr添加类/ID。
正如您已经了解到的那样,内联CSS是一种不好的实践,应该将其移到单独的CSS文件中。

  body {
      font-family: arial;
  }
  th, td {
      margin: 0;
      text-align: center;
      border-collapse: collapse;
      outline: 1px solid #e3e3e3;
  }
  td {
      padding: 5px 10px;
  }
  th {
      background: #666;
      color: white;
      padding: 5px 10px;
  }
  td:hover {
      cursor: pointer;
      background: #666;
      color: white;
  }
  table tr:first-of-type {
      font-size:30px;
  }
<title>Timetable</title>
<table width="80%" align="center">
    <tr>
        <th>Time</th>
        <th>Monday</th>
        <th>Tuesday</th>
        <th>Wednesday</th>
        <th>Thrusday</th>
        <th>Friday</th>
        <th>Saturday</th>
    </tr>
    <tr>
        <th>10:00 - 11:00</th>
        <td>Physics-1</td>
        <td>English</td>
        <td title="No Class" class="Holiday"></td>
        <td>Chemestry-1</td>
        <td>Alzebra</td>
        <td>Physical</td>
        </div>
    </tr>
    <tr>
        <th>11:00 - 12:00</td>
            <td>Math-2</td>
            <td>Chemestry-2</td>
            <td>Physics-1</td>
            <td>Hindi</td>
            <td>English</td>
            <td>Soft Skill</td>
            </div>
    </tr>
    <tr>
        <th>12:00 - 01:00</td>
            <td>Hindi</td>
            <td>English</td>
            <td>Math-1</td>
            <td>Chemistry</td>
            <td>Physics</td>
            <td>Chem.Lab</td>
            </div>
    </tr>
    <tr>
        <th>01:00 - 02:00</td>
            <td>Cumm. Skill</td>
            <td>Sports</td>
            <td>English</td>
            <td>Computer Lab</td>
            <td>Header</td>
            <td>Header</td>
            </div>
    </tr>
    <tr>
        <th>02:00 - 03:00</td>
            <td>Header</td>
            <td>Header</td>
            <td>Header</td>
            <td>Header</td>
            <td>Header</td>
            <td>Header</td>
            </div>
    </tr>
</table>


什么是 th,td{ } 的作用? - Ann
1
它将括号中的样式应用于thtd元素。[解释] (http://www.w3schools.com/cssref/sel_element_comma.asp) - George Irimiciuc

0

由于您编写的代码无效,请检查此代码,它可能会对您有所帮助...

 body {
   font-family: arial;
 }
 th,
 td {
   margin: 0;
   text-align: center;
   border-collapse: collapse;
   outline: 1px solid #e3e3e3;
 }
 td {
   padding: 5px 10px;
 }
 th {
   background: #666;
   color: white;
   padding: 5px 10px;
 }
 td:hover {
   cursor: pointer;
   background: #666;
   color: white;
 }
<table width="80%" align="center">
  <tr>
    <th>Time</th>
    <th>Monday</th>
    <th>Tuesday</th>
    <th>Wednesday</th>
    <th>Thrusday</th>
    <th>Friday</th>
    <th>Saturday</th>
  </tr>

  <tr>
    <th>10:00 - 11:00</th>

    <td>Physics-1</td>
    <td>English</td>
    <td title="No Class" class="Holiday"></td>
    <td>Chemestry-1</td>
    <td>Alzebra</td>
    <td>Physical</td>
  </tr>

  <tr>
    <th>11:00 - 12:00</td>

      <td>Math-2</td>
      <td>Chemestry-2</td>
      <td>Physics-1</td>
      <td>Hindi</td>
      <td>English</td>
      <td>Soft Skill</td>
  </tr>

  <tr>
    <th>12:00 - 01:00</td>

      <td>Hindi</td>
      <td>English</td>
      <td>Math-1</td>
      <td>Chemistry</td>
      <td>Physics</td>
      <td>Chem.Lab</td>
  </tr>

  <tr>
    <th>01:00 - 02:00</td>

      <td>Cumm. Skill</td>
      <td>Sports</td>
      <td>English</td>
      <td>Computer Lab</td>
      <td>Header</td>
      <td>Header</td>

  </tr>

  <tr>
    <th>02:00 - 03:00</td>

      <td>Header</td>
      <td>Header</td>
      <td>Header</td>
      <td>Header</td>
      <td>Header</td>
      <td>Header</td>
  </tr>
</table>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接