『CSS Secrets』は @Lea Verou による最新の本で、CSS に関する小さな秘密がいくつか説明されています。これは CSSers にとって読む価値のある本です。一定期間読んだ後、私、@全域と @彦子は、関連する読書感想文を W3cplus で公開し、皆さんと共有します。
問題
Web デザインにおいて、スティッキー フッター デザインは、ほとんどの人が一度は経験したことがある最も古く、最も一般的な効果の 1 つです。これは次のように要約できます。ページのコンテンツが十分な長さでない場合、フッター ブロックはウィンドウの下部に貼り付けられます。コンテンツが十分な長さの場合、フッター ブロックはコンテンツによって押し下げられます。
この効果は遍在していて人気があるだけでなく、驚くほど簡単に達成できるように見えます。しかし、実際の導入には予想以上に時間がかかりました。さらに、CSS 2.1 のソリューションでは、ほとんどの場合、フッターの高さが固定に設定されます。これは非常に脆弱であり、実現可能であることはほとんどありません。実際、この効果を実現するには複雑すぎて、特定のタグといくつかのハック方法を追加する必要もあります。 CSS2.1 にはいくつかの制限がありますが、最新の CSS を使用すると、この効果をさらに向上させることができます。どうすればよいでしょうか?
この効果を見たことがないか、この問題に関する情報に興味がある場合は、Web 開発者の多くのアイデアと解決策を提供する人気の記事を以下に示します。
- CSS スティッキー フッター レイアウト
- Ryan Fait の CSS Sticky Footer
- Sticky Footer
- Sticky CSS フッター: 柔軟な方法
- モダンでクリーンな CSS "Sticky Footer"
最後の 2 つは最もクリーンな実装ですが、それでも独自の制限があります。
高さの固定ソリューション
要素の下でいくつかの一般的な HTML タグ要素を使用します。
<header> <h1 id="Site-name">Site name</h1></header><main> <p>Bacon Ipsum dolor sit amet... <!-- Filler text from baconipsum.com --></p></main><footer><p>© 2015 No rights reserved.</p><p>Made with ♥ by an anonymous pastafarian.</p></footer>
ページの基本スタイルをいくつか記述します。表示される効果は次のとおりです。
次に、コンテンツをいくつか減らしてみましょう。以下に示すように、何が起こるかを確認できます。
問題はありますが、どうすれば解決できますか?
フッター テキストがコンテナーからオーバーフローしないと仮定すると、コンテナーの高さを導き出すことができます。
2行 * 行高 + 3 x 段落的margin + 垂直的padding = 2 x 1.5em + 3 x 1em + 1em = 7em
同様に、ヘッダーの高さは 2.5em です。したがって、ビューポートの相対単位と calc() を使用すると、CSS の 1 行でスティッキー フッター効果を実現できます。
main { min-height: calc(100vh - 2.5em - 7em); /* Avoid padding/borders screwing up our height: */ box-sizing: border-box;}
あるいは、コンテナを使用して
#wrapper { min-height: calc(100vh - 7em);}
これは、主に次の理由により、既存の高さ固定ソリューションよりもわずかに優れているように見えます。そのシンプルさ。ただし、レイアウトが単純であることを除けば、これは実用的ではありません。ラッピングするフッターテキストコンテナの高さを毎回計算する必要があるため、コンテナの最小高さを毎回計算する必要があります。タイトルとコンテンツをラップするために HTML コンテナを追加したい場合は別ですが、それは重要です。確かに、この時代では、私たちはもっと良くできるはずですよね?
Flexbox ソリューション
Flexbox は、この種の問題を解決するのに最適なソリューションです。これを完全に実現するには、数行の CSS コードが必要なだけで、奇妙な計算をしたり、余分な HTML 要素を追加したりする必要はありません。まず、
要素に display:flex を設定する必要があります。親要素 ( ) のブロック要素が 3 つあり、レイアウトを切り替えるために Flexbox を使用する場合、 flex-flow:column も設定する必要があります。そうしないと、3 つのブロックが並んでしまいます。以下に示すように:
body { display: flex; flex-flow: column;}
この時点では、各要素が占めるビューポートの高さはそのコンテンツによって決まるため、ページは以前と同じように見えます。このように、Flexbox は真に活用されていないと言えます。
実用的な観点からは、
のコンテンツがウィンドウ全体を占めることができるように、 の min-height 値を 100vh に設定する必要があります。窓の高さ。これは完了していますが、効果は次の図のようになります:
に最小の高さが指定されている場合でも、各ボックスの高さは依然としてボディのサイズに依存します。その内容。
ここではヘッダーとフッターの高さを設定する必要がありますが、コンテンツの高さは残りのスペースに合わせて自動的に調整されます。
body { display: flex; flex-flow: column; min-height: 100vh;}main { flex: 1; }
の flex 値を 0 より大きく設定できます:
flex プロパティは、flex-grow、flex の 3 つのプロパティの略称です。 -縮小とフレックスベース。いずれかの要素が flex を 0 より大きく設定すると、要素はコンテナーの残りのスペースに合わせてサイズを柔軟に制御します。たとえば、

htmlisnotaprogramminglanguage; itisamarkuplanguage.1)htmlStructuresandformatswebcontentusingtags.2)ItworkswithcsssssssssdjavascriptforInteractivity、強化を促進します。

HTMLは、Webページ構造の構築の基礎です。 1。HTMLは、コンテンツ構造とセマンティクス、および使用などを定義します。タグ。 2. SEO効果を改善するために、などのセマンティックマーカーを提供します。 3.タグを介したユーザーの相互作用を実現するには、フォーム検証に注意してください。 4. JavaScriptと組み合わせて、動的効果を実現するなどの高度な要素を使用します。 5.一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれ、検証ツールが必要です。 6.最適化戦略には、HTTP要求の削減、HTMLの圧縮、セマンティックタグの使用などが含まれます。

HTMLは、Webページを構築するために使用される言語であり、タグと属性を使用してWebページの構造とコンテンツを定義します。 1)htmlは、などのタグを介してドキュメント構造を整理します。 2)ブラウザはHTMLを分析してDOMを構築し、Webページをレンダリングします。 3)マルチメディア関数を強化するなど、HTML5の新機能。 4)一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれます。 5)最適化の提案には、セマンティックタグの使用とファイルサイズの削減が含まれます。

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

HTMLの役割は、タグと属性を使用してWebページの構造とコンテンツを定義することです。 1。HTMLは、読みやすく理解しやすいようなタグを介してコンテンツを整理します。 2。アクセシビリティとSEOを強化するには、セマンティックタグなどを使用します。 3. HTMLコードの最適化により、Webページの読み込み速度とユーザーエクスペリエンスが向上する可能性があります。

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 中国語版
中国語版、とても使いやすい

Dreamweaver Mac版
ビジュアル Web 開発ツール
