検索
ホームページウェブフロントエンドhtmlチュートリアルいくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題

このシリーズを開始して、いくつかの興味深い CSS トピックについて説明します。実用性はさておき、いくつかのトピックは、問題を解決するためのアイデアを広げることを目的としています。また、見落とされがちな CSS の詳細も含まれています。

問題を解決する際に互換性は考慮されません。質問は自由で、思いついたことを何でも言ってください。問題を解決する際に馴染みのない CSS プロパティがある場合は、できるだけ早く学習してください。

更新し続けて、更新し続けて、更新し続けて、重要なことは3回言います。

興味深い CSS トピックについて話しましょう (1) -- 左側の垂直バーを実装する方法

CSSの面白い話題について話しましょう(2) – ストライプボーダーの実装からボックスモデルについての話

興味深い CSS トピックについて話しましょう (3) – スタック順序とスタック コンテキストについてどれくらい知っていますか

いくつかの興味深い CSS トピックについて話しましょう (4) – リフレクションから始めて、CSS の継承継承について話しましょう

いくつかの興味深い CSS トピックについて話しましょう (5) - 1 行を中央揃え、2 行を中央揃え、3 行以上を省略する

すべてのトピックは私の Github にまとめられています。

6. 完全に互換性のある複数列の均一なレイアウトの問題

次の複数列の均一なレイアウトを実現する方法 (コンテナの幅を示すために、画像内の直線は含まれていません):

いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題

方法 1: display:flex

CSS3 フレキシブル ボックス (フレキシブル ボックスまたはフレックスボックス) は、ページがさまざまな画面サイズやデバイスの種類に適応する必要がある場合でも、要素がより適切に配置されるようにすることができるレイアウト方法です。

もちろん、フレックス レイアウトはモバイル アプリケーションに適しています。PC に完全な互換性が必要な場合は、互換性だけでは十分ではないため、ここでは省略します。

方法 2: 疑似要素と text-align:いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題

を使用する

は次のように定義されます HTML スタイル:

リーリー

テキストの両端を揃える効果を実現できる text-align:いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題 があることはわかっています。

text-align CSS プロパティは、インライン コンテンツ (テキストなど) をそのブロックの親要素に対してどのように配置するかを定義します。 text-align は、ブロック要素自体の配置を制御せず、そのインライン コンテンツの配置のみを制御します。

text-align:いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題は、テキストが両側に揃えられていることを意味します。

最初は、次の CSS を使用して実現できるのではないかと考えました:

リーリー

结果如下:

いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題

 

Demo戳我

没有得到意料之中的结果,并没有实现所谓的两端对齐,查找原因,在 W3C 找到这样一段解释:

最后一个水平对齐属性是 いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題,它会带来自己的一些问题。CSS 中没有说明如何处理连字符,因为不同的语言有不同的连字符规则。规范没有尝试去调和这样一些很可能不完备的规则,而是干脆不提这个问题。

额,我看完上面一大段解释还是没明白上面意思,再继续查证,才找到原因:

虽然 text-align:いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題 属性是全兼容的,但是要使用它实现两端对齐,需要注意在模块之间添加[空格/换行符/制表符]才能起作用。

也就是说每一个 1 间隙,至少需要有一个空格或者换行或者制表符才行。

好的,我们尝试一下更新一下 HTML 结构,采用同样的 CSS:

<div class="container">
    <div class="いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題">
        <i>1</i>

        <i>2</i>

        <i>3</i>

        <i>4</i>

        <i>5</i>

    </div>
</div>

尝试给每一块中间添加一个换行符,结果如下:

いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題

Demo戳我

啊哦,还是不行啊。

再寻找原因,原来是出在最后一个元素上面,然后我找到了 text-align-last 这个属性,text-align-last属性规定如何对齐文本的最后一行,并且 text-align-last 属性只有在 text-align 属性设置为 いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題 时才起作用。

尝试给容器添加 text-align-last:いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題

.いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題{
  text-align: いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題;
  text-align-last: いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題; // 新增这一行
}

.いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題 i{
  width:24px;
  line-height:24px;
  display:inline-block;
  text-align:center;
  border-radius:50%;
}

发现终于可以了,实现了いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題:

o_いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題2

Demo戳我

结束了?没有,查看一下 text-align-last 的兼容性:

いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題

但是一看兼容性,惨不忍睹,只有 IE8+ 和 最新的 chrome 支持 text-align-last 属性,也就是说,如果你不是在使用 IE8+ 或者 最新版的 chrome 观看本文,上面 Demo 里的打开的 codePen 例子还是没有均匀分布。

上面说了要使用 text-align:いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題 实现多列布局,要配合 text-align-last ,但是它的兼容性又不好,真的没办法了么,其实还是有的,使用伪元素配合,不需要 text-align-last 属性。

我们给 class="いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題" 的 div 添加一个伪元素:

.いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題{
  text-align: いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題;
}

.いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題 i{
  width:24px;
  line-height:24px;
  display:inline-block;
  text-align:center;
  border-radius:50%;
}

.いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題:after {
  content: "";
  display: inline-block;
  position: relative;
  width: 100%;
}

が削除され、疑似要素が追加されました。 効果は次のとおりです: text-align-last: いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題

o_いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題2

デモをクリックすると、任意の数の列が均等にレイアウトされます

疑似要素 を与えることで、複数の列の均一なレイアウトを簡単に実現できます。さらにいくつかのハック コードを追加することで、IE6 以降と互換性を持たせることができます。最も重要なことは、コードが長くなく、理解しやすいことです。 :after 设置 inline-block 设置宽度 100% ,配合容器的 text-align: いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題

問題の最終的な実現は冒頭に示したとおりです:

いくつかの興味深い CSS の問題について話しましょう (6) – 完全に互換性のある複数列の均一レイアウトの問題

デモをクリックすると、任意の数の列が均等にレイアウトされます

この方法は、元のブロガーの同意を得てこのシリーズに初めて記載されました:

  • あまり考えすぎないでください、両端が揃っているだけです

より多くの交流を得るために、すべてのトピックは私の Github にまとめられ、ブログに投稿されます。

この記事はこれで終わりです。まだ質問や提案がある場合は、オリジナルの記事ですので、記事に何か間違っている点があれば、お知らせください。私にお知らせください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
HTML:構造、CSS:スタイル、JavaScript:動作HTML:構造、CSS:スタイル、JavaScript:動作Apr 18, 2025 am 12:09 AM

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。1。HTMLは、Webページ構造を定義し、2。CSSはWebページスタイルを制御し、3。JavaScriptは動的な動作を追加します。一緒に、彼らは最新のウェブサイトのフレームワーク、美学、および相互作用を構築します。

HTMLの未来:ウェブデザインの進化とトレンドHTMLの未来:ウェブデザインの進化とトレンドApr 17, 2025 am 12:12 AM

HTMLの将来は、無限の可能性に満ちています。 1)新機能と標準には、より多くのセマンティックタグとWebComponentsの人気が含まれます。 2)Webデザインのトレンドは、レスポンシブでアクセス可能なデザインに向けて発展し続けます。 3)パフォーマンスの最適化により、応答性の高い画像読み込みと怠zyなロードテクノロジーを通じてユーザーエクスペリエンスが向上します。

HTML対CSS対JavaScript:比較概要HTML対CSS対JavaScript:比較概要Apr 16, 2025 am 12:04 AM

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。HTMLはコンテンツ構造を担当し、CSSはスタイルを担当し、JavaScriptは動的な動作を担当します。 1。HTMLは、セマンティクスを確保するためにタグを使用してWebページの構造とコンテンツを定義します。 2。CSSは、セレクターと属性を介してWebページスタイルを制御して、美しく読みやすくします。 3。JavaScriptは、動的でインタラクティブな関数を実現するために、スクリプトを通じてWebページの動作を制御します。

HTML:それはプログラミング言語か何か他のものですか?HTML:それはプログラミング言語か何か他のものですか?Apr 15, 2025 am 12:13 AM

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

HTML:Webページの構造の構築HTML:Webページの構造の構築Apr 14, 2025 am 12:14 AM

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

テキストからウェブサイトへ:HTMLの力テキストからウェブサイトへ:HTMLの力Apr 13, 2025 am 12:07 AM

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

HTML、CSS、およびJavaScriptの理解:初心者向けガイドHTML、CSS、およびJavaScriptの理解:初心者向けガイドApr 12, 2025 am 12:02 AM

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

HTMLの役割:Webコンテンツの構造HTMLの役割:Webコンテンツの構造Apr 11, 2025 am 12:12 AM

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

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

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

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール