Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не разберусь с переходами (transition) / 2 сообщений из 2, страница 1 из 1
06.12.2015, 19:43
    #39121759
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не разберусь с переходами (transition)
Есть у меня такой фрагмент 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
06.12.2015, 20:42
    #39121784
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не разберусь с переходами (transition)
Сделал так:
Код: 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
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не разберусь с переходами (transition) / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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