ホームページ >ウェブフロントエンド >CSSチュートリアル >純粋なセマンティック HTML と CSS を使用して画像ベースのチェックボックスを作成する方法

純粋なセマンティック HTML と CSS を使用して画像ベースのチェックボックスを作成する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-16 15:14:02429ブラウズ

How to Create Image-Based Checkboxes Using Pure Semantic HTML and CSS?

純粋なセマンティック HTML/CSS を使用した画像ベースのチェックボックスの作成

既製のソリューションに依存する代わりに、この機能を実装できます。純粋にセマンティックな HTML と CSS で、CSS 操作の理解を促進します。

ステップ 1: セマンティック HTML

チェックボックスに個別の ID 属性を定義し、

例:

<input type="checkbox">

ステップ 2: チェックボックスを非表示にする

CSS を適用してチェックボックスを非表示にします。たとえば、display: none;.

ステップ 3: ビジュアル チェックボックスのスタイルを設定する

CSS の ::before 擬似要素を使用してチェックボックスの視覚的表現を作成します:

label::before {
    background-image: url(unchecked.png);
}

ステップ 4: チェック状態の実装

スタイルを変更するチェックボックスがチェックされている場合、CSS の :checked 擬似セレクターを使用します:

:checked + label::before {
    background-image: url(checked.png);
}

隣接する兄弟セレクターにより、スタイルの変更が非表示のチェックボックスの直後のラベルにのみ適用されることが保証されます。

ステップ 5: 位置、寸法、トランジション

ラベルを正しく配置し、適切な寸法を割り当て、スムーズなトランジションを適用して、ユーザー エクスペリエンスを向上させます。

例 (JavaScript スニペット) ):

ul {
    list-style-type: none;
}

li {
    display: inline-block;
}

input[type="checkbox"][id^="cb"] {
    display: none;
}

label {
    border: 1px solid #fff;
    padding: 10px;
    display: block;
    position: relative;
    margin: 10px;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

label::before {
    background-color: white;
    color: white;
    content: " ";
    display: block;
    border-radius: 50%;
    border: 1px solid grey;
    position: absolute;
    top: -5px;
    left: -5px;
    width: 25px;
    height: 25px;
    text-align: center;
    line-height: 28px;
    transition-duration: 0.4s;
    transform: scale(0);
}

label img {
    height: 100px;
    width: 100px;
    transition-duration: 0.2s;
    transform-origin: 50% 50%;
}

:checked+label {
    border-color: #ddd;
}

:checked+label::before {
    content: "✓";
    background-color: grey;
    transform: scale(1);
}

:checked+label img {
    transform: scale(0.9);
    box-shadow: 0 0 5px #333;
    z-index: -1;
}

以上が純粋なセマンティック HTML と CSS を使用して画像ベースのチェックボックスを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。