SitePoint Premium Membership限定:Complete ATZ:CSSシリーズチュートリアル!
プレイヤーをロードしてください…ATOZ CSSシリーズのチュートリアルへようこそ!この一連のチュートリアルでは、アルファベットの異なる文字から始まるさまざまなCSS値(およびプロパティ)を調べます。この記事では、フロートとクリア属性、およびさまざまな要素センタリング方法に関する簡単なヒント/コースを追加しました。
フローティングは、要素をページの左または右に移動する場合に役立ちますが、残念ながらfloat: center
を使用して要素を中央に配置することはできません。とても面倒ではありませんか?心配しないでください、ここにさまざまな要素を中心にする方法があります。
テクニック1
要素がブロックレベルの要素である場合、width
とmargin: auto
を組み合わせて使用できます。 margin: auto
左側と右側のマージンを自動的に計算して等しくし、コンテナ要素内のブロック要素を中心にします。 Codepen:Tip-Margin-AutoでSitePoint(@SitePoint)が書いた例をご覧ください。
テクニック2
要素がインライン(またはインラインブロック)要素である場合、その親コンテナにtext-align: center
を使用します。 Codepen:Tip-FlexBoxでSitePoint(@SitePoint)によって書かれた例をご覧ください。
テクニック3
要素が絶対に配置されている場合は、left
およびtransform
を使用して、要素を水平方向に中央に配置します。 Codepen:Tip-FlexBoxでSitePoint(@SitePoint)によって書かれた例をご覧ください。
同様の手法は、垂直センタリング要素にも使用できますが、将来のヒントではさらに紹介されます!
テクニック4
display: flex
FlexBoxには、利用可能なスペースを最大限に活用するために、コンテナ要素の栽培または縮小など、他の多くのクールな機能があります。ブロックレベルとインラインの要素を使用せずに、それぞれ垂直または水平方向のアライメントを決定することなく、要素を垂直および水平方向に同時に整列させることもできます。 FlexBoxを使用するもう1つの利点は、コンテナの折りたたみの問題がなく、ClearFixソリューションを使用する必要がなくなったことです。 justify-content: center
CSSフロートとクリアに関するよくある質問
CSSのフロート属性の目的は何ですか?属性自体が中心アライメントをサポートしないため、少し難しい場合があります。ただし、これを達成するためのいくつかの回避策があります。一般的なアプローチは、指定された幅とマージンをfloat
に設定したラッパーまたは親要素を使用することです。もう1つのアプローチは、FlexBoxまたはグリッドレイアウトを使用することです。これにより、コンテナ内のプロジェクトアライメントとスペース割り当てをより強化します。 auto
属性は、clear
属性とともに使用されます。要素のどの側面が浮かないようにしていることを指定します。 float
属性の値は、clear
、none
、left
、right
、both
、およびinherit
です。このプロパティは、通常、要素が浮遊要素を囲むのを防ぐために使用されます。
フローティング要素が予想どおりに整列されていない場合、それはいくつかの理由が原因である可能性があります。一般的な問題は、浮動要素の総幅(マージン、充填、境界を含む)がコンテナ要素の幅を超えることです。別の問題は、すべての要素が同じ方向に浮かんでいるわけではないということです。また、ドキュメントの通常の流れから浮動要素が削除されることを忘れないでください。これは、予期しない結果につながる場合があります。
clear
属性を使用して、CSSのクリアフローチをクリアできます。これは通常、コンテナに浮動要素が含まれており、コンテナ内の他の要素が浮動要素を囲むことを望まない場合に必要です。コンテナの端に新しい要素を追加し、clear
属性を「両方」に設定することにより、フロートをクリアできます。または、ClearFixハックを使用することもできます。クリアフィックスハックには、コンテナ自体にclear
属性を含む擬似エレメントを適用することができます。
FlexBoxまたはグリッドレイアウトを使用してfloat
属性を技術的に使用できますが、これは推奨されません。これは、FlexBoxおよびグリッドのレイアウトが、コンテナ内のアイテムのスペースを調整および割り当てる独自のメカニズムを提供するためです。 FlexBoxまたはグリッドのレイアウトを使用している場合は、float
の代わりにプロパティを使用する方が良いでしょう。 float
属性はCSSの強力なツールですが、より制御と柔軟性を提供するいくつかの選択肢があります。これらには、FlexBox、グリッドレイアウト、CSSポジショニングが含まれます。 FlexBoxを使用すると、コンテナ内のプロジェクトのスペースの簡単なアラインメントと割り当てが可能になりますが、グリッドレイアウトは複雑な2Dレイアウトを作成するのに最適です。 CSSポジショニングは、各要素のレイアウトを制御するためにも使用できます。 float
float
属性は、中心アラインメントをサポートしていません。要素が左または右にのみフローチすることができます。ただし、指定された幅とマージンをauto
に設定したラッパーまたは親要素を使用することにより、同様の効果を達成できます。または、Alignmentをより多くの制御を提供するFlexBoxまたはグリッドレイアウトを使用することもできます。
フロートをクリアしない場合、予期しないレイアウト結果につながる可能性があります。たとえば、親要素に浮動要素のみが含まれている場合、フローティング要素がドキュメントの通常の流れから削除されたため、崩壊する可能性があります。ドキュメント内の他の要素は、予期しない方法で浮動要素を囲むこともできます。したがって、通常、必要に応じてフロートをクリアすることが最善です。
以上がATOZ CSSクイックヒント:フロートとクリアとセンタリング要素の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。