Переход дочернего CSS-свойства - PullRequest
0 голосов
/ 23 января 2012

У меня есть следующий фрагмент кода CSS:

#balancers div p {      
  display: none;
}

#balancers div:hover p {
  display: block;
}

И разметка:

<div id="balancers">
  <h1>ID</h1>
  <p>Description</p>
</div>

Это работает как ожидалось - когда я наведу курсор мыши на элемент <div>, он покажет<p> элемент.Однако я хотел бы использовать CSS-переходы здесь (заставить <div> медленно увеличивать его высоту, не манипулируя свойством height).

Как я могу это сделать?

Ответы [ 4 ]

1 голос
/ 23 января 2012

Я сделал пример: Пример перехода CSS3

Можно без JS.

0 голосов
/ 23 января 2012

вы можете использовать jQuery для достижения чего-то вроде того, что вы просите.

$("#balancers p").hover(function(){ 
   $(this).fadeOut(100);
   $(this).fadeIn(500);}
);

Пример: http://api.jquery.com/hover/

0 голосов
/ 23 января 2012

Ваша CSS-разметка неверна.Правильно будет:

div#balancers > p {      
  display: none;
}

div#balancers:hover > p {
  display: block;
}


<div id="balancers">
  <h1>ID</h1>
  <p>Description</p>
</div>
0 голосов
/ 23 января 2012

Вы не сможете создать такую ​​анимацию с помощью базового CSS.Чтобы получить этот эффект, вам нужно использовать что-то вроде jQuery animate:

http://api.jquery.com/animate/

$("div#balancers").hover(function(){
    $("div#balancers p").show();
    $("div#balancers p").animate({
        height:"200px"
    }, 1500);
});
...