I have a table, where data is hidden or shown based on whether the checkbox is checked or unchecked. here is the fiddle : https://jsfiddle.net/2xw3tsrh/2/
I am trying to bring the checkbox inside 'td' , right infront of "Click me" text. I cannot use 'data-label' or, use an id for each row to traverse and use something "input#row1:checked". I dont want to hide the checkbox and tie the label text to the checkbox. Is there a way to achieve it ?
Thanks in advance.
Code :
body {
  margin: 0;
  padding: 0;
  min-width: 100%;
  width: 100%;
  max-width: 100%;
  min-height: 100%;
  height: 100%;
  max-height: 100%;
  background: rgb(231, 207, 192);
  min-height: 100vh;
}
@charset "UTF-8";
/* #row1,#row2 {
                display: none;
            }  */
.tab-label {
  /* display: flex;
                justify-content: space-between;
                padding: 1em; */
  background: #b9ce44;
  font-weight: bold;
  /* cursor: pointer; */
  /* Icon */
}
/* .tab-label:hover {
                background: #1a252f;
            } */
/* .tab-label::after {
                content: "❯";
                width: 1em;
                height: 1em;
                text-align: center;
                transition: all 0.35s;
            } */
.tab-content {
  overflow: hidden;
  max-height: 0;
  padding: 0 1em;
  color: #2c3e50;
  background: white;
  transition: all 0.35s;
}
/* input:checked ~ .tab-label {
                background: #1a252f;
            } */
/* input:checked ~ .tab-label::after {
                transform: rotate(90deg);
            } */
input:checked~.tab-content {
  max-height: 100vh;
  padding: 1em;
}<div id="page-wrap" style="margin: 50px;background: cornflowerblue;">
  <h1 style="margin: 0;line-height: 3;text-align: center;font: 30px/1.4 Georgia, Serif;">Table</h1>
  <table role="presentation" style="width: 100%;border-collapse: collapse;">
    <thead>
      <tr>
        <th rowspan="2" colspan="1" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
          Header</th>
        <th rowspan="1" colspan="4" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
          Header</th>
        <th rowspan="1" colspan="4" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
          Header</th>
        <th rowspan="1" colspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
          Header</th>
      </tr>
      <tr>
        <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
          Header</th>
        <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
          Header</th>
        <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
          Header</th>
        <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
          Header</th>
        <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
          Header</th>
        <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
          Header</th>
        <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
          Header</th>
        <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
          Header</th>
        <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
          Header</th>
        <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
          Header</th>
      </tr>
    </thead>
    <tbody>
      <!-- Ist Row -->
      <tr>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">
          <label class="tab-label" for="row1"> (Bring checkbox here) Click Me</label>
        </td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
      </tr>
      <!-- Ist accordion -->
      <tr>
        <td colspan="11" style="border: solid 1px white;text-align: center;padding: 0;">
          <input id="row1" type="checkbox">
          <div class="tab-content">
            <table role="presentation" style="border-collapse: collapse;margin: 10px auto;background-color: aqua;">
              <thead>
                <tr>
                  <th rowspan="2" colspan="1" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                    Header</th>
                  <th rowspan="1" colspan="4" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                    Header</th>
                  <!-- <th rowspan="1" colspan="4"
                                                style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                                                Header</th> -->
                  <th rowspan="1" colspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                    Header</th>
                </tr>
                <tr>
                  <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                    Header</th>
                  <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                    Header</th>
                  <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                    Header</th>
                  <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                    Header</th>
                  <!-- <th rowspan="2"
                                                style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                                                Header</th>
                                            <th rowspan="2"
                                                style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                                                Header</th>
                                            <th rowspan="2"
                                                style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                                                Header</th>
                                            <th rowspan="2"
                                                style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                                                Header</th> -->
                  <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                    Header</th>
                  <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                    Header</th>
                </tr>
              </thead>
              <tr>
                <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A
                </td>
                <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A
                </td>
                <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A
                </td>
                <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A
                </td>
                <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A
                </td>
                <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A
                </td>
                <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A
                </td>
                <!-- <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">Athens</td>
                                        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
                                        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">Edlund, Ben
                                            (July 1996).</td>
                                        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td> -->
              </tr>
            </table>
          </div>
        </td>
      </tr>
      <!-- 2nd Row -->
      <tr>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">
          <label class="tab-label" for="row2">Click Me</label>
        </td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
        <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A</td>
      </tr>
      <!-- 2nd accordion -->
      <tr>
        <td colspan="11" style="border: solid 1px white;text-align: center;padding: 0;">
          <input id="row2" type="checkbox">
          <div class="tab-content">
            <table role="presentation" style="border-collapse: collapse;margin: 10px auto;background-color: aqua;">
              <thead>
                <tr>
                  <th rowspan="2" colspan="1" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                    Header</th>
                  <th rowspan="1" colspan="4" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                    Header</th>
                  <!-- <th rowspan="1" colspan="4"
                                                style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                                                Header</th> -->
                  <th rowspan="1" colspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                    Header</th>
                </tr>
                <tr>
                  <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                    Header</th>
                  <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                    Header</th>
                  <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                    Header</th>
                  <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                    Header</th>
                  <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                    Header</th>
                  <th rowspan="2" style="background: #333;color: white;font-weight: bold;padding: 6px;border: 1px solid #ccc;text-align: center;">
                    Header</th>
                </tr>
              </thead>
              <tr>
                <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A
                </td>
                <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A
                </td>
                <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A
                </td>
                <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A
                </td>
                <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A
                </td>
                <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A
                </td>
                <td style="padding: 6px;border: 1px solid #ccc;text-align: center;">N/A
                </td>
              </tr>
            </table>
          </div>
        </td>
      </tr>
    </tbody>
  </table>
</div>Update:
I also tried to take ispiration from here : Change checked html table row with CSS to move the "checkbox" right outside the row of first 'td' to achieve a similar functionality - that didnt work out as well as it messed up the table.
 
     
     
    