Как добавить класс CSS по умолчанию для одного вида элементов в Hugo?

Я изменяю тему, которую нашел для Хьюго, и мне было интересно, как я могу добавить класс css в таблицы в сгенерированном HTML-коде. Я хочу использовать платформу CSS, и я хотел бы, если таблицы имеютclass="u-full-width"Я знаю, что могу редактировать коды CSS, но я думаю, что должен быть разумный способ.

Что-то, что автоматически добавляет атрибуты класса к каждой таблице в сгенерированном HTML-коде.

2 ответа

После небольшой копки я предполагаю, что вы используете SKELETON CSS Framework?

Я думаю, что ваш лучший вариант - обернуть ваши таблицы ванильной разметкой и добавить одну строчку CSS:

<div class="u-full-width">
| Tables        | Are           | Cool  |
| ------------- |:-------------:| -----:|
| col 3 is      | right-aligned | $1600 |
| col 2 is      | centered      |   $12 |
| zebra stripes | are neat      |    $1 |
</div>

... с вашим CSS так:

div.u-full-width > table {
  width: 100%;
  box-sizing: border-box;
}

... или, альтернативно, вы можете наследовать стили от SKELETON:

div.u-full-width > table {
  width: inherit;
  box-sizing: inherit;
}

Вы можете сделать это с помощью JavaScript, вы можете просто использовать var tables = document.getElementsByTagName("table") как ваш селектор.

Затем добавьте класс с помощью for

вот код

window.onload = function() {
    var tables = document.getElementsByTagName("table"),
        len = tables !== null ? tables.length : 0,
        i = 0;
    for(i; i < len; i++) {
        tables[i].className += " u-full-width"; 
    }
}
function addclass(){
    var tables = document.getElementsByTagName("table"),
        len = tables !== null ? tables.length : 0,
        i = 0;
    for(i; i < len; i++) {
        tables[i].className += " u-not-full-width"; 
    }
}
table {
border:1px solid #000;
width:100%;
height:300px;
}
td {
border:1px solid red;
}
.u-full-width{
background-color:blue;
}
.u-not-full-width{
background-color:green !important;
}
<button onclick="addclass();">Add class to all tables</button>
<table>
 <tbody>
  <tr>
   <td> </td>
   <td> </td>
   <td> </td>
  </tr>
  <tr>
   <td> </td>
   <td> </td>
   <td> </td>
  </tr>
  <tr>
   <td> </td>
   <td> </td>
   <td> </td>
  </tr>
 </tbody>
</table>
<table >
 <tbody>
  <tr>
   <td> </td>
   <td> </td>
   <td> </td>
  </tr>
  <tr>
   <td> </td>
   <td> </td>
   <td> </td>
  </tr>
  <tr>
   <td> </td>
   <td> </td>
   <td> </td>
  </tr>
 </tbody>
</table>
<table >
 <tbody>
  <tr>
   <td> </td>
   <td> </td>
   <td> </td>
  </tr>
  <tr>
   <td> </td>
   <td> </td>
   <td> </td>
  </tr>
  <tr>
   <td> </td>
   <td> </td>
   <td> </td>
  </tr>
 </tbody>
</table>

Да, ты можешь

Другие вопросы по тегам