最近私の記事を読んだ人なら誰でも、私が現在WeChatミニプログラムプロジェクトを担当しており、その中で多くの興味深いことやいくつかの「奇妙なアイデア」に遭遇したことをご存知でしょう。この記事の背景は、ある朝、wxml ファイル内に 前回の記事[WeChatアプレットカスタムコンポーネントライブラリのyPickerコンポーネントの分析と省、市、地区間の3レベルリンクの実装]に続いて、省、市、地区間の3レベルリンクのカスタム実装という例を分析しました。詳細なコードが含まれているため、ここではこれ以上説明しません。呼び出し方法について説明します。 当時の私の考えはこうです。一方では「JavaScript で書きすぎない」という配慮から、他方では、それぞれ 3 つの変数を使用して、province、city、district を実装したため、JavaScript ではこの 3 つの変数のみに注意が向けられ、その間にあるスペースなどはすべて wxml ファイルに取り込まれてしまう、というものでした。このような: <view class="部門の場所" bindtap="fixedshow"> <view class="depart_title">場所</view> <view wx:if="{{provinces&&citys&&areas}}" class="placeholder decent_content">{{provinces}} {{citys}} {{areas}}</view> <view class="placeholder decent_content befselect" wx:else>現在の場所を選択してください</view> <view class="desc">変更がある場合は、修正して再度送信してください</view> </ビュー> (呼び出しにはその後の変更が含まれるため、ポップアップ ウィンドウの [確認] ボタンをクリックするのは、イベントのこのコードに表示される 3 つの変数に 3 つの変数を割り当てるときだけです。それ以外の場合、変更が行われると、[キャンセル] をクリックしても [確認] をクリックしても、変更は既に行われており、これは適切ではありません。) レイアウトは次のとおりです。 .部門{ 幅: 100%; 高さ: 96rpx; ディスプレイ: フレックス; アイテムの位置を中央揃えにします。 フォントサイズ: 36rpx; フォントの太さ: 347; テキストオーバーフロー: 省略記号; オーバーフロー: 非表示; 空白: ラップなし; } 。位置{ 位置: 相対的; 下境界線: 1rpx実線rgba(0,0,0,.009); ディスプレイ: フレックス; align-items:flex-start; パディングトップ: 20rpx; } .desc{ 位置: 絶対; 右: 19rpx; 下部: 4rpx; 色: rgb(63,142,255); フォントサイズ: 23rpx; } .部門 .depart_title{ 幅: 20%; } .部門 .depart_content{ 左マージン: 10%; テキストオーバーフロー: 省略記号; オーバーフロー: 非表示; 空白: ラップなし; } .部門.プレースホルダー{ 幅: 69%; テキストオーバーフロー: 省略記号; オーバーフロー: 非表示; 空白: ラップなし; } ここで wx:if を置き換えることを決定したら、まず何に置き換えるかを考える必要があります。 さて、これを考えると、CSS 疑似クラス: <view class="部門の場所" bindtap="fixedshow"> <view class="depart_title">場所</view> <view class="placeholder decent_content">{{provinces}} {{citys}} {{areas}}</view> <view class="desc">変更がある場合は、修正して再度送信してください</view> </ビュー> 次に、この疑似クラスをクラス - decent_content に追加します。 .placeholder:empty::before{ 内容: 「現在の場所を選択してください」; 色: rgba(0,0,0,.6); } 空白です! 情報を確認した後:
最終的な解決策は、js 内で 3 つの変数をスペースで接続し、ページにレンダリングすることです。 (実際、これはカスタム セレクターであり、自動配置は Amap にリクエストを送信して、州、市、地区のフィールドを取得するだけです。コードは書きません...) この時点で、1 つのことがわかります。上記では、空の疑似クラスだけでなく、before 疑似要素も使用していました。 実際、これは非常に一般的です。結局のところ、空要素だけがコンテンツを追加できるのです(CSS 全体を通して、before や after などの疑似要素だけが、テキストであれ画像であれ、ページにコンテンツを追加できるようです)。 もっと注意を払うべき領域が 2 つあると思います。
この機能は非常に便利です。 上記から、この疑似クラスの最大の用途は「フィールド不足プロンプト」であることがわかります。これは非常に実用的です。さらに、このタスクを CSS に任せることで、「(レイアウト) の負担」を大幅に軽減し、エクスペリエンスを向上させ、メンテナンスを容易にすることもできます。 たとえば、プロジェクトを最適化するときに、要求されたすべてのフィールドに統一されたクラス名を追加しました。 .ym-empty:empty::before{ 内容:「データがありません。もう一度お試しください」 表示: ブロック; テキスト配置: 中央; 色: rgba(0,0,0,.6); /** その他の配置とフォント変更操作*/ } これで、私の目を引いた CSS 疑似クラス: empty に関する記事は終わりです。CSS 疑似クラス empty の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 |
<<: SpringBoot プロジェクトの Docker クイック デプロイメントの紹介
>>: ブラウザタブの左端に表示されるウェブサイトのアイコンを設定します
目次1. Nginx の紹介2. 画像サーバーの構築1. Nginx の紹介Nginx はリバース ...
目次概要1. NULL値のテスト2. ユーザー入力を読み取る導入事実の根源はどこにあるのでしょうか?...
Baiduクラウドディスク:リンク: https://pan.baidu.com/s/1hv5rUW...
序文smb は、クライアントとサーバー間の Web 接続および情報通信に使用できるプロトコルの名前で...
この記事では、JavaScriptの長い画像スクロールの具体的なコードを参考までに共有します。具体的...
Vue+Openlayerはmodifyを使って要素を変更します。具体的な内容は以下のとおりです。 ...
序文セキュリティ上の理由から、会社が Linux サーバーへのすべてのログインにセキュリティ制限を課...
1. Apacheをインストールする # yum インストール -y httpd httpd-de...
insとdel は、HTML 4.0 で導入され、文書の作成時に作成者が共同作業できるようにし、また...
目次1. 配列誘導1. 文字列を配列に分割する2. コレクションとマップを新しい配列に変換する3. ...
1. はじめにMySQL ロックは、その範囲に応じて、グローバル ロック、テーブル ロック、行ロック...
1. web01にzabbix-agentをインストールするZabbix ウェアハウスをデプロイする...
ネイティブJavaScriptを使用してカウントダウンを簡単に実装します。参考までに、具体的な内容は...
長い間何もしていなかった人は、努力をすると一生懸命働いていると思うようになります。 1. 問題Nav...
dockerの登場により、多くのサービスが徐々にハードウェアアーキテクチャへの依存から脱却しました。...