Я использую плагин WordPress для отображения событий в календаре. Он имеет следующую разметку для отображения дней:
<th id = "tribe-events-monday" title = "Monday" data-day-abbr = "Mon">Monday</th>
Вместо отображения «Понедельник» я бы хотел, чтобы он отображал «Пн». Можно ли вывести атрибут данных (data-day-abbr) с помощью CSS?
Это был бы предпочтительный обходной путь, иначе мне нужно будет создать дочерние файлы шаблонов.






Получите доступ к data-day-abbr в CSS и установите его значение для псевдоэлемента (до):
#tribe-events-monday:before {
content: attr(data-day-abbr);
}
Вы можете сделать это, скрыв видимость содержимого th и заменив его с помощью CSS content и attr:
[data-day-abbr]:before {
content: attr(data-day-abbr);
visibility: visible;
}
th {
visibility: hidden;
}<table>
<tr>
<th id = "tribe-events-monday" title = "Monday" data-day-abbr = "Mon">Monday</th>
</tr>
</table>Отличный ответ. Правильно ли я думаю, что программы чтения с экрана по-прежнему будут иметь возможность читать дни недели?
Что вы можете сделать, так это «скрыть» текст в th, установив его размер шрифта на ноль.
Затем добавьте элемент :after и заполните его атрибутом данных.
Больше информации
th {
border: 1px solid black;
font-size: 0;
}
th:after {
content: attr(data-day-abbr);
font-size: 12px;
}<table>
<tr>
<th id = "tribe-events-monday" title = "Monday" data-day-abbr = "Mon">Monday</th>
</tr>
</table>Вы можете использовать text-indent и ::before
[data-day-abbr] {
text-indent: -100vw;/* at least enough to hide text */
}
[data-day-abbr]::after {
content: attr(data-day-abbr);
float:left;/* or display: block;*/
text-indent: 0;
}<table>
<tr>
<table>
<tr>
<th title = "Monday" data-day-abbr = "Mon">Monday</th>
<th title = "Tuesday" data-day-abbr = "Tue">Tuesday</th>
<th title = "wednesday" data-day-abbr = "Wed">Wednesda</th>
<th title = "Thursday" data-day-abbr = "Thu">Thursday</th>
<th title = "friday" data-day-abbr = "Fri">friday</th>
<th title = "Saturday" data-day-abbr = "Sat">Saturday</th>
<th title = "Sunday" data-day-abbr = "Sun">Sunday</th>
</tr>
</table>
</tr>
</table>
Я рекомендую этот ответ как идеальный.