Я хочу создать такую же таблицу
Я реализовал вот так. Пожалуйста, проверьте мой JSFiddle.
HTML:
<table border="0" id="cssTable">
<tr>
<td>eredgb</td>
<td><a href="self">04-Milwaukee</a></td>
<td>705</td>
<td>sdfdfdfed</td>
<td>298</td>
</tr>
<tr>
<td>sdfsdfsdfsdfsdf</td>
<td><a href="self">04-Milwaukee</a></td>
<td>705</td>
<td>content2</td>
<td>298</td>
</tr>
<tr>
<td>sdfsdfsdfsdfsdf</td>
<td><a href="self">04-Milwaukee edh walkohnykuohbnbd</a></td>
<td>705</td>
<td>content1</td>
<td>298</td>
</tr>
</table>
CSS:
#cssTable{
margin-left:20px;
}
Как я могу сделать это как снимок экрана выше? Мне нужно обеспечить равное расстояние и некоторую фиксированную ширину для каждого содержимого таблицы td
.
Вы можете использовать селектор css :nth-child()
для таргетинга на определенный столбец.
#cssTable td {
padding: 5px 15px;
}
#cssTable td:nth-child(2) {
width: 100px;
}
Если вы хотите разместить каждый тд по-разному, вы можете использовать селектор nth-child:
#cssTable{margin-left:20px;}
#cssTable tr td:nth-child(1){width: 100px; padding-right: 10px;}
#cssTable tr td:nth-child(2){width: 300px; padding-right: 10px;}
#cssTable tr td:nth-child(3){width: 50px; padding-right: 10px;}
#cssTable tr td:nth-child(4){width: 100px; padding-right: 10px;}
#cssTable tr td:nth-child(5){width: 50px;}
Если ваша таблица становится больше, вы можете, конечно, установить padding-right для всех столбцов и установить для last-child значение 0.
Проблема здесь в том, что таблица никогда не заставляет td использовать указанную ширину, пока вы не используете
table { table-layout: fixed; }
и сделайте первый ряд таблицы с
td { height: 0; }
и укажите ширину для каждого td в этой строке.
По стандарту вы также можете использовать <col>, но в некоторых браузерах это не работает, td работает повсеместно.
Такие вопросы задают много раз в разных местах, например здесь
Вы можете использовать <colgroup>
и <col>
. Таким образом, вам не нужно выделять каждый <td>
отдельный класс.
<table border="0" id="cssTable">
<colgroup>
<col width="100px" />
<col width="100px" />
<col width="50px" />
<col width="75px" />
<col width="50px" />
</colgroup>
<tr>
...
Также проверьте обновленный Fiddle.
Просто добавьте свой css
#cssTable td
{
padding:0 20px;
}
Он добавит отступы влево и вправо. http://jsfiddle.net/Pv3Zk/484/
Как это? (обновленный, вдохновленный кодом @Grey)
#cssTable td {
padding: 0px 10px;
}
#cssTable a {
color:red;
}
#cssTable td:nth-child(1) {
width:20px;
}
#cssTable td:nth-child(2) {
width:200px;
}
#cssTable td:nth-child(3),#cssTable td:nth-child(5) {
width:30px;
font-weight:bold;
}
#cssTable td:nth-child(4) {
width:20px;
}
Вам нужно вставить ширину исправления для каждого td одной строки. Остальные просто копируют тех, у кого ширина. Вы можете добавить класс в каждую ячейку в функции своего столбца. Вы можете также вставить ширину в%, чтобы ваш дисплей был инкремент, если у вас есть большое разрешение.
попробуй это
установите css в таблицу td tag.
table td {
width: 60px;
overflow: hidden;
display: inline-block;
white-space: nowrap;
}
или создать класс и установить имя.
<td class="special_column">...</td>