簡體   English   中英

如何重寫此HTML以驗證XHTML 1.0 Strict?

[英]How do I rewrite this HTML to validate to XHTML 1.0 Strict?

如何重寫此HTML以驗證XHTML 1.0 Strict?

<div>
    <a href="link.html">
        <p>Some text</p>
        <ul>
            <li>Item 1</li>
        <li>Item 2</li>
        <li>Item 3</li>
        </ul>
    </a>
</div>

我的意圖是將整個div作為可點擊鏈接。 其中的內容僅描述目標頁面的內容。 W3 Validator說我不能在span標簽( <a> )中有一個塊元素( <p> )。

如何重新排列這個以便我的DIV保持阻止鏈接?

您不允許在內聯級別元素中包含塊級元素,因此您有一些替代方法。

  • 您可以在<a href="link.html">...</a>打包要鏈接的每一行

     <div> <p><a href="link.html">Some text</a></p> <ul> <li><a href="link.html">Item 1</a></li> <li><a href="link.html">Item 2</a></li> <li><a href="link.html">Item 3</a></li> </ul> </div>​ 
  • 您可以添加javascript onclick函數來重現相同的結果。

      //jQuery ​$('div').click(function() { window.location = 'link.html'; });​​​​​​ //Non jQuery document.getElementById('yourDiv').onclick = function() { window.location = 'link.html'; } 
    • 如果您使用Javascript,請確保使用CSS顯示內容是鏈接。 我推薦偽類

       div { text-decoration: underline; color: #0000FF;//or whatever your link color is } div li:hover, p:hover { color: #CC00FF; cursor: pointer; } 

您無法重新排列它以使該塊成為鏈接。 你可以做的是讓塊中的每個元素都成為一個鏈接,或者你可以使用javascript。

<div style="cursor:pointer" onclick="location.href='link.html'">
  <!-- ... -->
</div>

因此,您的片段是有效的HTML5。 使用它代替你的問題消失。 您所要做的就是將doctype更改為<!doctype html>

您的<UL>也是一個塊元素,因此它也不會在那里工作。 怎么樣:

<div onclick="location.href = 'link.html'">
    <p>Some text</p>
    <ul>
        <li>Item 1</li>
        <li>Item 2</li>
        <li>Item 3</li>
    </ul>
</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM