例
は Android 4.0.4+ と互換性があります:
デザイン構造は次のとおりです:
<header class="header"></header> <p class="wrap-page"> <section class="page"></section> ... </p> <footer class="footer"></footer> <p class="overlay"> <section class="modal"> <p class="modal-hd"></p> <p class="modal-bd"></p> <p class="modal-ft"></p> </section> </p>
このオーバーレイ マスク レイヤーの問題点。なぜこのようにデザインされているかを説明します。 。
一般的に、表示されるオーバーレイは、入れ子になった関係ではなく、モーダルの兄弟要素です。もともとこのように設計していましたが、それはただの習慣です。その後、モーダルのセンタリングの問題により、次の質問を再検討しました:
マスク レイヤーのオーバーレイ コンテンツとポップアップ コンテンツは兄弟要素であるのはなぜですか?
正直に言うと、なぜ兄弟愛でなければならない理由が思いつきません。後で、前のマスクレイヤーが半透明の画像を使用していない場合は、不透明度を使用する必要があることに突然気づきました(ie6-8は不透明度をサポートしていません。フィルターを通してシミュレートされています)、この属性は子要素全体に影響します、子要素を介してこの値をオーバーライドする方法はありません。これが私が思いつく最大の理由ですが、他にも理由がある場合は、お気軽に共有してください。
ハイエンドのモバイル端末では、rgba の時代なので、opacity は家に帰って最初に食べます。子要素への影響が問題にならないため、ネスト関係を確立できます。水平方向と垂直方向の中央揃えには、小指を動かすだけで十分な理由があります。兄弟要素を水平方向と垂直方向の中央に配置するには、モーダルの上と左の値を 50% に設定し、次に、translate の x 方向と y 方向を -50% に設定する必要があります
したがって、兄弟要素を思い切って放棄します設計し、ネストされた関係に置き換えます。
オーバーレイはフレックス レイアウトを使用して子要素のセンタリングを制御するため、display as none/block を使用してマスク レイヤー オーバーレイを表示または非表示にすることは難しくありません。代わりに、z インデックス レベルとモーダル部分を追加、削除するこのクラスで表示と非表示を制御します
scssコードは次のとおりです:
.overlay{ position: fixed; top: 0; rightright: 0; bottombottom: 0; left: 0; z-index: -1; background-color: rgba(0,0,0,.8); @include flex-center; // flex水平垂直居中 } .overlay.active { z-index: 980; } $modalBarHeight: 40px !default; $modalBdPadding: 15px; .modal{ background-color: #fff; border-radius: 5px; margin: 0 10px; overflow: hidden; opacity: 0; @include transform(translate3d(0,0,0) scale(0.815)); @extend %all-transition; @include transition-property(transform, opacity); &.modal-in{ opacity: 1; @include transform(translate3d(0,0,0) scale(1)); } .modal-hd{ text-align: center; line-height: $modalBarHeight; background-color: $primary; color: #fff; } .modal-bd{ padding: $modalBdPadding; } .modal-ft{ border-top: 1px solid $gray; @extend %display-flex; .btn-modal{ @include flex(1); background-color: #fefefe; text-align: center; line-height: $modalBarHeight; color: $primary; &:first-child{ border-right: 1px solid $gray; } &:last-child{ border-right: none; } &:hover,&:active{ background-color: #d9d9d9; } } } }
モバイル端末でポップアップウィンドウをシミュレートするとき、いくつかの問題に遭遇しましたが、記憶を深めるために次のように要約されます。
本体の高さがビューポートの高さより大きい場合、ポップアップ ウィンドウ上をスライドすると、本体もそれに伴ってスライドします。
解決策:
/** * 初始化弹窗 */ var initDialog = (function() { var _tmpl = baidu.template('dialog-tpl', {}); return { tmpl : $(_tmpl), /** * [create 创建弹窗] * @return {[type]} [description] */ create: function() { var me = this, _tmpl = me.tmpl; $('body') // 禁用鼠标滚轮滚动 .css('overflow', 'hidden') .append(_tmpl) // 禁止touchmove,阻止body滑动 .on('touchmove', function(e) { e.preventDefault(); }) // 关闭动作 .on('tap', 'dialog-close', function() { me.destroy(); }) }, /** * [destroy 销毁弹窗] * @return {[type]} [description] */ destroy: function() { this.tmpl.remove(); // 解除touchmove绑定、启用滚动 $('body').off().css('overflow', 'auto'); } } })();
ケース 2:
ソフト キーボードがポップアップすると、カスタム ポップアップ ウィンドウが全画面に表示されない
解決策:
$(“:focus”).blur();
ケース 3:
トーストコンポーネントを実装するとき、トーストが
position:fixed;bottom:-3rem; を使用する場合、つまり、通常の考え方によれば、トーストが比較的底に近い場合、ただし、IOS および Andriod UC ブラウザでは、キーボードがブラウザ全体の上位層にあるため、z-index を設定してもトーストがカバーされてしまいます。 。
解決策のアイデア:
<style type="text/css"> body { text-align: center; } input[type=text] { width: 80%; height: .8rem; margin-top: .3rem; } .toast { position: fixed; bottombottom: .3rem; left: 50%; margin-left: -1rem; width: 2rem; height: 1rem; background-color: #f00; border-radius: 10px; color: #fff; } </style> <input type="text"> <p class="toast">Toast</p>
以上がSCSS モバイル ページ マスク レイヤー効果の実装と一般的な問題の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Goofontsは、開発者妻とデザイナーの夫によって署名されたサイドプロジェクトであり、どちらもタイポグラフィの大ファンです。 Googleにタグを付けています

Pavithra Kodmadは、彼らが変化したWeb開発に関する最も時代を超越した記事のいくつかであると考えていることについて、人々に推奨事項を求めました

GraphQL APIの構築方法を学ぶことは非常に挑戦的です。ただし、10分でGraphQL APIを使用する方法を学ぶことができます!そして、それは私が完璧になったことがあります

ここでは、Yuanchuanからの合法的なCSSの策略があります。このCSSプロパティオフセットパスがあります。むかしむかし、それはモーションパスと呼ばれ、その後改名されました。私


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン
