0

我在 a 中放置了一个p标签td,如下所示:

<html>
    <head>
        <title></title>
    </head>
    <body>
        <table>
            <tr>
                <td style="font-size: 16px;"><p>Hello</p></td>
            </tr>
        </table>
    </body>
</html>

默认边距已从p标签中消失。为什么会这样,我怎样才能取回默认的p标签边距?

我认为这与标签边距所基于的font-size非级联有关,但这并没有帮助。pem

我不想直接给p标签添加边距,还有其他方法吗?

4

4 回答 4

2

只需在页面中添加一个 doctype 声明:

<!DOCTYPE html>
<html>
    <head>
        <title></title>
    </head>
    <body>
        <table>
            <tr>
                <td style="font-size: 16px;"><p>Hello</p></td>
            </tr>
        </table>
    </body>
</html>

没有它,您的页面将以怪异模式显示,其中边距可能会出现意外行为,尤其是在涉及表格时。我不确定这里到底发生了什么导致你p在你的时候失去它的利润td,但我知道它只发生在怪癖模式下。

于 2012-04-11T18:10:54.353 回答
0

There could be multiple reasons for it:

  1. Is this problem only in IE? It could be a problem with quirks mode so would be better to add doctype as mentioned by BoltClock
  2. If it is reproducible in FF as well then enable 'Show User Agent CSS' in Side panel in Style tab in Firebug. Then you can check which CSS is overriding default CSS provided by browser. There could be some CSS like

    table p {
       margin: 0;
    }
    
于 2012-04-11T18:25:50.507 回答
0

我不确定你说的消失是什么意思,但你可以p一般地定位你的 s ,然后稍微填充它们:

​td > p
{
  padding:15px;       
}​

如果需要,可以使选择器更严格。

于 2012-04-11T18:01:09.763 回答
0

浏览器会在每个前后自动添加一些空格(边距)

元素。可以使用 CSS 修改边距(使用边距属性)。

           td p 
              {
               margin:0px;
              }
于 2012-04-11T19:49:12.997 回答