Я следил за учебным пособием, которое показало вам, как создавать расширяемый/сворачиваемый контент, и мне удалось заставить его работать идеально; однако у меня возникли проблемы с адаптацией его для работы в таблице, где есть скрытые строки, которые можно расширить. Идея состоит в том, что вы нажимаете кнопку видео, и скрытая строка расширяется, чтобы показать встроенное видео. Прямо сейчас он просто не будет расширять содержимое, даже если флажок установлен. Вот упрощенная версия моего кода:
<html>
<head>
<style>
th {padding: 5px;
border-bottom: 1px solid white; }
</style>
<style>
table {
width: 100%;
border-left: none;
border-right: none;
border-collapse: collapse; }
</style>
<style type="text/css">
.accordion > input[name="collapse"] {
display:none; }
</style>
<style type="text/css">
.accordion.content {
background: rgba(105, 45, 118, 0.9);
visibility:collapse; }
</style>
<style type="text/css">
.accordion label {
color: #fff;
cursor: pointer;
font-weight: normal;
padding: 5px;
width:auto;
display:block; }
</style>
<style type="text/css">
.accordion label:hover,
.accordion label:focus {
background: #FFFFFF;
color: #000000; }
</style>
<style type="text/css">
.accordion table tr > input[name="collapse"]:checked ~.content {
visibility:visible; }
</style>
</head>
<body>
<section class="accordion">
<table style="text-align:center">
<tr style="background-color:rgba(105, 45, 118, 1)">
<th>Place</th>
<th>Player</th>
<th>Platform</th>
<th>Time</th>
<th>Video</th>
</tr>
<tr style="background-color:rgba(105, 45, 118, 1)">
<td>1</td>
<td>Me</td>
<td>EMU</td>
<td>8:50</td>
<td class="handle"><label for="handle1">Video</label></td>
</tr>
<tr>
<input type="checkbox" name="collapse" id="handle1">
<td colspan="5" class="content">
<iframe width="560" height="315" src="https://www.youtube.com/embed/Yx21y2jcB9Q" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</td>
</tr>
</table>
</section>
</body>
</html>
Решение проблемы
Я удалил лишние теги стиля и, проанализировав код, заметил, что ввод только внутри тега не отображался в html, поэтому пришлось внести некоторые изменения в html и css.
Я добавил и изменил несколько вещей, но теперь это работает
<html>
<head>
<style>
th {
padding: 5px;
border-bottom: 1px solid white;
}
table {
width: 100%;
border-left: none;
border-right: none;
border-collapse: collapse;
}
.accordion input[name="collapse"] {
display:none;
}
.accordion.content {
background: rgba(105, 45, 118, 0.9);
}
.accordion.wrappervideo {
display: none;
}
.accordion label {
color: #fff;
cursor: pointer;
font-weight: normal;
padding: 5px;
width:auto;
display:block;
}
.accordion label:hover,
.accordion label:focus {
background: #FFFFFF;
color: #000000;
}
.accordion input[name="collapse"]:checked ~.wrappervideo {
display: initial;
}
</style>
</head>
<body>
<section class="accordion">
<table style="text-align:center">
<tr style="background-color:rgba(105, 45, 118, 1)">
<th>Place</th>
<th>Player</th>
<th>Platform</th>
<th>Time</th>
<th>Video</th>
</tr>
<tr style="background-color:rgba(105, 45, 118, 1)">
<td>1</td>
<td>Me</td>
<td>EMU</td>
<td>8:50</td>
<td class="handle"><label for="handle1">Video</label></td>
</tr>
<tr>
<td colspan="5" class="content">
<input type="checkbox" name="collapse" id="handle1" />
<div class="wrappervideo">
<iframe width="560" height="315" src="https://www.youtube.com/embed/Yx21y2jcB9Q" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
</td>
</tr>
</table>
</section>
</body>
</html>
Комментариев нет:
Отправить комментарий