@dima_maketov
Мои тупые вопросы вносят вклад в сообщество.

Из-за чего может лагать легкая анимация css3 на сайте?

Добрый день!
Подскажите, пожалуйста, от чего может лагать анимация выплывающего меню на сайте? Анимация делается через css3 transition. Странно то, что такой же механизм стоит на других сайтах и все работает хорошо, а здесь почему-то лагает.

<div class="menu_container">
		<div class="menu_left">
			<div class="menu_cont">
			<div class="logo">
				<img src="/img/logo.png" alt="">
			</div>
			<div class="menu_title">Меню</div>
			<ul class="list_menu">
				<li><a href="#main" class="active"><span>Главный экран</span></a></li>
				<li><a href="#sect_video"><span>Видео</span></a></li>
				<li><a href="#course_info"><span>Что такое инструкторский&nbsp;курс</span></a></li>
				<li><a href="#program_course"><span>Программа курса</span></a></li>
				<li><a href="#content_course"><span>Что вы получите</span></a></li>
				<li><a href="#slider"><span>Галерея офиса</span></a></li>
				<li><a href="#feedback"><span>Отзывы</span></a></li>
				<li><a href="#speakers"><span>Спикеры</span></a></li>
				<li><a href="#course_price"><span>Стоимость курса</span></a></li>
				<li><a href="#contact"><span>Контакты</span></a></li>
			</ul>
			</div>
		</div>
		<div class="menu__close"></div>
	</div>


var body = $('body');
	$('#menu').click(function(){
		$('.menu_container').addClass('active');
		body.addClass('block');
	});
	$('.menu__close').click(function(){
		$('.menu_container').removeClass('active');
		body.removeClass('block');
	});

	$('.menu_container a').click(function(){
		$('.menu_container').removeClass('active');
		body.removeClass('block');
	});


.menu_container,
.popup_speak
	background: rgba(#000, .0)
	width: 380px
	position: fixed
	z-index: -1
	height: calc(100% + 60px)
	display: block
	top: 0
	left: 0
	transition: background .5s, z-index .5s
	&.active
		z-index: 700
		background: rgba(#000, .71)
		.menu__close
			position: absolute
			top: 0
			left: 0
			width: 100%
			height: 100%
			z-index: 701
			cursor: pointer
			&:after
				content: ''
				position: absolute
				top: 10px
				right: 25px
				height: 16px
				width: 15px
				background: url('/img/sprite.png')
				background-position: -244px 0px
		.menu_left
			z-index: 702
			position: absolute
			left: 0
	.menu_left
		background: #fff
		position: absolute
		left: -320px
		top: 0
		max-width: 320px
		transition: left .5s
		height: 100%
		overflow-y: scroll
		box-sizing: border-box
		.menu_cont
			padding-top: 35px
			padding-bottom: 35px
			float: left
			padding-left: 30px
			padding-right: 30px
		.jspVerticalBar
			margin-right: 5px
			width: 19px
			box-sizing: border-box
			height: calc(100% - 10px)
			overflow: hidden
			margin-top: 5px
		.logo
			margin-bottom: 40px
			padding-left: 60px
			width: 120px
			img
				width: 100%	
		.list_menu
			float: left
			font-size: 15px
			span
				line-height: 22px
				display: inline-block
			li
				float: left
				width: 100%
				margin-bottom: 17px
			a
				padding-left: 55px
				position: relative
				display: block
				color: #191919
				letter-spacing: 1px
				min-height: 33px
				&.active
					&:after
						background-position: -440px -108px
				&:after
					content: ''
					position: absolute
					min-height: 33px
					top: 50%
					margin-top: -17px
					left: 0
					width: 33px
					display: block
					background: url('/img/sprite.png')
					background-position: -478px -107px
		.menu_title
			margin-left: 23px
			position: relative
			text-align: center
			line-height: normal
			color: #191919
			margin-bottom: 40px
			font-size: 16px
			letter-spacing: 1px
			&:after
				left: 0
			&:before
				right: 0
			&:after,
			&:before
				content: ''
				position: absolute
				top: 10px
				height: 1px
				background: #d1d1d1
				width: 70px

Десктоп, мобилка.
  • Вопрос задан
  • 366 просмотров
Пригласить эксперта
Ответы на вопрос 4
sfi0zy
@sfi0zy Куратор тега CSS
Creative frontend developer
Используйте transform: translateX + will-change вместо того, чтобы анимировать свойство left при абсолютном позиционировании.
Ответ написан
Комментировать
Anna_BS
@Anna_BS
Старая, но актуальная статья
У Вас перемещение меню на left
Ответ написан
Комментировать
У меня ничего не тормозит, даже на IE. А вот градиенты на нем некорректно работают.
Ответ написан
Возможно комп/ноут слабенький
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы