简体   繁体   中英

How to remove row borders in a specific column?

I want to build a HTML table with three columns. In one of these three columns, I want to remove lines from it.

I tried codes like border-style: hidden; padding: 0px; border-style: hidden; padding: 0px; colspan and rowspan but they don't help.

 <table style="width:100%; margin-block-start: 5px;font-size:20px;border: 1px solid black;"> <tr> <th style="padding: 15px;text-align: left;border: 1px solid black;">Tasks</th> <th style="padding: 15px;text-align: left;border: 1px solid black;">Sales Performance</th> <th style="padding: 15px;text-align: left;border: 1px solid black;">Staffs' Annual Leave</th> </tr> <tr> <td style="padding: 15px;border: 1px solid black;"><i>Yesterday</i></td> <td style="padding: 15px;border: 1px solid black;border-style: hidden;"></td> <td style="padding: 15px;border: 1px solid black;">50</td> </tr> <tr> <td style="padding: 15px;border: 1px solid black;"><i>Today</i></td> <td style="padding: 15px;border: 1px solid black;border-style: hidden;"></td> <td style="padding: 15px;border: 1px solid black;">50</td> </tr> <tr> <td style="padding: 15px;border: 1px solid black;"><i>Tomorrow</i></td> <td style="padding: 15px;border: 1px solid black;border-style: hidden;"></td> <td style="padding: 15px;border: 1px solid black;">94</td> </tr> <tr> <td style="padding: 15px;border: 1px solid black;"><i>Upcoming</i></td> <td style="padding: 15px;border: 1px solid black;border-style: hidden;"></td> <td style="padding: 15px;border: 1px solid black;">94</td> </tr> <tr> <td style="padding: 15px;border: 1px solid black;"><i>Some other day</i></td> <td style="padding: 15px;border: 1px solid black;border-style: hidden;"></td> <td style="padding: 15px;border: 1px solid black;">94</td> </tr> </table>

my expectation

reality

Try This:

 table { border-collapse: collapse; } th, td { margin: 0px; padding: 15px; border: 1px solid black; } td.no-data { border: 0px; }
 <table style="width:100%; margin-block-start: 5px;font-size:20px;border: 1px solid black;"> <tr> <th>Tasks</th> <th>Sales Performance</th> <th>Staffs' Annual Leave</th> </tr> <tr> <td><i>Yesterday</i></td> <td class="no-data"></td> <td>50</td> </tr> <tr> <td><i>Today</i></td> <td class="no-data"></td> <td>50</td> </tr> <tr> <td><i>Tomorrow</i></td> <td class="no-data"></td> <td>94</td> </tr> <tr> <td><i>Upcoming</i></td> <td class="no-data"></td> <td>94</td> </tr> <tr> <td><i>Some other day</i></td> <td class="no-data"></td> <td>94</td> </tr> </table>

Try to replace inline-style with class or data-attribute

 table { width: 100%; font-size: 20px; border-collapse: collapse; } th { padding: 15px; text-align: left; border: 1px solid black; } td { padding: 15px; border: 1px solid black; } .no-border { border: 0; }
 <table style="width:100%; margin-block-start: 5px;font-size:20px;border: 1px solid black;"> <tr> <th>Tasks</th> <th>Sales Performance</th> <th>Staffs' Annual Leave</th> </tr> <tr> <td> <i>Yesterday</i> </td> <td class=" no-border"></td> <td>50</td> </tr> <tr> <td> <i>Today</i> </td> <td class="no-border"></td> <td>50</td> </tr> <tr> <td> <i>Tomorrow</i> </td> <td class="no-border"></td> <td>94</td> </tr> <tr> <td> <i>Upcoming</i> </td> <td class="no-border"></td> <td>94</td> </tr> <tr> <td> <i>Some other day</i> </td> <td class="no-border"></td> <td>94</td> </tr> </table>

You need to add border-collapse style to the table and use rowspan attribute to span your first <td> . when you rowspan your first <td> , you don't need to add any more <td> tags in the following <tr> s because the first <td> will span all the way down up to the value (number of rows to be spanned) of the rowspan attribute, for example rowspan=5 will span up to the end of your current table.

 <table style="width:100%; margin-block-start: 5px;font-size:20px;border: 1px solid black; border-collapse:collapse"> <tr> <th style="padding: 15px;text-align: left;border: 1px solid black;">Tasks</th> <th style="padding: 15px;text-align: left;border: 1px solid black;" >Sales Performance</th> <th style="padding: 15px;text-align: left;border: 1px solid black;">Staffs' Annual Leave</th> </tr> <tr> <td style="padding: 15px;border: 1px solid black;"><i>Yesterday</i></td> <td rowspan='5'</td> <td style="padding: 15px;border: 1px solid black;">50</td> </tr> <tr> <td style="padding: 15px;border: 1px solid black;"><i>Today</i></td> <td style="padding: 15px;border: 1px solid black;">50</td> </tr> <tr> <td style="padding: 15px;border: 1px solid black;"><i>Tomorrow</i></td> <td style="padding: 15px;border: 1px solid black;">94</td> </tr> <tr> <td style="padding: 15px;border: 1px solid black;"><i>Upcoming</i></td> <td style="padding: 15px;border: 1px solid black;">94</td> </tr> <tr> <td style="padding: 15px;border: 1px solid black;"><i>Some other day</i></td> <td style="padding: 15px;border: 1px solid black;">94</td> </tr> </table>

You just Replace border-style: hidden; to border:none;

In that column you not set border apply style="border:none;"

It works out just what I wanted after I added some lines of codes:

margin-block-start: 5px;

table, th, td {
border: 1px solid black;
border-collapse: collapse;
}

The first part is to lower down the table from the navigation bar. The second part is to get what I expected my table to be.

Thank you for answering my question.

If you want to know rest of the codes, please check Sushil and Nawras's answers.

PS Yes, I am a starter to all of these.

Use border-collapse: collapse; for table tag.

 <table style="width:100%; margin-block-start: 5px;font-size:20px;border: 1px solid black; border-collapse: collapse;"> <tr> <th style="padding: 15px;text-align: left;border: 1px solid black;">Tasks</th> <th style="padding: 15px;text-align: left;border: 1px solid black;">Sales Performance</th> <th style="padding: 15px;text-align: left;border: 1px solid black;">Staffs' Annual Leave</th> </tr> <tr> <td style="padding: 15px;border: 1px solid black;"><i>Yesterday</i></td> <td style="padding: 15px;border: 1px solid black;border-style: hidden;"></td> <td style="padding: 15px;border: 1px solid black;">50</td> </tr> <tr> <td style="padding: 15px;border: 1px solid black;"><i>Today</i></td> <td style="padding: 15px;border: 1px solid black;border-style: hidden;"></td> <td style="padding: 15px;border: 1px solid black;">50</td> </tr> <tr> <td style="padding: 15px;border: 1px solid black;"><i>Tomorrow</i></td> <td style="padding: 15px;border: 1px solid black;border-style: hidden;"></td> <td style="padding: 15px;border: 1px solid black;">94</td> </tr> <tr> <td style="padding: 15px;border: 1px solid black;"><i>Upcoming</i></td> <td style="padding: 15px;border: 1px solid black;border-style: hidden;"></td> <td style="padding: 15px;border: 1px solid black;">94</td> </tr> <tr> <td style="padding: 15px;border: 1px solid black;"><i>Some other day</i></td> <td style="padding: 15px;border: 1px solid black;border-style: hidden;"></td> <td style="padding: 15px;border: 1px solid black;">94</td> </tr> </table>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM