ตาราง html tr ภายใน td


101

ฉันกำลังพยายามสร้างตารางใน HTML ฉันมีการออกแบบต่อไปนี้เพื่อสร้าง ฉันได้เพิ่ม<tr>ภายในแล้ว<td>แต่ตารางไม่ได้สร้างขึ้นตามการออกแบบ

ป้อนคำอธิบายภาพที่นี่

มีใครแนะนำฉันได้บ้างว่าฉันจะบรรลุเป้าหมายนี้ได้อย่างไร

ฉันไม่สามารถสร้าง Name1 | ราคา 1 ส่วน

คำตอบ:


170

คุณต้องเพิ่มตารางเต็มภายใน td

    <table>
      <tr>
        <td>
          <table>
            <tr>
              <td>
                ...
              </td>
            </tr>
          </table>
        </td>
      </tr>
    </table>


1
เป็นไปได้ไหมที่จะเพิ่มตารางเต็มภายใน td ?? ฉันไม่เคยทำแบบนั้นนั่นคือเหตุผลที่ฉันถามสิ่งนี้ ถ้ามันยิ่งใหญ่กว่านั้นจริงๆ
แมงป่อง

2
คุณสามารถใส่เกือบทุกอย่างลงใน td ได้ แต่ไม่อนุญาตให้ใช้ html ร่างกายและศีรษะ
herrhansen

1
ใช่นี่คือสิ่งที่ฉันกลัว ฉันค้นหาใน Google โดยหวังว่าจะมีทางออกอื่น
Giacomo Tecya Pigani

ณ ตอนนี้มันไม่ได้เกิดข้อผิดพลาดใด ๆ เมื่อฉันใส่ tr s ใน td infact ฉันใส่ tr s ไว้ใน td s บางตัวเพราะแอพของฉันแสดงอาร์เรย์ของวัตถุภายในคุณสมบัติบางอย่างและใช้งานได้กับทุกเบราว์เซอร์ (ไม่รู้เกี่ยวกับ IE เนื่องจากไม่ได้ทดสอบใน IE) ใครสนใจสามารถตรวจสอบได้ - stackblitz.com/edit/angular-u7amanหมายเหตุ: เป็นแอป Angular ไม่แน่ใจว่า Angular อยู่เบื้องหลังสิ่งนี้ พฤติกรรม.
Hasintha Abeykoon

แม้ว่าเบราว์เซอร์ของคุณจะไม่แสดงข้อผิดพลาด แต่ก็เป็นเท็จและอาจทำให้เกิดข้อผิดพลาดในเบราว์เซอร์หรือสถานการณ์อื่น ๆ คุณควรพยายามใช้ HTML-Elements ตามวัตถุประสงค์การใช้งานเสมอเช่นไม่ใช้ block-Elements ภายใน inline-Elements
herrhansen

40

คุณไม่สามารถใส่ tr ภายใน td คุณสามารถดูเนื้อหาที่ได้รับอนุญาตจากMDN เอกสารเว็บtdเอกสารเกี่ยวกับ ข้อมูลที่เกี่ยวข้องอยู่ในส่วนเนื้อหาที่อนุญาต

วิธีการที่จะบรรลุเป้าหมายนี้ก็คือโดยการใช้และcolspan rowspanตรวจสอบซอนี้

HTML:

<table width="100%">
 <tr>
  <td>Name 1</td>
  <td>Name 2</td>
  <td colspan="2">Name 3</td>
  <td>Name 4</td>
 </tr>

 <tr>
  <td rowspan="3">ITEM 1</td>
  <td rowspan="3">ITEM 2</td>
  <td>name1</td>
  <td>price1</td>
  <td rowspan="3">ITEM 4</td>
 </tr>

 <tr>
  <td>name2</td>
  <td>price2</td>
 </tr>
 <tr>
  <td>name3</td>
  <td>price3/td>
 </tr>
</table>

และ CSS บางส่วน:

table {
    border-collapse: collapse       
}

td {
   border: 1px solid #000000
}

11
การวางตารางภายในตารางนั้นถูกต้องโดยสิ้นเชิงเขียนโค้ด html ง่ายๆที่คุณแทรกตารางภายใน TD และวางลงในตัวตรวจสอบ w3: validator.w3.org/check คุณจะสังเกตเห็นว่ามันจะผ่านไป ข้อผิดพลาดทั้งหมดเกี่ยวข้องกับประเภทหลักและแท็กที่ขาดหายไป
Malloc

การใส่องค์ประกอบของตารางใน tr ไม่ถูกต้องในขณะที่วางตารางภายใน td นั้นถูกต้อง. คุณสามารถตรวจสอบได้ที่validator.w3.org/check
Lucky

3
ฉันคิดว่าความหมายที่ตั้งใจไว้ตรงนี้คือตารางในตารางเป็นวิธีการที่แปลกสำหรับสถานการณ์นี้เนื่องจากcolspan& rowspanมีไว้สำหรับแก้ปัญหานี้
connorbode

6
ไม่แน่ใจว่าเหตุใดโซลูชันนี้จึงได้รับคะแนนโหวตเพิ่มขึ้นมากมาย รหัสที่โพสต์มีความทึบอย่างเต็มที่โดยไม่ต้องใช้เบราว์เซอร์การบรรลุเป้าหมายที่มองเห็นได้ด้วยค่าใช้จ่ายของความสัมพันธ์เชิงตรรกะที่ตารางควรจะเป็นตัวแทน และตามที่ระบุไว้โดย @Malloc ประโยคแรกเป็นเท็จอย่างเห็นได้ชัด
brianpck

20

คุณสามารถแก้ปัญหาได้โดยไม่ต้องซ้อนตาราง

<table border="1">
    <thead>
        <tr>
            <th>ABC</th>
            <th>ABC</th>
            <th colspan="2">ABC</th>
            <th>ABC</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td rowspan="4">Item1</td>
            <td rowspan="4">Item1</td>
            <td colspan="2">Item1</td>
            <td rowspan="4">Item1</td>
        </tr>
        <tr>
            <td>Name1</td>
            <td>Price1</td>
        </tr>
        <tr>
            <td>Name2</td>
            <td>Price2</td>
        </tr>
        <tr>
            <td>Name3</td>
            <td>Price3</td>
        </tr>
        <tr>
            <td>Item2</td>
            <td>Item2</td>
            <td colspan="2">Item2</td>
            <td>Item2</td>
        </tr>
    </tbody>
</table>


6

ลองใช้รหัสนี้

<table border="1" width="100%">
  <tr>
    <td>Name 1</td>
    <td>Name 2</td>
    <td colspan="2">Name 3</td>
    <td>Name 4</td>
  </tr>

  <tr>
    <td rowspan="3">ITEM 1</td>
    <td rowspan="3">ITEM 2</td>
    <td>name</td>
    <td>price</td>
    <td rowspan="3">ITEM 4</td>
  </tr>
  <tr>
    <td>name</td>
    <td>price</td>
  </tr>
  <tr>
    <td>name</td>
    <td>price</td>
  </tr>
</table>


4

ใส่ตารางอื่นภายในองค์ประกอบ td เช่นนี้

<table>
    <tr>
        ...
    </tr>
    <tr>
        <td>ABC</td>
        <td>ABC</td>
        <td>
            <table>
                <tr>
                    <td>name1</td>
                    <td>price1</td>
                </tr>
...
            </table>
        </td>
        <td>ABC</td>
    </tr>
...
</table>

4

เพียงเพิ่มใหม่tableในที่tdคุณต้องการ ตัวอย่าง: http://jsfiddle.net/AbE3Q/

<table border="1">
  <tr>
    <td>ABC</td>
    <td>ABC</td>
    <td>ABC</td>
    <td>ABC</td>
  </tr>
  <tr>
    <td>Item1</td>
    <td>Item2</td>
    <td>
      <table border="1">
        <tr>
          <td>qweqwewe</td>
          <td>qweqwewe</td>
        </tr>
        <tr>
          <td>qweqwewe</td>
          <td>qweqwewe</td>
        </tr>
        <tr>
          <td>qweqwewe</td>
          <td>qweqwewe</td>
        </tr>
      </table>
    </td>
    <td>Item3</td>
  </tr>
  <tr>
  </tr>
  <tr>
  </tr>
  <tr>
  </tr>
  <tr>
  </tr>
</table>


4

ตัวอย่างเต็ม:

<table border="1" style="width:100%;">
  <tr>
    <td>ABC</td>
    <td>ABC</td>
    <td>ABC</td>
    <td>ABC</td>
  </tr>
  <tr>
    <td>Item 1</td>
    <td>Item 1</td>
    <td>
      <table border="1" style="width: 100%;">
        <tr>
          <td>Name 1</td>
          <td>Price 1</td>
        </tr>
        <tr>
          <td>Name 2</td>
          <td>Price 2</td>
        </tr>
        <tr>
          <td>Name 3</td>
          <td>Price 3</td>
        </tr>
      </table>
    </td>
    <td>Item 1</td>
  </tr>
  <tr>
    <td>Item 2</td>
    <td>Item 2</td>
    <td>Item 2</td>
    <td>Item 2</td>
  </tr>
  <tr>
    <td>Item 3</td>
    <td>Item 3</td>
    <td>Item 3</td>
    <td>Item 3</td>
  </tr>
</table>


2

คุณสามารถตรวจสอบสิ่งนี้ได้โดยใช้ตารางภายในตารางเช่นนี้

<!DOCTYPE html>
<html>

<head>
  <style>
    table,
    th,
    td {
      border: 1px solid black;
      border-collapse: collapse;
    }
  </style>
</head>

<body>
  <table style="width:100%">
    <tr>
      <th>ABC</th>
      <th>ABC</th>
      <th>ABC</th>
      <th>ABC</th>
    </tr>
    <tr>
      <td>Item1</td>
      <td>Item1</td>
      <td>
        <table style="width:100%">
          <tr>
            <td>name1</td>
            <td>price1</td>
          </tr>
          <tr>
            <td>name2</td>
            <td>price2</td>
          </tr>
          <tr>
            <td>name3</td>
            <td>price3</td>
          </tr>
        </table>
      </td>
      <td>item1</td>
    </tr>
    <tr>
      <td>A</td>
      <td>B</td>
      <td>C</td>
      <td>D</td>
    </tr>
    <tr>
      <td>E</td>
      <td>F</td>
      <td>G</td>
      <td>H</td>
    </tr>
    <tr>
      <td>E</td>
      <td>R</td>
      <td>T</td>
      <td>T</td>
    </tr>
  </table>
</body>

</html>


0

<table border="1px;" width="100%">
  <tr align="center">
    <td>Product</td>
    <td>quantity</td>
    <td>Price</td>
    <td>Totall</td>
  </tr>
  <tr align="center">
    <td>Item-1</td>
    <td>Item-1</td>
    <td>
      <table border="1px;" width="100%">
        <tr align="center">
          <td>Name1</td>
          <td>Price1</td>
        </tr>
        <tr align="center">
          <td>Name2</td>
          <td>Price2</td>
        </tr>
        <tr align="center">
          <td>Name3</td>
          <td>Price3</td>
        </tr>
        <tr>
          <td>Name4</td>
          <td>Price4</td>
        </tr>
      </table>
    </td>
    <td>Item-1</td>
  </tr>
  <tr align="center">
    <td>Item-2</td>
    <td>Item-2</td>
    <td>Item-2</td>
    <td>Item-2</td>
  </tr>
  <tr align="center">
    <td>Item-3</td>
    <td>Item-3</td>
    <td>Item-3</td>
    <td>Item-3</td>
  </tr>
</table>

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.