CSSはリモコンのボタンを模倣する

CSSはリモコンのボタンを模倣する

注: このデモはミニプログラム環境でテストされており、他の h5 および pc Web ページにも適用できます。ミニプログラムの単位とタグ名を汎用のものに変更し、必要に応じて調整するだけです。

基本的な考え方は、4 つの同一の正方形を T 字型のパターンでレイアウトし、回転属性と組み合わせて組み合わせることです。

HTML構造

<view class="button-group">
  <view class="outter-circle">
    <view class="inner-parts brown" bindtap="button" data-type="volAdd">
      <text class="rotate">+</text>
    </ビュー>
    <view class="inner-parts silver" bindtap="button" data-type="chaAdd">
      <text class="rotate">+</text>
    </ビュー>
    <view class="inner-parts blue" bindtap="button" data-type="chaDes">
      <text class="rotate">-</text>
    </ビュー>
    <view class="inner-parts gold" bindtap="button" data-type="volDes">
      <text class="rotate">-</text>
    </ビュー>

    <view class="inner-circle" bindtap="button" data-type="ok">
      <text class="ok rotate">OK</text>
    </ビュー>
  </ビュー>
</ビュー>

CSS スタイル

.ボタングループ{
  パディングトップ: 20rpx;
  幅: 300rpx;
  高さ: 300rpx;
  背景色: ピンク;
}
.外側の円 {
  位置: 相対的;
  左マージン: 10rpx;
  幅: 280rpx;
  高さ: 280rpx;
  背景色: ライトシアン;
  境界線の半径: 100%;
  オーバーフロー: 非表示;
  変換の原点: 中心;
  変換: 回転(45度);
}
.インナーパーツ{
  フロート: 左;
  幅: 140rpx;
  高さ: 140rpx;
  行の高さ: 140rpx;
  テキスト配置: 中央;
}
.シルバー{
  背景色: シルバー;
}
。金 {
  背景色: ゴールド;
}
。青 {
  背景色: 青;
}
。茶色 {
  背景色: 茶色;
}
.インナーサークル{
  位置: 絶対;
  上マージン: 70rpx;
  左マージン: 70rpx;
  幅: 140rpx;
  高さ: 140rpx;
  行の高さ: 140rpx;
  テキスト配置: 中央;
  境界線の半径: 100%;
  背景色: 水色;
}
.回転{
  表示: インラインブロック;
  変換: 回転(-45度);
}

注意: テキスト領域がインライン ブロックでない場合、回転プロパティは有効になりません。

ボタンクリックイベント

ボタン: 関数(e) {
    var ボタンタイプ = e.currentTarget.dataset.type
    console.log(ボタンタイプ)
    スイッチ (ボタンタイプ) {
      ケース 'chaAdd':
        console.log('チャンネルを後戻り')
      壊す
      ケース 'chaDes':
        console.log('チャンネルを転送する')
      壊す
      ケース 'volAdd':
        console.log('音量を強くする')
      壊す
      ケース 'volDes':
        console.log('音量を弱める')
      壊す
      デフォルト:
        コンソールログ('ok')
    }
  }

操作効果

要約する

上記は、編集者が紹介したCSS模倣リモコンボタンです。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残してください。編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

<<:  HTML 5 ワーキングドラフトの謎を解く

>>:  VUE 入門 イベント処理の学習

推薦する

入力選択スタイルを変更する CSS 疑似クラスのサンプルコード

注: この表はW3Schoolチュートリアルから引用したものです疑似要素の分類と機能: 入力選択スタ...

Windows に Docker をインストールする詳細なチュートリアル

ローカルの MySQL バージョンが比較的低いため、最近 MySQL のバージョンをアップグレードす...

Vue の匿名スロットと名前付きスロットの詳細な説明

目次1. 匿名スロット2. 名前付きスロット要約するスロット (slot) は、Vue のコンテンツ...

dockerがredisを再起動するとmysqlデータが失われる問題を解決する

公式ドキュメント:したがって、mysql は次のように起動する必要があります。 docker run...

Docker-compose におけるdepends_on 順序問題を解決する方法についての簡単な説明

コンテナをソートするためにdepends_onを使用しても、コンテナ間の依存関係の問題は完全には解決...

JavaScript を使用して動的に生成されるテーブルの詳細な説明

*ページを作成する: 2つの入力ボックスとボタン*コードと手順/* 1. 入力行と列の値を取得する2...

Jenkins の Publish Over SSH プラグインを使用してプロジェクトをリモート マシンにデプロイする手順

SSH プラグインの使用による公開Publish Over SSH を使用する前に、SSH 秘密キー...

PHP 開発環境の構築に関する win10 docker-toolsbox チュートリアル

画像をダウンロード docker プル mysql:5.7 docker pull php:7.2-...

CentOS 7 で NFS ファイル共有ストレージ サービスを構築するための完全な手順

序文NFS (Network File System) は、ネットワーク ファイル システムを意味し...

Vue3 のレンダリング関数における互換性のない変更の詳細な説明

目次レンダリングAPIの変更レンダリング関数のパラメータレンダリング関数のシグネチャの変更VNode...

HTML5+CSS3 ヘッダー作成例と更新

前回、私たちは 2 つのヘッダー レイアウト (フレックスボックス 1 つとフロート 1 つ) を考...

Zabbix カスタム監視 nginx ステータス実装プロセス

目次Zabbix カスタム監視 nginx ステータス1. ステータスインターフェースを開く2. 監...

JavaScript クロージャの詳細

目次1. クロージャとは何ですか? 2. 閉鎖の役割序文: JavaScript部分ではクロージャが...

iframeを透明にするパラメータ

<iframe src="./ads_top_tian.html" all...

Tableとdivの簡単な紹介と使い方

ウェブフロントエンド1学生証名前性別年01張三男20 02李思女性21総人数60フォームのコンポーネ...