ここでは、ブロックレベル ボックスのデフォルトの幅、幅のない絶対配置ボックス、幅のないフローティング ボックスなどを中心に、CSS ボックス モデルの概念と応用について説明します。この記事を学習することで、CSS ボックス モデルの概念と使用法について深く理解できるようになると思います。 CSS ボックスモデル Web デザインにおけるすべての要素は長方形のボックスです。ボックスのサイズを正確に計算する方法については、以下の図を参照してください。
このチャートは、ページ上の任意のボックスに作用する値を表示するのに最適です。 上記の両方の例では、余白が白であることに注意してください。マージンはボックス自体のサイズには影響しないという点で特別ですが、 ボックスに関連する他のコンテンツに影響するため、マージンはボックス モデルの重要な部分です。 ボックス自体のサイズは次のように計算されます。 幅 = 自身の幅 + 左パディング + 右パディング + 左ボーダー + 右ボーダー 高さ = 自身の高さ + 上部パディング + 下部パディング + 上部ボーダー + 下部ボーダー 未宣言の値 パディングまたはボーダーが宣言されていない場合は、ゼロ(cssreset を使用する場合)またはブラウザのデフォルト値(通常はリセットされないフォーム要素の場合は特に、ゼロ以外の値になる可能性が高い)になります。 ブロックレベルボックスのデフォルトの幅 幅が宣言されておらず、ボックスが静的であるか、CSS ボックス モデル内で相対的に配置されている場合、幅は 100% のままで、パディングと境界線は外側に広がるのではなく内側に押し込まれます。 ただし、ボックスの幅を明示的に 100% に設定すると、パディングは外側に拡張されます。
私が抱えていた最大の問題は、textarea 要素でした。textarea 要素は、「cols」属性の希望する幅に設定する必要があり、子要素を含めることはできません。そのため、通常はテキストエリアの幅を明示的に 100% に設定する必要がありますが、パディングがある場合はテキストエリアの幅が拡張されます。固定幅環境では、通常、これを適切なピクセル値の幅に設定できますが、可変幅環境ではそうはいきません。 幅のない絶対位置のボックス CSS ボックス モデルで幅が指定されていない絶対位置のボックスは、動作が少し異なります。幅は、含まれるコンテンツに応じて適切である必要があります。したがって、ボックス内に単語が 1 つしかない場合、ボックスの幅はその単語の表現と同じになります。 2単語になると、ボックスの幅もそれに応じて大きくなります。 これは、ボックスの幅が親要素(相対的に配置された最も近い親要素またはブラウザ ウィンドウ)の幅の 100% に達するまで続き、その時点でボックスは折り返されます。 幅のないフロートボックス 幅のない絶対配置ボックスと同じように動作します。 CSS ボックス モデルの幅は、含まれるコンテンツの幅、つまり親要素の幅まで拡張する必要があります (親を相対的に配置する必要はありません)。これらの幅のないボックスは壊れやすいため、全体的なページレイアウトなどのミッションクリティカルなパターンには依存できないという教訓が得られます。サイドバーとして使用するために列をフロートし、内部要素 (画像など) がその幅を制御することを期待すると、問題が発生します。 インライン要素もボックスである ここでは、ブロックレベル要素のボックスに焦点を当ててきました。ブロックレベル要素をボックスと考えるのは簡単ですが、インライン要素もボックスです。これらは非常に長くて狭い長方形と考えることができます。他のボックスと同様に、余白、パディング、境界線を持つこともできます。 折りたたむと少しわかりにくくなります。上記の左余白はボックスを右に押し出しますが、ボックスが始まる最初の行でのみ機能します。パディングは通常、テキストの上部または下部に適用されます。行が区切られると、前の行のパディングは無視され、行の高さで必要な位置から開始されます。背景を透明にすることで、効果がより鮮明に見えるようになります。 詳細については、 http://www.csschina.net/a/jc/css_646.htmlを参照してください。 【編集者のおすすめ】
|
<<: ハッカーがGSMアルゴリズムを破り、携帯電話ユーザーが盗聴の危険にさらされる
>>: Zigbeeプロトコルスタックの暗号化アルゴリズムについての簡単な説明
良いロボット掃除機が動いているところを見たことがありますか?最初は楽しいのですが、掃除してほしかった...
[[218293]]はじめに:この記事では主に、アリババのリアルタイムビッグデータと関連する機械学...
データの不足から現在では大量のデータが存在するまで、近年では利用可能なデータの量が飛躍的に増加し、ビ...
[[357620]]科学技術の発展に伴い、人類は機械工学、材料科学、電子技術、自動制御、コンピュータ...
ドローンについては皆さんもよくご存知だと思います。近年、無人運用の需要が継続的に高まり、さまざまな最...
英国のメディア組織Tortoise Mediaは最近、2023年の世界AI指数ランキングを発表しまし...
9月9日午前、雁塔区未来工業城で未来人工知能コンピューティングセンターの開設式が行われた。同イベント...
コンピュータは以前から数学の証明を検証するために使用されてきましたが、特別に設計された証明言語を使用...
編集・執筆:Yifeng制作:51CTO テクノロジースタック(WeChat ID:blog) 3月...
チャットボットの人気が高まるにつれて、競合するアプリケーション フレームワークが多数登場しました。 ...
今日の社会では、ロボットはますます人間とつながるようになっています。産業用ロボットが組立ラインで忙し...
[[435974]]本日、TensorFlow 公式ブログで TensorFlow Graph N...
火災による被害は明らかですが、火災の予防と制御は容易ではありません。たとえば、森林火災は、その範囲が...