私は仲間の従業員のために社内リソース用の Web アプリを作成しました。ベース テンプレートの一部は単純なダイアログボックスdiv
です。クリックされ、クリックされたボタンに基づいてコンテンツが表示され、隅の X をクリックすると消えます。あなたはルーチンを知っています。body
header
div
したがって、これを行う必要はないと思いますが、基本テンプレートのCSSでダイアログボックスのCSSを記述して、画面上の位置が常に多かれ少なかれあることを確認できていないことがわかりました同じ。代わりに、ダイアログ ボックスのコンテンツのサイズがページごとに変化するため、ダイアログ ボックスのmargin-left
とmargin-right
を任意のページで再定義する必要があるようです。
たとえば、ダイアログ ボックスのベース css はそのようなもので、毎回ベース html テンプレートが読み込まれます。
#dialogBox {
position: absolute;
border: 4px solid;
border-radius: 15px;
cursor: default;
text-align:center;
z-index:1000; /*always on top*/
padding: 10px 0 10px 0;
font-size: 36px;
}
余白がないことに注意してください。ダイアログ ボックスのサイズとその内容の悪質な不一致を引き起こさずに仕事をする単一の余白値は見つかりませんでした。たとえば、コンテンツが非常に大きいと予想されるページでは、余白を次のように設定しました。
#dialogBox {
margin: 5% 10% 0 10%;
}
ただし、コンテンツがはるかに軽量であると予想される場合は、次のページを読み込むときに余白を再度設定して、視覚的な悪ふざけを回避する必要があるようです。
#dialogBox {
margin: 5% 33% 0 33%;
}
これは大したことではありませんが、繰り返します。margin-left
コンテンツの「ゴルディロックス」サイズを維持しながら、divが自然に拡大して等しく維持され、任意のページでオンになるようにするためのより良い方法があると確信していmargin-right
ます-大きすぎず、小さすぎず、いつもちょうどいい。
一部の jQuery ライブラリには、「見栄えの良い」ダイアログ ボックス用の既存のインフラストラクチャがあることに気付きました。それらは画面上をドラッグしてトリックを実行することさえありますが、これは社内の従業員専用の Web アプリのためのものなので、それに興味がないだけです。また、自分で何かを構築する方法を知るのは良いことですよね? 私はこれに慣れていないので、ごまかして大量の CSS を盗むことはできません。そのため、正直に知識を得ようとしています。
問題に関連するコードを省略した場合は、喜んで投稿を編集します。
編集 - dialogBox を包含に配置することに関して、2 つの優れた回答がありdiv
ます。それらをきっぱりと受け入れていない唯一の理由は、いくつかのにもかかわらず、各ページの寸法の側面を再定義する必要があるように見えるからです。ワンアンドダンコード。異なるページの情報は少し違いすぎて、必要に応じてユーザーにページをスクロールさせないようにしたいので、これはおそらく私のせいです。ページごとに dialogBox の幅を設定すると、それが可能になります。CSS に任せてそれができるかどうかはわかりません。
最終編集 - 今のところ、受け入れられた回答が私のプロジェクトにとって最良の解決策であると信じています。