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 入門 イベント処理の学習

推薦する

Tomcat9 Windows サービスのインストールに関する詳細なチュートリアル

1. 準備1.1 service.bat を含む tomcat 圧縮パッケージをダウンロードします。...

div タグ内の要素の margin-top が無効である場合の解決策

タイトル通りです。その質問は非常に奇妙です。要素の親タグはdivで、幅や高さなどの属性は設定されてい...

Windows 10 での MySQL 5.7.17 のインストールと設定方法のグラフィック チュートリアル

この記事では、最新バージョンの MySQL データベース、つまり MySQL 5.7.17 圧縮バー...

Centos8 で NIS ドメイン サービスをセットアップおよび構成するための詳細な手順

目次NIS の紹介ネットワーク環境: 1. 環境の準備(両方のノードが必要) 2.nisマスターサー...

Vueリストデータを削除した後、ページを自動的に更新する方法と更新方法の詳細な説明

問題の説明:フロントエンドがデータの一部を削除したり、新しいデータを追加したりすると、バックエンドの...

WeChatミニプログラムはどのようにしてユーザー情報とユーザーの電話番号を同時に取得するのか

今日ログインページを書いていたとき、個人情報と携帯電話番号を認証する必要がありましたが、ページにボタ...

JavaScriptの基本構文とデータ型の詳細な説明

目次JavaScript のインポート1. 内部ラベル2. 外部紹介基本的な構文データ型番号弦ブール...

Docker で Let's Encrypt から永久無料 SSL 証明書を取得する方法

1. 原因公式の cerbot は面倒すぎます。野生の成長よりもさらに悪い acme.sh の使用は...

Tomcat サーバーが tomcat7w.exe を開けない場合の解決策

今日、Tomcat サーバーの設定時にちょっとした問題が発生したので、参考までにいくつかご説明したい...

Angular環境構築と簡単な体験のまとめ

Angular入門Angular は、Google が開発したオープンソースの Web フロントエン...

MySQL の union と union all の簡単な分析

データベースでは、UNION キーワードと UNION ALL キーワードの両方が 2 つの結果セッ...

ReactのuseEffectクロージャの落とし穴についての簡単な説明

問題コードuseEffectによって発生したクロージャの問題コードを見てみましょう 定数 btn =...

JavaScript と JQuery フレームワークの基本チュートリアル

目次1. JS オブジェクトDOM –1、機能–2、テスト3. jQuery –1. 概要–2、使用...

MySQL を使用した分散ロックの実装

導入分散システムでは、分散ロックは最も基本的なツール クラスです。たとえば、支払い機能を備えた 2 ...