インライン要素のブロックレベルの要素への変換を調べる_html/css_WEB-ITnose

WBOY
リリース: 2016-06-24 11:39:10
オリジナル
1898 人が閲覧しました

インライン要素とブロックレベル要素は、フロントエンドにとって非常に重要な概念です。 CSS では、ブロック レベルの要素のみが物理属性を持ち、要素には 3 つの形式があります:

1. ブロック レベルの要素: 物理属性があり、幅と高さの書き込み値が機能し、1 行を占有する必要があります。
2. インライン要素: 物理属性はありません。ただし、マージンとパディングの値は便利です。これは行を占有せず、その後に兄弟要素を続けることができます。
3. ブロックとラインは両方とも兄弟要素に基づいて決定されます。

一般的に、インライン要素とブロックレベル要素を変換する場合は、表示属性を追加します。インライン→ブロックレベル、表示:ブロック; ブロックレベル→インライン、表示:インライン

これも誰もがよく知っている方法です。そして今日は、float を使用してインライン要素をブロックレベル要素に変換するのを見ました。出来ますか?やるだけやってみよう。

 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="charset=utf-8"/> 5     <title></title> 6     <style type="text/css"> 7         p{  8             background-color:yellow; 9         }10         a{ 11             background-color: silver;12         }13     </style>14 </head>15 <body>16     <p>test_1</p>17     <p>test_2</p>18     <p>test_3</p>19     <a href="#">我是链接</a>20 </body>21 </html>
ログイン後にコピー

p は一般的に使用されるブロックレベル要素であり、a は一般的に使用されるインライン要素です。黄色はドキュメント フローの 1 行を占め、銀はコンテンツのその領域のみを占めます。

それらに物理的属性を追加しましょう。

<style type="text/css">		p{ 			background-color:yellow;			width: 100px;			height: 100px;		}		a{ 			background-color: silver;			width: 100px;			height: 100px;		}</style>
ログイン後にコピー

1-1

ブロックレベルの要素

は影響を受けますが、 は影響を受けないことがわかります。

要素にフローティング属性を追加しましょう。

<style type="text/css">		p{ 			background-color:yellow;			width: 100px;			height: 100px;		}		a{ 			background-color: silver;			float: left;			width: 100px;			height: 100px;		}</style>
ログイン後にコピー

1-2

要素に float 属性を追加すると、最初に設定した幅と高さが有効になっていることがわかります。 要素の後に を追加すると、次のようになります。

1-3

結論: float はインライン要素を暗黙的にブロック要素に変換し、内部的に物理プロパティを持ちます。外部的には、これは依然として inline 要素の属性であり、行を占有しません。

float はインラインでブロックレベルに変換できるため。では、ポジションを利用することは可能でしょうか?

<style type="text/css">		p{ 			background-color:yellow;			width: 100px;			height: 100px;		}		a{ 			background-color: silver;			position: absolute;			width: 100px;			height: 100px;		}</style>
ログイン後にコピー

ポジション使用後の効果は「1-2」と同じであることが分かりました。つまり、position はインライン要素をブロックレベルの要素に変換することもできます。絶対的な使用に関して。これは、absolute では要素が文書構造から外れてしまうためであり、float と同じです。さらに、ここで 2 つの 要素が設定されている場合、最初の は 2 番目の 要素によってカバーされます。複数ある場合は、「後から順」の原則に従います。

つまり、float であれ、position であれ、それらを使用すると、インライン要素を暗黙的なブロックレベルの要素に変換できますが、兄弟要素に影響を与えるという欠点があります。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!