У меня есть две таблицы с разными идентификаторами, и они находятся на разных страницах. По отдельности они просто хороши, но когда я включаю их в одну страницу, стили пересекаются, хотя идентификаторы HTML-элементов разные. Ниже мой код:
<head>
<rel="Stylesheet" href="CSS/styles.css">
</head>
<body>
<table id="logo" style="width:100%">
<th><img src="Image/vg_logo.png" style="width:150px;height:100px"></th>
</table>
</body>
Стиль для кода выше:
#logo{
border: none;
}
и другой код элемента:
$query="select * from users order by id";
$result=mysqli_query($con,$query);
echo '<table id="userTable"><tr><th>User ID</th><th>Full Name</th><th>User Name</th><th>User Role</th></tr>';
while ($row=mysqli_fetch_array($result))
{
echo '<tr><td>'.$row['id'].'</td><td>'.$row['userFullName'].'</td><td>'.$row['userName'].'</td><td>'.$row['type'].'</td></tr>';
}
echo '</table>';
и стиль это:
#userTable{
float:right;
width: 550px;
}
#userTable, th, td{
border: 1px solid black;
border-collapse: collapse;
font-family:tahoma;
font-size:14px;
}
th{
background-color: #a1aec4;
}
Теперь проблема в том, что когда я включаю первую страницу со второй, первая таблица получает границы. Где я установил border:none
, почему это происходит?
Измените эту строку в вашем CSS:
#userTable, th, td{
в
#userTable, #userTable th, #userTable td{
Потому что вы дали глобальный стиль для всех<th>
а также td
элемент быть конкретным с вашими селекторами .. это также добавляет границу к th
элементы, поэтому ваша таблица #logo, кажется, имеет границу, потому что у вас есть один th
элемент в этом.
@ Марк правильный. Просто для заметки определить
th{
background-color: #a1aec4;
}
также с помощью селектора, в противном случае все ом получат одинаковый цвет.