ホームページ > ウェブフロントエンド > CSSチュートリアル > CSS ::after 擬似要素を使用してホバー時にコンテンツを動的に変更する方法

CSS ::after 擬似要素を使用してホバー時にコンテンツを動的に変更する方法

Patricia Arquette
リリース: 2024-10-30 00:43:02
オリジナル
405 人が閲覧しました

How to Dynamically Change Content on Hover Using CSS ::after Pseudo-element?

CSS を使用してホバー時にコンテンツを変更する方法

ホバー時に要素のコンテンツを変更することは、Web 開発における一般的なタスクです。これは簡単なプロセスだと思うかもしれませんが、::after や ::before などの疑似要素とともに、CSS コンテンツのプロパティをより深く理解する必要があります。

この例では、目標は変更することです。カーソルを置くと、「NEW」ラベルのコンテンツが「ADD」に変わります。最初は、content プロパティを使用してこの問題に対処しましたが、問題が発生しました。幸いなことに、望ましい効果を達成するための賢い解決策が存在します。

その秘訣は、content プロパティと ::after 疑似要素を組み合わせることにあります。

<code class="CSS">.item:hover a p.new-label:after {
    content: 'ADD';
}</code>
ログイン後にコピー

この CSS ルールは、p をターゲットとしています。ホバー状態にある場合、「item」クラス内の「a」タグ内にクラス「new-label」を持つ要素。次に、既存のコンテンツを「ADD」に動的に置き換えます。

説明のために、更新された例を次に示します。

<code class="HTML"><div class="item">
    <a href="">
         <p class="label success new-label"><span class="align">New</span></p>
    </a>
</div></code>
ログイン後にコピー
<code class="CSS">body {
    font-family: Arial, Helvetica, sans-serif;
}
.item {
    width: 30px;
}
a {
    text-decoration:none;
}
.label {
    padding: 1px 3px 2px;
    font-size: 9.75px;
    font-weight: bold;
    color: #ffffff;
    text-transform: uppercase;
    white-space: nowrap;
    background-color: #bfbfbf;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    text-decoration: none;
}
.label.success {
    background-color: #46a546;
}

.item a p.new-label span{
  position: relative;
  content: 'NEW'
}
.item:hover a p.new-label span{
  display: none;
}
.item:hover a p.new-label:after{
  content: 'ADD';
}</code>
ログイン後にコピー

ここで、「NEW」ラベルの上にカーソルを置くと、これはシームレスに「ADD」に変換され、最初の要件を満たします。

以上がCSS ::after 擬似要素を使用してホバー時にコンテンツを動的に変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート