#html #css #html-table
#HTML #css #html-таблица
Вопрос:
Итак, я создаю веб-сайт в качестве теста. Код можно увидеть ниже.
* {
background: #000000;
color: #dddddd;
margin: 0;
padding: 0;
}
body {
font-family: Consolas;
}
button.header {
border-width: 0;
}
table { width: 100%; }
<!DOCTYPE html>
<html lang="en">
<head>
<title>test title</title>
<link rel="stylesheet" href="start.css">
</head>
<body>
<table style="padding-top: 0.8rem;">
<tr> <!-- Title, Buttons -->
<th style="text-align: left; padding-left: 0.8rem;">
<h1>test site title</h1>
</th>
<th style="text-align: right; padding-right: 0.8rem;">
<button class="header"> ABOUT </button>
<button class="header"> PROJECTS </button>
<button class="header"> CONTACT </button>
</th>
</tr>
<tr>
Test
</tr>
</table>
</body>
</html>
Ошибка здесь в том, что второй <tr>
тег с текстом "Test"
отображается перед первым, который содержит кнопки и заголовок.
Почему это происходит? Как я могу повлиять на порядок строк моей таблицы?
Ответ №1:
Вы должны поместить либо a td
, либо a th
внутри a tr
.
<tr>
<td>Test</td>
</tr>
тогда они будут отображаться в том же порядке, в котором вы их пишете.
Технические характеристики: https://html.spec.whatwg.org/multipage/tables.html#the-tr-element
Ответ №2:
Вам нужно обернуть «test» внутри элемента Data Cell ( <td>
) .
* {
background: #000000;
color: #dddddd;
margin: 0;
padding: 0;
}
body {
font-family: Consolas;
}
button.header {
border-width: 0;
}
table {
width: 100%;
}
<table style="padding-top: 0.8rem;">
<tr>
<th style="text-align: left; padding-left: 0.8rem;">
<h1>test site title</h1>
</th>
<th style="text-align: right; padding-right: 0.8rem;">
<button class="header"> ABOUT </button>
<button class="header"> PROJECTS </button>
<button class="header"> CONTACT </button>
</th>
</tr>
<tr><td>Test</td></tr>
</table>