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

推薦する

MySQLデータベースをアンインストールするための完全な手順

MySQLデータベースを完全にアンインストールするプロセスは次のとおりです。 1. MySQLサービ...

Xmeter APIインターフェーステストツールの使用状況の分析

XMeter API は、以下のサービスを含む、JMeter に基づくワンストップのオンライン イン...

MySql Installer 8.0.18 画像とテキストによるビジュアル インストール チュートリアル

目次1. MySQL 8.0.18のインストール2. 環境変数を設定する3. 接続テスト1. MyS...

CSS と JS を使用して下線効果を実装する方法の例

この記事では、主に 2 種類の下線の動的効果について説明します。1 つ目は、ホバーすると X 軸が内...

Centos7 での MySQL のインストールに関するチュートリアル

最近、自宅サーバーにクラウドディスクを導入する予定なので、一連の環境構築作業を始めました。MySQL...

純粋な CSS でマークダウンの自動番号付けを実装するサンプル コード

問題の起源私がタイトルの番号付けの問題に初めて注目したのは、学部の論文を書いていた頃まで遡ります。当...

MySQL はパスワード強度の検証をオフにします

パスワード強度検証について: [root@mysql mysql]# mysql -uroot -p...

HTML テーブル マークアップ チュートリアル (16): タイトルの水平方向の配置属性 ALIGN

デフォルトでは、表のタイトルは水平方向に中央揃えされます。ALIGN 属性を使用して、タイトル テキ...

VueはBaidu Mapsを使用して都市の位置特定を実現

この記事では、参考までに、Baidu Mapsを使用して都市の位置特定を実現するVueの具体的なコー...

Axios はリクエストをキャンセルし、重複リクエストを回避します

目次起源現状リクエストをキャンセル cancelTokenリクエスト方法の変更重複したリクエストを避...

純粋なJSを使用してセカンダリメニュー効果を実現します

この記事の例では、セカンダリメニュー効果を実現するためのJSの具体的なコードを参考までに共有していま...

DockerコンテナでLNMPをコンパイルする例

目次1. プロジェクトの説明2. Nginxイメージの作成3. MySQLイメージの作成4. PHP...

Linux でハイパースレッディング技術を動的に有効/無効にする方法の詳細な説明

序文Intel のハイパースレッディング テクノロジーにより、1 つの物理コア上で 2 つのスレッド...

CSS3 シンプルカットカルーセル画像実装コード

実装のアイデアまず、親コンテナーを作成し、2 つの順序なしリストを使用して、柔軟なレイアウトで親コン...

Eclipse/Tomcat でホットデプロイメントとホットスタートを実装する方法

1. ホット デプロイメント: コンテナの実行中にプロジェクト全体を再デプロイすることを意味します。...