Показать сообщение отдельно
  #1 (permalink)  
Старый 14.12.2016, 11:02
Аватар для Black_Star
Профессор
Отправить личное сообщение для Black_Star Посмотреть профиль Найти все сообщения от Black_Star
 
Регистрация: 11.07.2016
Сообщений: 300

Перекрывание слоев overflow: hidden;
Добрый день уважаемые. Делал прелодер на CSS на выходе получил очень много артефактов, подскажите пожалуйста где я косячу?
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Preloader</title>
	<!-- <link rel="stylesheet" type="text/css" href="normalize.css"> -->
<style>
.preloader{
	margin: 0 auto;
	width: 75px;
	height: 75px;
	border: 1px solid black;
}

.circle {
	border-radius: 50%;
	cursor: pointer;
}

.c_main {
	position: relative;
	width: 75px;
	height: 75px;	
	border-bottom: 1px solid #d7d7d5;
	background-color: #E1E1E1;
	opacity: .99;
	z-index: 1;
}

.c_orange{
	position: absolute;
	margin-left: 1px;
	height: 73px;
	width: 73px;
	background: -webkit-linear-gradient(bottom, #FF7D00 0%,  #FB7E01 50%, #FC5200 51%, #FC5101);
	background: linear-gradient(to top, #FF7D00 0%,  #FB7E01 50%, #FC5200 51%, #FC5101);
	overflow: hidden;
}

.c_orange:before{
	content:'';
	position: absolute;
	top: -4px;
	margin-left: -74px;
    width: 148px;
    height: 148px;
    border-radius: 50%;
 	border: 1px solid #BB4001;
box-shadow:  4px 7px 4px 8px rgba(187,64,1, 0.9), inset 8px 6px 3px rgba(187,64,1, 0.9);


}

.rect1{
	position: absolute;
	top: -36px;
	left: 36px;
	height: 73px;
	width: 73px;
	background-color: #E1E1E1;
	-webkit-transform-origin: left bottom;
	        transform-origin: left bottom; 
	-webkit-transform: rotate(45deg); 
	        transform: rotate(45deg);


}

.cover1 {
	position: absolute;
	margin-left: 11px;
	margin-top: 11px;
	height: 50px;
	width: 50px;
	background-color: #E1E1E1;

}

.c_blue{
	position: absolute;
	margin-left: 1px;
	margin-top: 1px;
	height: 48px;
	width: 48px;
	background-color: #50A2CA;
	overflow: hidden;
}

.c_blue:before{
	content:'';
	position: absolute;
	top: -3px;
	margin-left: -4px;
    width: 88px;
    height: 88px;
    border-radius: 50%;
 	border: 1px solid #083A4D; 
box-shadow:  4px 6px 3px 9px rgba(8,58,77, 0.9), inset -8px 6px 1px 1px rgba(8,58,77, 0.9); 
	overflow: hidden;
}

.rect2{
		position: absolute;
	left: 24px;
	height: 48px;
	width: 48px;
	background-color: #E1E1E1;
	-webkit-transform-origin: left center;
	        transform-origin: left center; 
	-webkit-transform: rotate(-20deg); 
	        transform: rotate(-20deg);
	        overflow: hidden;
}

.cover2{
	position: absolute;

	margin-left: 6px;
	margin-top: 6px;
	height: 36px;
	width: 36px;
	background-color: #E1E1E1;
}

.c_purple{
	position: relative;
	margin-left: 1px;
	margin-top: 1px;

	height: 34px;
	width: 34px;
	background-color: #5B4A69;
	z-index: 1;
	opacity: 0.99;
	overflow: hidden;

}


.c_purple:before{
	content:'';
	position: absolute;
	top: -8px;
	margin-left: -2px;
    width: 88px;
    height: 88px;
    border-radius: 50%;
 	border: 1px solid #3B2E43;  
box-shadow:  4px 6px 3px 9px rgba(59,46,67, 0.9), inset -8px 6px 1px 1px rgba(59,46,67, 0.9); 
	

}

.cover3{
	position: absolute;
	margin-left: 5px;
	margin-top: 5px;
	height: 24px;
	width: 24px;
	background-color: #E1E1E1;

	
}

.rect3{
	position: absolute;
	top: -4px;
	left: 16px;

	height: 38px;
	width: 38px;
	background-color: #E1E1E1;
	/*border: 1px solid black;*/
	z-index: 2;
	-webkit-transform-origin: left center;
	        transform-origin: left center; 

	-webkit-transform: rotate(-45deg); 

	        transform: rotate(-45deg);
}


.circle:hover .rotating {
	-webkit-animation: swinger 3s linear infinite normal;
	        animation: swinger 3s linear infinite normal;
	
}

.circle:hover .rotatingBackward{
	-webkit-animation: swinger 3s linear infinite reverse;
	        animation: swinger 3s linear infinite reverse;

}


@-webkit-keyframes swinger {
	0%{
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}


@keyframes swinger {
	0%{
		-webkit-transform: rotate(0deg);
		        transform: rotate(0deg);
	}

	100% {
		-webkit-transform: rotate(360deg);
		        transform: rotate(360deg);
	}
}
</style>
</head>
<body>
	<div class="preloader">
			<div class="circle c_main">
				<div class="circle c_orange"><div class="rect1 rotating"></div>
					<div class="circle cover1">
						<div class="circle c_blue"> <div class="rect2 rotatingBackward"></div>
							<div class="circle cover2">
								<div class="circle c_purple"><div class="rect3 rotating"></div>
									<div class="circle cover3"></div>
								</div>
							</div>
						</div>
					</div>
				</div>
			</div>
	</div>	
<script type="text/javascript" src="script.js"></script>
</body>
</html>

Не могу понять как избавится от этого квадрата перекрытия. + 1px радиуса по ободу кругов
Ответить с цитированием