ホームページ  >  記事  >  ウェブフロントエンド  >  純粋な CSS を使用して電源スイッチ制御を実装する方法 (ソースコードを添付)

純粋な CSS を使用して電源スイッチ制御を実装する方法 (ソースコードを添付)

不言
不言オリジナル
2018-09-27 16:07:093310ブラウズ

この記事の内容は、純粋な CSS を使用して電源スイッチ制御を実装する方法に関するものです (ソースコードが添付されています)。必要な方は参考にしていただければ幸いです。あなた。 。

#エフェクトのプレビュー

純粋な CSS を使用して電源スイッチ制御を実装する方法 (ソースコードを添付)

##ソースコードのダウンロード

https:/ / github.com/comehop​​e/front-end-daily-challenges

コードの解釈

input

コントロール、スイッチ、ライトをそれぞれ表す 3 つの要素を含む dom を定義します。:

<input>
<div></div>
<div></div>
中央表示:
body {
    margin: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #eee;
}
コントロールのスタイルを定義し、コントロールを透明に設定して、非表示であってもユーザーと対話できるようにします。

input

コントロールのフォント サイズはテキスト サイズとは異なるため、フォント サイズは変数です。そのため、個別に設定する必要があります。

body {
    font-size: var(--font-size);
}

:root {
    --font-size: 16px;
}

.toggle {
    position: absolute;
    font-size: var(--font-size); 
    width: 5em;
    height: 8em;
    margin: 0;
    filter: opacity(0);
    cursor: pointer;
    z-index: 2;
}
スイッチのアウトラインを設定します。
.switch {
    position: absolute;
    width: 5em;
    height: 8em;
    border-radius: 1.2em;
    background: linear-gradient(#d2d4d6, white);
}
影を使って切り替えます。

.switch {
    box-shadow: 
        inset 0 -0.2em 0.4em rgba(212, 212, 212, 0.75), 
        inset 0 -0.8em 0 0.1em rgba(156, 156, 156, 0.85), 
        0 0 0 0.1em rgba(116, 116, 116, 0.8), 
        0 0.6em 0.6em rgba(41, 41, 41, 0.3), 
        0 0 0 0.4em #d4d7d8;
}
擬似要素を使って

on

off のテキストを設定します。現在 off 状態:

.toggle ~ .switch::before,
.toggle ~ .switch::after {
    position: absolute;
    width: 100%;
    text-align: center;
    font-size: 1.4em;
    font-family: sans-serif;
    text-transform: uppercase;
}

.toggle ~ .switch::before {
    content: '|';
    bottom: 1em;
    color: rgba(0, 0, 0, 0.5);
    text-shadow: 0 0.1em 0 rgba(255, 255, 255, 0.8);
}

.toggle ~ .switch::after {
    content: 'O';
    top: 0.6em;
    color: rgba(0, 0, 0, 0.45);
    text-shadow: 0 0.1em 0 rgba(255, 255, 255, 0.4);
}
input コントロールを

checked 状態に設定し、on# でスタイルを設定します## 状態: <pre class="brush:php;toolbar:false">&lt;input&gt;</pre>on## を設定します # 状態スイッチ スタイル:

.toggle:checked ~ .switch {
    background: linear-gradient(#a1a2a3, #f0f0f0);
    box-shadow: 
        inset 0 0.2em 0.4em rgba(212, 205, 199, 0.75), 
        inset 0 0.8em 0 0.1em rgba(255, 255, 255, 0.77), 
        0 0 0 0.1em rgba(116, 116, 118, 0.8), 
        0 -0.2em 0.2em rgba(41, 41, 41, 0.18), 
        0 0 0 0.4em #d4d7d8;
}

on 状態のテキスト スタイルを設定します:

.toggle:checked ~ .switch::before {
    bottom: 0.3em;
    text-shadow: 0 0.1em 0 rgba(255, 255, 255, 0.5);
}

.toggle:checked ~ .switch::after {
    top: 1.2em;
    text-shadow: 0 0.1em 0 rgba(255, 255, 255, 0.15);
}
次に照明効果を設定します。

最初に暗い効果を off 状態に設定します:

.toggle ~ .light {
    width: 100vw;
    height: 100vh;
    background-color: #0a0a16;
    z-index: 1;
    filter: opacity(0.7);
}

次に、明るい効果を
on 状態に設定します:

.toggle:checked ~ .light {
    filter: opacity(0);
}
完了!

以上が純粋な CSS を使用して電源スイッチ制御を実装する方法 (ソースコードを添付)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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