Вопрос по asp.net, visual-studio-2008, html – Почему не допускается внутрь

12

Почему не может<p> быть вложенным внутрь<table>? Какое исправление я мог бы сделать? Удаление<div> а также<p> теги испортили мой дизайн. Поскольку сайт следует клиенту, предоставлен дизайн.

У меня есть следующий код, и он отлично работает в VS2008, но я получаю предупреждения:

<div class="right_articles">
    <p>
        <table>
            <tr>
                <td>
                    <img alt="Img not found" src="images/ribbon.gif" style="width: 155px; height: 125px;" />
                </td>
                <td>
                    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br />
                    <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label><br />
                    <asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>
                </td>
            </tr>
        </table> 
    </p>
    <p>&nbsp;</p>
    <p>
        <table>
            <tr>
                <td>
                    <img alt="Img not found" src="images/medal.gif" style="width: 155px; height: 125px;" />
                </td>
                <td>          
                    <asp:Label ID="Label4" runat="server" Text="Label"></asp:Label><br />
                    <asp:Label ID="Label5" runat="server" Text="Label"></asp:Label><br />
                    <asp:Label ID="Label6" runat="server" Text="Label"></asp:Label>      
                </td>
            </tr>
        </table>
    </p>
</div>

Warning 1 This end tag has no matching start tag. E:\WebSite4\test.master 121 Warning 2 Validation (XHTML 1.0 Transitional): Text is not allowed between the opening and closing tags for element html'. E:\WebSite4\test.master 5 Warning 3 Validation (XHTML 1.0 Transitional): Element 'form' is missing its closing tag. E:\WebSite4\test.master 21 Warning 4 The class or CssClass value is not defined. E:\WebSite4\test.master 33 Warning 5 File 'spacer.gif' was not found. E:\WebSite4\test.master 116 Warning 7 Validation (XHTML 1.0 Transitional): Element 'img' is missing required attribute 'alt'. E:\WebSite4\test.master 116 Warning 8 Validation (XHTML 1.0 Transitional): Element 'table' cannot be nested within element 'p'. E:\WebSite4\test.master 78 Warning 9 Validation (XHTML 1.0 Transitional): Element 'table' cannot be nested within element 'p'. E:\WebSite4\test.master 93

Что еще можно использовать внутри<p> Rohit Vipin Mathews
Стандарт XHTML запрещает это. Oded

Ваш Ответ

2   ответа
28

P elements не может содержать другие элементы уровня блока, а TABLE является элементом уровня блока.P закрывающий тег необязателен и при попытке сделатьP элемент содержит то, что он не может содержать, закрытиеP тег предполагается браузером.

The P element represents a paragraph. It cannot contain block-level elements (including P itself).

http://www.w3.org/TR/html401/struct/text.html#h-9.3.1

& Lt; p & gt; это часть дизайна, которую я получил. У него было только изображение, как внутри. Но мне нужен стол. Rohit Vipin Mathews
@ Rohit: Почему вы не можете использоватьdiv вместоparagraphиными словами, зачем вам это вообще нужно, поскольку ужеdiv? Вы можете контролировать макет с помощью вашегоright_articles класс, не так ли?
2

элементов блока, включая таблицы. Также в дополнение к этому закрытие</p> tag является необязательным, поэтому первый закрывающий тег, который впоследствии будет найден парсером, сочтет, что закрыл абзац

Было бы полезно, если бы я мог видеть больше кода и макета, однако я считаю, что удаление<p> теги вокруг таблиц, а затем правильное форматирование позиционирования таблиц с помощью CSS должно достичь ваших результатов.

<div class="right_articles">
            <table>
            <tr>
            <td>
                <img alt="Img not found" src="images/ribbon.gif"                     
                    style="width: 155px; height: 125px;" />
            </td>
            <td>
                <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><br />
                <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label><br />
                <asp:Label ID="Label3" runat="server" Text="Label"></asp:Label>
            </td>
            </tr>
            </table>
            <p>&nbsp;</p>
            <table>
            <tr>
            <td>
                <img alt="Img not found" src="images/medal.gif"                     
                    style="width: 155px; height: 125px;" />
            </td>
            <td>          
                <asp:Label ID="Label4" runat="server" Text="Label"></asp:Label><br />
                <asp:Label ID="Label5" runat="server" Text="Label"></asp:Label><br />
                <asp:Label ID="Label6" runat="server" Text="Label"></asp:Label>      
            </td>
            </tr>
            </table>
        </div>

Похожие вопросы