2014-09-25 4 views
0

У меня есть «прыгающий погрузчик» ДИВ, в котором двигается вверх и вниз по бесконечной петле (см это jsfiddleКак исправить положение Div двигаться, когда другие изменения высоты динамически

Однако, если поместить кнопку под ним (или что-нибудь еще в этом отношении), она также будет перемещаться во времени с эффектом анимации.

есть ли вообще остановить эту кнопку от перемещения?

Я попытался добавить margins/padding на обоих , но они не работали, поэтому я удалил их.

загрузчик HTML:

<div class="loader" style="float:initial;"> 
    <span></span> 
    <span></span> 
    <span></span> 
</div> 
<br /> 

<div> 
    <button id="popupArea">Click here to invoke a popup window</button> 
</div> 

с CSS существа:

.loader { 
    text-align: center;  
} 
.loader span { 
    display: inline-block; 
    vertical-align: middle; 
    width: 10px; 
    height: 10px; 
    margin: 50px auto; 
    background: black; 
    border-radius: 50px; 
    -webkit-animation: loader 0.9s infinite alternate; 
    -moz-animation: loader 0.9s infinite alternate; 
} 
.loader span:nth-of-type(2) { 
    -webkit-animation-delay: 0.3s; 
    -moz-animation-delay: 0.3s; 
} 
.loader span:nth-of-type(3) { 
    -webkit-animation-delay: 0.6s; 
    -moz-animation-delay: 0.6s; 
} 
@-webkit-keyframes loader { 
    0% { 
    width: 10px; 
    height: 10px; 
    opacity: 0.9; 
    -webkit-transform: translateY(0); 
    } 
    100% { 
    width: 24px; 
    height: 24px; 
    opacity: 0.1; 
    -webkit-transform: translateY(-21px); 
    } 
} 
@-moz-keyframes loader { 
    0% { 
    width: 10px; 
    height: 10px; 
    opacity: 0.9; 
    -moz-transform: translateY(0); 
    } 
    100% { 
    width: 24px; 
    height: 24px; 
    opacity: 0.1; 
    -moz-transform: translateY(-21px); 
    } 
} 

Как всегда, любая помощь/советы приветствуются.

Пожалуйста, обратите внимание, что я не знаю, JQuery, поэтому хотелось бы, чтобы избежать как можно больше (и, следовательно, я использую жерех MVC)

ответ

0

попробовать, как этот

.loader { 
 
    text-align: center; 
 
} 
 
.loader span { 
 
    display: inline-block; 
 
    vertical-align: middle; 
 
    width: 10px; 
 
    height: 10px; 
 
    margin: 50px auto; 
 
    background: black; 
 
    border-radius: 50px; 
 
    -webkit-animation: loader 0.9s infinite alternate; 
 
    -moz-animation: loader 0.9s infinite alternate; 
 
} 
 
.loader span:nth-of-type(2) { 
 
    -webkit-animation-delay: 0.3s; 
 
    -moz-animation-delay: 0.3s; 
 
} 
 
.loader span:nth-of-type(3) { 
 
    -webkit-animation-delay: 0.6s; 
 
    -moz-animation-delay: 0.6s; 
 
} 
 
@-webkit-keyframes loader { 
 
    0% { 
 
    width: 10px; 
 
    height: 10px; 
 
    opacity: 0.9; 
 
    -webkit-transform: translateY(0); 
 
    } 
 
    100% { 
 
    width: 24px; 
 
    height: 24px; 
 
    opacity: 0.1; 
 
    -webkit-transform: translateY(-21px); 
 
    } 
 
} 
 
@-moz-keyframes loader { 
 
    0% { 
 
    width: 10px; 
 
    height: 10px; 
 
    opacity: 0.9; 
 
    -moz-transform: translateY(0); 
 
    } 
 
    100% { 
 
    width: 24px; 
 
    height: 24px; 
 
    opacity: 0.1; 
 
    -moz-transform: translateY(-21px); 
 
    } 
 
}
<div class="loader" style="height:100px;"> 
 
    <span></span> 
 
    <span></span> 
 
    <span></span> 
 
</div> 
 
<br /> 
 
<div> 
 
    <button id="popupArea">Click here to invoke a popup window</button> 
 
</div>

+0

Это единственное, что сработало для меня! спасибо :) – 2014-09-25 09:26:52

+0

Если это сработало, убедитесь, что вы принимаете ответ. –

+0

нужно подождать еще минуту, чтобы принять – 2014-09-25 09:31:16

1

Просто добавьте следующий атрибут CSS:

#popupArea { 
    position:fixed; 
    top:100px;//you can change the value as you wish 
} 

Пример here.

+0

по какой-то причине, это не работает для меня? – 2014-09-25 09:27:21

+2

@NoName Почему вы используете 'position: fixed;' ??? Вы можете добиться того же результата, если вы установите 'height: 100px;' to '.loader' - http://jsfiddle.net/9emc9so9/3/ – Anonymous

+0

Спасибо, я об этом не думал. Отличная работа. –

0

Try поставить высоту в DIV заряжающего.

.loader { 
    text-align: center;  
    height:85px; 
} 

http://jsfiddle.net/csdtesting/9emc9so9/4/

+0

по какой-то причине, это не сработало для меня (но Даршак сделал?) – 2014-09-25 09:27:59

+0

Может быть, ваш css на этой странице. Работает jsfiddle. Может быть, решение Даршака лучше! –

+0

И еще одна вещь ... я люблю этот загрузчик !!! :). Используйте его! –

0

Простой, просто установить высоту для пролета

Set высота: 100px; в загрузчике

.loader { 
    text-align: center; 
    height:100px; 
} 

Вот DEMO

+0

Я на самом деле просто пытался это (как альтернатива принятому отвечу) - но почему-то это не сработало? Принятый ответ добавляет свойство Height в div, тогда как это добавляет его в css. Странно ... – 2014-09-25 09:33:36

Смежные вопросы