powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не разберусь с переходами (transition)
2 сообщений из 2, страница 1 из 1
Не разберусь с переходами (transition)
    #39121759
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть у меня такой фрагмент HTML-кода:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<div id="main-wrapper">
	<main id="content">
		<div id="content-body">
			content
		</div><!-- #content-body -->
	</main><!-- #content -->
	<input id="sidebar-control" type="checkbox" />
	<div id="sidebar-tag">
		<div title="Баланс лицевого счета">Баланс <span>-99999.99</span></div>
		<label for="sidebar-control">Подробно</label>
	</div>
	<aside id="sidebar">
		<div id="sidebar-body">
			sidebar
		</div><!-- #sidebar-body -->
	</aside><!-- #sidebar -->
</div><!-- #main-wrapper -->


И к нему такой CSS:
Код: css
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
#sidebar-tag
{
	position: absolute;
	right: 0;
	border: 1px dotted gray;
}
#sidebar
{
	display: none;
}
#sidebar-control
{
	display: none;
}
#sidebar-control:checked ~ #sidebar-tag > label
{
	font-weight: bold;

}
#sidebar-control:checked ~ #sidebar
{
	display: table-cell;

}



В таком виде все работает: при клике на "Подробнее" отображается или скрывается сайд-бар, при этом сам текст "Подробнее" изменяется (позже я вместо него стрелки нарисую).
Но изменение происходит мгновенно.
А я бы хотел, чтобы блок сайдбара "выкатывался" и "закатывался".
Но я не могу понять, как мне это сделать.
По идее мне нужны стили transition-property и transition-duration.
Но свойство, управляющее видимостью сайдбара (display) не имеет переходных состояний, оно или none, или table-cell.
Или мне нужно вместе с display изменять height и в transition-property вносить его?

________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
Не разберусь с переходами (transition)
    #39121784
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал так:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<div id="main-wrapper">
	<input id="sidebar-control" type="checkbox" />
	<div id="sidebar-tag">
		<div title="Баланс лицевого счета">Баланс <span>-99999.99</span></div>
		<label for="sidebar-control">Подробно</label>
	</div>
	<main id="content">
		<div id="content-body">
			<div id="sidebar-pad"></div>
			content
		</div><!-- #content-body -->
	</main><!-- #content -->
	<aside id="sidebar">
		<div id="sidebar-body">
			sidebar
		</div><!-- #sidebar-body -->
	</aside><!-- #sidebar -->
</div><!-- #main-wrapper -->


Код: css
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
#sidebar-pad
{
	float: right;
	width: 25ex;
	height: 3em;
}
#sidebar-tag
{
	position: absolute;
	width: 25ex;
	height: 3em;
	right: 0;
	border: 1px dotted gray;
}
#sidebar
{
	display: table-cell;
	visibility: collapse;
	width: 0;
}
#sidebar > #sidebar-body
{
	display: none;
}
#sidebar-control
{
	display: none;
}
#sidebar-control:checked ~ #content > #content-body > #sidebar-pad
{
	display: none;
}
#sidebar-control:checked ~ #sidebar-tag > label
{
	font-weight: bold;
}
#sidebar-control:checked ~ #sidebar
{
	visibility: visible;
	width: 40ex;
	background-color: #FFE;
	border-left: 2px solid #CC9;
	transition-duration: 0.5s;
	transition-property: visibility, width;
}
#sidebar-control:checked ~ #sidebar > #sidebar-body
{
	display: block;
}


В принципе работает, но громоздко и не очень красиво (например display для #sidebar-body и #sidebar-pad срабатывает моментально, поэтому содержимое в #content заметно переформатируется).
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не разберусь с переходами (transition)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]