<p class="text">
<p class="desc">目木家居旗舰店,专注家居二十年。我们彰显个性,具有浓郁现代感现代风格家居设计的特色是,其设计的元素、材料都很单一,这种设计风格已经成为越来越多时尚潮人装修的首选,现代风格家居设计从整体到局部、从空间到室内陈设塑造,精雕细琢,给人一丝不苟的印象</p>
<a href="javascript:void(0);" class="more">更多</a>
</p>
Comment obtenir cet effet ? La flèche d'expansion change lorsque vous la réduisez
J'ai essayé d'écrire l'effet Cela ne semble pas idéal, car la hauteur de l'écriture ici est fixe, mais la quantité de texte est incertaine
démo
Enroulez directement un calque sur le calque externe de p, masquez le débordement externe et obtenez le paramètre de hauteur de p ;
Faites attention à la marge par défaut de p Dans l'exemple suivant, utilisez le remplissage de l'élément parent pour le décaler. ;
C'est en fait assez simple :
.Si vous souhaitez agrandir ou réduire en fonction du nombre de texte, alors vous pouvez faire correspondre les
length
来设定判断条件,当长度小于的时候format
一份html
,这个html
上面没有图标,当长度大于规定长度时,收缩时,对所有文字字符串进行截取然后拼接一个展开的图标,这个font-awesome
il y en a plusieurs et l'afficher sur la page, puis l'agrandir en utilisant la même routine, sauf que vous n'avez pas besoin d'intercepter la chaîne. , divisez simplement toutes les chaînes en une icône réduite, puis liez les événements aux deux icônes respectivement. J'ai donné ci-dessous un exemple spécifique de mon implémentation précédente. Le code n'est pas complet. Cela devrait suffire à vous fournir des idées et une mise en œuvrePour l'animation, essayez ceci :
démo
J’ai eu un peu d’inspiration après avoir lu la réponse de @auntie (ici) il y a quelques jours.
Le point clé est le suivant : pour agrandir sans hauteur fixe, définissez d'abord la hauteur sur auto, puis utilisez
getComputedStyle
pour obtenir la hauteur, puis définissez la hauteur sur 0 et utilisez la hauteur obtenue pour animer.