ホバー時にテキストがスライドするボタン

@ハクト 2022-11-09 13:55:27に投稿

ホバー時にテキストが左右にスライドするボタンをCSSで作りました。

「span」タグの表示を切り替えることで簡単に実装できるので、ソーシャルボタンなどで活用してみてください

①「span」タグを使用し2つのテキストを配置

<a class="btn">
    <span>CSSボタン</span>
    <span>CSSボタン</span>
</a>

 

.btn {
  position: relative;
  width: 150px; height: 50px;
  line-height: 50px; border-radius: 10px;
  border: 3px solid #353535;
  background-color: #e0c5c0; overflow: hidden;
}

②2番目の「span」タグを右「-100%」に配置し非表示にする

.btn span {
    position: absolute;
    top: 0;  width: 100%; color: #333;
    font-weight: bold; text-align: center;
    transition: all .4s;
}

.btn span:nth-child(1) {right: 0;}
.btn span:nth-child(2) {right: -100%;}

③ホバー時に「span」タグの右位置を変更しスライドさせる

.btn:hover span:nth-child(1) {right: 100%;}

.btn:hover span:nth-child(2) {right: 0;}

 

全てのソース

コードを表示

<a class="btn">
    <span>CSSボタン</span>
    <span>CSSボタン</span>
</a>
.btn {
    position: relative;
    width: 150px;
    height: 50px;
    line-height: 50px;
    border-radius: 10px;
    border: 3px solid #353535;
    background-color: #e0c5c0;
    overflow: hidden;
}

.btn span {
    position: absolute;
    top: 0;
    width: 100%;
    color: #333;
    font-weight: bold;
    text-align: center;
    transition: all .4s;
}

.btn span:nth-child(1) {
    right: 0;
}

.btn span:nth-child(2) {
    right: -100%;
}

.btn:hover span:nth-child(1) {
    right: 100%;
}

.btn:hover span:nth-child(2) {
    right: 0;
}

@ハクト

サービス作り・デザイン好き。70年代生まれのWEBエンジニア。WEBパーツをCSSでカスタマイズしてコピペできるサービスを運営中「Pa-tu」。実装したWEBパーツやツールを利用してWEB情報やライフハックを発信してます。

Twitter