#css
#css
Вопрос:
Я пытаюсь придать заголовку моей таблицы другой цвет, но границы остаются оригинального цвета.
Это мой CSS
.dashboard th {
background-color: green;
border: 0px solid green;
white-space: nowrap;
color: black;
text-align: left;
}
Почему границы не меняют цвет?
Комментарии:
1. Это может привести к потере приоритета css, кешированию и т.д. В любом случае, можем ли мы также просмотреть ваш html?
2. Можете ли вы добавить класс к строкам, которые хотите изменить на зеленый, и настроить цвет всей строки? Вы также могли бы добавить
border-spacing:0
в правила таблицы3. Я попытаюсь получить HTML, но он генерируется во время выполнения, поэтому добраться до него немного сложно
Ответ №1:
Вы можете добавить border-collapse
свойство к таблице, чтобы уменьшить границы:
.dashboard{
border-collapse: collapse;
}
.dashboard th {
background-color: green;
border: 0px solid green;
white-space: nowrap;
color: black;
text-align: left;
}
<table class="dashboard">
<tr>
<th>Should be green border</th>
<th>Should be green border</th>
<th>Should be green border</th>
</tr>
</table>
Затем вы можете указать собственную ширину границы:
.dashboard {
border-collapse: collapse;
}
.dashboard th {
background-color: green;
border: 5px solid red; /* Just for demo */
white-space: nowrap;
color: black;
text-align: left;
}
<table class="dashboard">
<tr>
<th>Should be green border</th>
<th>Should be green border</th>
<th>Should be green border</th>
</tr>
</table>
Ответ №2:
В вашем вопросе есть два момента:
- если вы установите
border:0
, он не получит цвет. - в таблицах вы должны использовать
border-collapse: collapse;
для устранения пробелов, как показано на вашем снимке. Я думаю, что следующее исправление справилось бы с этой задачей:
table.dashboard {
border-collapse: collapse;
border: 1px solid green;
background: #fff;
}
table.dashboard td {
border: 1px solid #bbb;
}
table.dashboard th {
background-color: green;
border: 1px solid black;
white-space: nowrap;
color: black;
text-align: left;
}
/* just to tidy the page, not part of the answer ;) */
body {
margin: 0;
padding: 0;
background: #f2f2f2;
}
.container {
width: 100vw;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}
<div class="container">
<table class="dashboard">
<tr>
<th>header 1</th>
<th>header 2</th>
<th>header 3</th>
<th>header 4</th>
</tr>
<tr>
<td>item 1</td>
<td>item 2</td>
<td>item 3</td>
<td>item 4</td>
</tr>
<tr>
<td>item 1</td>
<td>item 2</td>
<td>item 3</td>
<td>item 4</td>
</tr>
<tr>
<td>item 1</td>
<td>item 2</td>
<td>item 3</td>
<td>item 4</td>
</tr>
<tr>
<td>item 1</td>
<td>item 2</td>
<td>item 3</td>
<td>item 4</td>
</tr>
</table>
</div>
Ответ №3:
Измените border: style=»border: 0px;» сплошным зеленым; на border: 1px сплошным зеленым; или вы хотите увеличить пиксель в соответствии с вашими потребностями.
.dashboard th {
background-color: green;
border: 1px solid green;
white-space: nowrap;
color: black;
text-align: left;
}