Проблема красивости анимации css3

Статус
Закрыто для дальнейших ответов.

looogle

Active Member
Регистрация
12.07.2010
Сообщения
36
Делал вот такую страничку: https://thimble.webmaker.org/p/pi1
Вот код:
Код:
<!DOCTYPE html>
<html>
<head>
	 <meta charset="utf8">
<link href="http://fonts.googleapis.com/css?family=Marmelad&amp;subset=latin,cyrillic" rel="stylesheet" type="text/css">
<title>MrLisDim</title>
<style>
	 body{
	 background:url('http://subtlepatterns.com/patterns/low_contrast_linen.png');
	 }
	 .contact{
	 position:absolute;
	 width:200px;
	 height:auto;
	 overflow:hidden;
	 top:50%;
	 left:50%;
	 margin-left:-100px;
	 margin-top:-50px;
	 padding:10px;
	 background-color:rgb(255, 255,255);
	 -moz-box-shadow: inset 0 0 10px #000000;
	 -webkit-box-shadow: inset 0 0 10px #000000;
	 box-shadow:		 inset 0 0 10px #000000;
	 border-radius:10px;
	 font-family: 'Marmelad', sans-serif;
	 text-shadow:0px 0px 3px rgb(120, 120,120);
	 }
	 ul{
	 margin-top:5px;
	 }
	 li{
	 list-style-type:none;
	 line-height:40px;
	 display:block;
	 margin-left:-30px;
	 padding-left:32px;
	 cursor:pointer;
	 }
	 #phone{
	 background: url(http://i.imgur.com/kZreA.png) no-repeat 0 7px;
	 -moz-transition:all 0.5s ease;
	 }
	 #phone>#d2{
	 position:absolute;
	 opacity:0;
	 -moz-transition:opacity 0.2s linear 0.1s;
	 }
	 #phone>#d1{
	 position:relative;
	 opacity:1;
	 -moz-transition:opacity 0.2s linear 0.1s;
	 }
	 #phone:hover>#d2{
	 position:relative;
	 opacity:1;
	 }
	 #phone:hover>#d1{
	 position:absolute;
	 opacity:0;
	 }
	 #phone:hover{
background-position: 140px 7px;
	 margin-left:-50px;
	 }
	
	 #adress{
	 background: url(http://i.imgur.com/DcAFF.png) no-repeat 0 7px;
	 -moz-transition:background 0.2s ease;
	 }
	 #e-mail{
	 background: url(http://i.imgur.com/zb0e7.png) no-repeat 0 7px;
	 }
</style>
</head>
<body>
<div class="contact">
	 Мои контакты:
	 <ul>
	 <li id="phone"><span id="d1">телефон</span> <span id="d2">+79625847156</span></li>
	 <li id="adress">адрес</li>
	 <li id="e-mail">e-mail</li>
	 </ul>
</div>
</body>
</html>
Если направить на "Телефон", то бэкграунд плавненько двигается и меняется "Телефон" на сам номер. Однако, когда убираешь (отводишь) мыш от элемента происходит обратная анимация, при которой слово "Телефон" появляется раньше, чем исчезает номер. Не очень красиво, однако.

Можно как-нибудь решить эту проблему? Спасибо.
 

looogle

Active Member
Регистрация
12.07.2010
Сообщения
36
Ну что, вообще никто не знает? :(
 

czp

czp
Регистрация
05.06.2011
Сообщения
635
#phone:hover {
background-position: 140px 7px;
margin-left: -50px;
}
убрать,при наведении меняет позицию телефона гляди где то там прописано у тебя
 

looogle

Active Member
Регистрация
12.07.2010
Сообщения
36
Если ты про margin:-50px; то так и должно быть, вся строка двигается влево, потому что так задумано. А вот перед тем как исчезает номер и появляется слово "Телефон" есть промежуток, когда видны оба слова. Выглядит это не очень красиво.
 

looogle

Active Member
Регистрация
12.07.2010
Сообщения
36
Я знаю что он двигает. Так и должно быть. Я совсем про другое. На картинке выше показано, что сразу два <span> присутствуют за раз. Один не успевает исчезать, когда убираешь мышь. Это мне и надо исправить.
 

Volter9

defined('SURRENDER') or die(); // StarWars
Регистрация
27.05.2012
Сообщения
1 145
Я знаю что он двигает. Так и должно быть. Я совсем про другое. На картинке выше показано, что сразу два <span> присутствуют за раз. Один не успевает исчезать, когда убираешь мышь. Это мне и надо исправить.
Решил проблему:

Код:
#phone > #d2 {
opacity: 0;
position: absolute;
}
Поменяй на это #phone > #d2 и получится :)

З.Ы.: FireBug Рулит :tongue:
 

Volter9

defined('SURRENDER') or die(); // StarWars
Регистрация
27.05.2012
Сообщения
1 145
Для пущей красивости стоит убрать анимацию у #phone > #d1 тоже
 

looogle

Active Member
Регистрация
12.07.2010
Сообщения
36
Забыл написать, что работает анимация только в Firefox :blush:

Я знаю что он двигает. Так и должно быть. Я совсем про другое. На картинке выше показано, что сразу два <span> присутствуют за раз. Один не успевает исчезать, когда убираешь мышь. Это мне и надо исправить.
Решил проблему:

Код:
#phone > #d2 {
opacity: 0;
position: absolute;
}
Поменяй на это #phone > #d2 и получится :)

З.Ы.: FireBug Рулит :tongue:
Отлично! Всё работает! Спасибо.

А как вам помог firebug? Просто интересно..
 

Volter9

defined('SURRENDER') or die(); // StarWars
Регистрация
27.05.2012
Сообщения
1 145
Забыл написать, что работает анимация только в Firefox :blush:

Я знаю что он двигает. Так и должно быть. Я совсем про другое. На картинке выше показано, что сразу два <span> присутствуют за раз. Один не успевает исчезать, когда убираешь мышь. Это мне и надо исправить.
Решил проблему:

Код:
#phone > #d2 {
opacity: 0;
position: absolute;
}
Поменяй на это #phone > #d2 и получится :)

З.Ы.: FireBug Рулит :tongue:
Отлично! Всё работает! Спасибо.

А как вам помог firebug? Просто интересно..
Включил ФФ, и начал редактировать ваши стили, и убедился что лишняя оказалась анимация - moz-... ну в общем используйте веб-инспектор или Firebug для отладки стилей и проблем на странице.
 

Indev29

Just Code...
Регистрация
15.08.2012
Сообщения
370
А не проще реализовать на JS? Зато работать будет везде.
 

Volter9

defined('SURRENDER') or die(); // StarWars
Регистрация
27.05.2012
Сообщения
1 145
А не проще реализовать на JS? Зато работать будет везде.
Наш уважаемый Мистер Тигра настоятельно рекомендует использовать всю мощь CSS, и не создавать финтиплюшки на JS
 

tigra60

Спасатель
Регистрация
10.12.2009
Сообщения
1 990
Чтобы было до конца ясно, есть такая парадигма в веб-разработке: все, что можно сделать стилями, не нужно делать скриптами. Я, конечно, не автор этой парадигмы. но ярый ее сторонник и пропагандист.
Когда речь идет о функционале, то есть, о том, что должно работать всегда и везде, безусловно, выбор должен пасть на самое пуленепробиваемое решение. А в данном случае, мне кажется, даже лучше будет, если такое украшение будет доступно только пользователям современных браузеров.
Кроме того, при решении задачи лучше придерживаться условия, если, конечно, оно не составлено ошибочно (или невыполнимо).

Ну, и чтобы говно немножко побурлило, всем, кто поминает мое имя всуе, советую убиться апстену.
 

Volter9

defined('SURRENDER') or die(); // StarWars
Регистрация
27.05.2012
Сообщения
1 145
Ну, и чтобы говно немножко побурлило, всем, кто поминает мое имя всуе, советую убиться апстену.
Тигра можете объяснить вашу фразу?) А то до меня редко доходят ваши коронные фразы)
 

tigra60

Спасатель
Регистрация
10.12.2009
Сообщения
1 990
Тигра можете объяснить вашу фразу?
Попробую.
Как всякого нормального человека, меня раздражает, когда вы почем зря пихаете мой ник в свои посты.
В данном случае, у человека нового на форуме может возникнуть превратное впечатление, в частности и обо мне (а мне это не нужно), и о предмете темы (это тем более никому не нужно).
Ну, а что касается "побурлило", вы так прикольно отбрехиваетесь и там, где надо, и там, где не надо. :tongue: Это забавляет.
 

Volter9

defined('SURRENDER') or die(); // StarWars
Регистрация
27.05.2012
Сообщения
1 145
Тигра можете объяснить вашу фразу?
Попробую.
Как всякого нормального человека, меня раздражает, когда вы почем зря пихаете мой ник в свои посты.
В данном случае, у человека нового на форуме может возникнуть превратное впечатление, в частности и обо мне (а мне это не нужно), и о предмете темы (это тем более никому не нужно).
Ну, а что касается "побурлило", вы так прикольно отбрехиваетесь и там, где надо, и там, где не надо. :tongue: Это забавляет.
Хорошо Тигра, постараюсь больше не злоупотреблять вашим именем :)
 

Indev29

Just Code...
Регистрация
15.08.2012
Сообщения
370
Тигра можете объяснить вашу фразу?
Попробую.
Как всякого нормального человека, меня раздражает, когда вы почем зря пихаете мой ник в свои посты.
В данном случае, у человека нового на форуме может возникнуть превратное впечатление, в частности и обо мне (а мне это не нужно), и о предмете темы (это тем более никому не нужно).
Ну, а что касается "побурлило", вы так прикольно отбрехиваетесь и там, где надо, и там, где не надо. :tongue: Это забавляет.
Вы мне уже нравитесь =)
 

Volter9

defined('SURRENDER') or die(); // StarWars
Регистрация
27.05.2012
Сообщения
1 145
Тигра можете объяснить вашу фразу?
Попробую.
Как всякого нормального человека, меня раздражает, когда вы почем зря пихаете мой ник в свои посты.
В данном случае, у человека нового на форуме может возникнуть превратное впечатление, в частности и обо мне (а мне это не нужно), и о предмете темы (это тем более никому не нужно).
Ну, а что касается "побурлило", вы так прикольно отбрехиваетесь и там, где надо, и там, где не надо. :tongue: Это забавляет.
Хорошо Тигра, постараюсь больше не злоупотреблять вашим именем :)
Хотел написать ником :blush: К тому ж это ведь правда, вы всегда советуете все что касается оформления делать на CSS :)
(Это не было Придиркой, просто Заметка.) (<- А это не было Оправданием :laugh: )
 
Статус
Закрыто для дальнейших ответов.
Верх Низ