El elemento <colgroup> es utilizado para especificar un estilo específico a las columnas de una tabla. Si deseas aplicar estilo a las dos primeras columnas de una tabla, utiliza los elementos <colgroup> y <col>.
El elemento <colgroup> debe usarse como contenedor para las especificaciones de la columna. Cada grupo se especifica con un elemento <col>. El atributo span especifica cuántas columnas recibe el estilo. El atributo style especifica el estilo para dar a las columnas.
Ejm
<!DOCTYPE html> <html> <head> <style> table, th, td { border: 1px solid black; border-collapse: collapse; } </style> </head> <body> <h2>Colgroup</h2> <table style="width: 100%;"> <colgroup> <col span="2" style="background-color: #D6EEEE"> </colgroup> <tr> <th>MON</th> <th>TUE</th> <th>WED</th> <th>THU</th> <th>FRI</th> <th>SAT</th> <th>SUN</th> </tr> <tr> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> <td>7</td> </tr> <tr> <td>8</td> <td>9</td> <td>10</td> <td>11</td> <td>12</td> <td>13</td> <td>14</td> </tr> </table> </body> </html>
Nota: La etiqueta <colgroup> debe ser secundaria de un elemento <table> y debe colocarse antes de cualquier otro elemento de la tabla, como <thead>, <tr>, <td>, etc., pero después del elemento <caption>, si está presente.
Múltiples elementos de columna
Si deseas diseñar más columnas con diferentes estilos, usa más elementos <col> dentro del <colgroup>.
Ejm
<!DOCTYPE html> <html> <head> <style> table, th, td { border: 1px solid black; border-collapse: collapse; } </style> </head> <body> <h2>Multiple Col Elements</h2> <p>Add multiple col elements in the colgroup:</p> <table style="width: 100%;"> <colgroup> <col span="2" style="background-color: #D6EEEE"> <col span="3" style="background-color: pink"> </colgroup> <tr> <th>MON</th> <th>TUE</th> <th>WED</th> <th>THU</th> <th>FRI</th> <th>SAT</th> <th>SUN</th> </tr> <tr> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> <td>7</td> </tr> <tr> <td>8</td> <td>9</td> <td>10</td> <td>11</td> <td>12</td> <td>13</td> <td>14</td> </tr> <tr> <td>15</td> <td>16</td> <td>17</td> <td>18</td> <td>19</td> <td>20</td> <td>21</td> </tr> <tr> <td>22</td> <td>23</td> <td>24</td> <td>25</td> <td>26</td> <td>27</td> <td>28</td> </tr> </table> </body> </html>
Columnas vacías
Si deseas diseñar columnas en medio de una tabla, inserta un elemento <col> «vacío» (sin estilos) para las columnas anteriores:
Ejm
<!DOCTYPE html> <html> <head> <style> table, th, td { border: 1px solid black; border-collapse: collapse; } </style> </head> <body> <h2>Empty Colgroups</h2> <p>Add "empty" col elements that represents the columns before the columns you want to style:</p> <table style="width: 100%;"> <colgroup> <col span="3"> <col span="2" style="background-color: pink"> </colgroup> <tr> <th>MON</th> <th>TUE</th> <th>WED</th> <th>THU</th> <th>FRI</th> <th>SAT</th> <th>SUN</th> </tr> <tr> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> <td>7</td> </tr> <tr> <td>8</td> <td>9</td> <td>10</td> <td>11</td> <td>12</td> <td>13</td> <td>14</td> </tr> <tr> <td>15</td> <td>16</td> <td>17</td> <td>18</td> <td>19</td> <td>20</td> <td>21</td> </tr> <tr> <td>22</td> <td>23</td> <td>24</td> <td>25</td> <td>26</td> <td>27</td> <td>28</td> </tr> </table> </body> </html>
Ocultar columnas
Puedes ocultar columnas con la propiedad visibility: collapse.
Ejm
<!DOCTYPE html> <html> <head> <style> table, th, td { border: 1px solid black; border-collapse: collapse; } </style> </head> <body> <h2>Hide Columns</h2> <p>You can hide specific columns with the visibility property:</p> <table style="width: 100%;"> <colgroup> <col span="2"> <col span="3" style="visibility: collapse"> </colgroup> <tr> <th>MON</th> <th>TUE</th> <th>WED</th> <th>THU</th> <th>FRI</th> <th>SAT</th> <th>SUN</th> </tr> <tr> <td>1</td> <td>2</td> <td>3</td> <td>4</td> <td>5</td> <td>6</td> <td>7</td> </tr> <tr> <td>8</td> <td>9</td> <td>10</td> <td>11</td> <td>12</td> <td>13</td> <td>14</td> </tr> <tr> <td>15</td> <td>16</td> <td>17</td> <td>18</td> <td>19</td> <td>20</td> <td>21</td> </tr> <tr> <td>22</td> <td>23</td> <td>24</td> <td>25</td> <td>26</td> <td>27</td> <td>28</td> </tr> </table> </body> </html>