【问题标题】:TD Borders from a table, not showing in IE8 [duplicate]表格中的 TD 边框,未在 IE8 中显示 [重复]
【发布时间】:2012-12-04 19:06:07
【问题描述】:

可能重复:
CSS to make an empty cell’s border appear?

我知道这个问题以前被问过很多次,我尝试在每个 <td> </td> 标签之间添加 &nbsp,但效果不佳,我猜 CSS 中存在某种问题,但我没有能够发现它,我的表格在 Firefox 和 Chrome 上显示正常,但每当我尝试使用 IE8 时,都会缺少一些边框。下面是 HTML 和表格的 CSS,以及屏幕截图。 表格的 HTML 是从 PHP 脚本生成的。

HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <!--[if IE]>
        <link rel ="stylesheet" type ="text/css" href ="layout_ie.css"/> 
        <![endif]-->

        <!--[if !IE]> -->
        <link rel ="stylesheet" type ="text/css" href ="layout.css"/>
        <!-- <![endif]-->
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
          <title>Calendario de Capacitaciones</title>
    </head>
    <body>

   <table  cellpadding="0" cellspacing="0" class="calendar">
        <tr class = "calendar-row"> 
            <td class = "calendar-day-head">Lunes</td>
            <td class = "calendar-day-head">Martes</td>
            <td class = "calendar-day-head">Miércoles</td>
            <td class = "calendar-day-head">Jueves</td>
            <td class = "calendar-day-head">Viernes</td>
            <td class = "calendar-day-head">Sábado</td>
            <td class = "calendar-day-head">Domingo</td>
        </tr>
        <tr class = "calendar-row">

            <td  class ="calendar-day-np">&nbsp; </td>
            <td  class ="calendar-day-np">&nbsp; </td>
            <td  class ="calendar-day-np">&nbsp; </td>
            <td  class ="calendar-day-np">&nbsp; </td>
            <td  class ="calendar-day-np">&nbsp; </td>
            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">1</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>
            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">2</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>
        </tr>


        <tr class="calendar-row">
            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">3</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>
            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">4</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>
            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">5</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>
            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">6</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>
            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">7</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>
            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">8</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>
            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">9</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>
        </tr>

        <tr class="calendar-row">
            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">10</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>
            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">11</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>

            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">12</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>

            <td  bgcolor="#FFFFFB" class = "calendar-day">
                &nbsp<div class = "day-number">13</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>

            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">14</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>

            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">15</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>

            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">16</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>

        </tr>
        <tr class="calendar-row">
            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">17</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>

            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">18</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>

            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">19</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>

            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp 
                <div class = "day-number">20</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>

            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">21</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>

            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">22</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>

            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">23</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>
        </tr>

        <tr class="calendar-row">
            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">24</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>

            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">25</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>

            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">26</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>

            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">27</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>

            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">28</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>

            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">29</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>

            <td  bgcolor="#FFFFFB" class = "calendar-day">&nbsp
                <div class = "day-number">30</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>
        </tr>
        <tr class="calendar-row">
            <td  bgcolor="#FFFFFB" class = "calendar-day">
                &nbsp<div class = "day-number">31</div><p>&nbsp;</p><p>&nbsp;</p>&nbsp
            </td>
            <td class = "calendar-day-np">&nbsp;</td>
            <td class = "calendar-day-np">&nbsp;</td>
            <td class = "calendar-day-np">&nbsp;</td>
            <td class = "calendar-day-np">&nbsp;</td>
            <td class = "calendar-day-np">&nbsp;</td>
            <td class = "calendar-day-np">&nbsp;</td>
        </tr>
    </table>        

    </body>
    </html>

CSS

    table.calendar    {table-layout:fixed;margin-top:5em ;margin-left:15em; border-left:1px solid #999; }
tr.calendar-row  {  }
td.calendar-day  { min-height:80px; font-size:11px; position:relative;border:1px solid #999; } * html div.calendar-day { height:80px; }
td.calendar-day:hover  { background:#eceff5; }
td.calendar-day-np  {  background:#eee; min-height:80px; } * html div.calendar-day-np { height:80px; }
td.calendar-day-head { background:#ccc; font-weight:bold; text-align:center; width:135px; padding:5px; border-bottom:1px solid #999; border-top:1px solid #999; border-right:1px solid #999; }
div.day-number    { background:#999; padding:5px; color:#fff; font-weight:bold; float:right; margin:-5px -5px 0 0; width:20px; text-align:center; }
/* shared */
td.calendar-day, td.calendar-day-np {  max-width:50px;  padding:5px; border-bottom:1px solid #999; border-right:1px solid #999; }

截图:

在 IE8 中的外观。

它的外观,(取自 Firefox)。

【问题讨论】:

  • 嗯,答案与添加 &nbsp 或填充空格无关,正如我所说,我在发布此问题时确实尝试了该解决方案。这与上面的帖子完全一样吗?我不是在抱怨,我只是想知道这是怎么重复的,所以每当我发布问题时,我都不会再犯错误。

标签: css internet-explorer-8 html-table border


【解决方案1】:

尝试在您的 CSS 中执行此操作:

td.calendar-day {
min-height:80px; 
font-size:11px;
border:1px solid #999 !important;
}

【讨论】:

  • 是的,它起作用了,边框看起来更厚了,但我可以解决这个问题。你能解释一下这背后的逻辑是什么吗?
  • 只是覆盖任何规则的边框,所以早一点并不重要。
  • 如果没有将border-collapse:collapse 设置为表格本身,每个td 都会在其周围有一个边框,实际上是复制了边框。折叠边框将确保每个 td 分隔线只有一个边框。
猜你喜欢
  • 2012-03-20
  • 2014-10-16
  • 1970-01-01
  • 1970-01-01
  • 2014-03-30
  • 1970-01-01
  • 1970-01-01
  • 2015-11-05
  • 2019-06-08
相关资源
最近更新 更多