У меня был тот же вопрос, но, думаю, я немного понял его, проверив элемент следующей кнопки на Twitter.com.это можно сделать в чистом CSS, например:
<div class="follow-button-combo is-following">
<a href="xxxx" class="btn">
<div class="is-following">Following</div>
<div class="to-follow">Follow</div>
<div class="to-unfollow">Unfollow</div>
</a>
</div>
кнопка будет содержать 3 различных текста действий одновременно.и мы можем использовать CSS, чтобы скрыть 2 из них, в соответствии с условием:
в SCSS:
/* in SCSS file */
.follow-button-combo {
/* Following, make the combo's class = "is-following"
so only the "Following" text is shown */
&.is-following {
.btn {@extend .btn-success;}
.is-following {display:block;}
.to-follow {display:none;}
.to-unfollow {display:none;}
/* when hover, only the "Unfollow" text is shown */
&:hover {
.btn{@extend .btn-danger;} /* the button color changes to red */
.is-following {display:none;}
.to-follow {display:none;}
.to-unfollow {display:block;} }
}
/* Not following, make the combo's class = "not-following"
so only the "Follow" text is shown */
&.not-following {
.is-following {display:none;}
.to-follow {display:block;}
.to-unfollow {display:none;}
/* when hover, nothing changes */
}
}