[翻訳] インライン要素の前に改行を挿入します | CSS-Tricks_html/css_WEB-ITnose
原文: http://www.zcfy.cc/article/517
小さな問題が発生しました。ヘッダーにスパンがあります。 、スパンの前に改行を生成したいと思います。記録のために言っておきますが、スパンの前に
タグを挿入することは問題ありません (実際、このタグを表示/非表示にすることもできます。これは非常に便利です)。しかし...レイアウト関連のことを HTML で行わなければならないのは、いつも少し奇妙に感じます。
それでは、もう少し深く掘り下げてみましょう。この探索では、「しかし…」という言葉がたくさん出てきます。
<h1 class="one"> Break right after this <!-- <br> could go here, but can we do it with CSS? --> <span> and before this </span></h1>
ブロックレベルの要素は
とは異なり、 しかし、設計上、span を使用する必要があるため、span を使用するのには理由があります。改行後のテキストは、背景やパディングなどを与えたい場合があるため、インライン/インライン ブロック要素である必要があります。 それは簡単です: ただし... 要素 。改行は効果がありません。実際のキャリッジ リターンやライン フィードと同様に、生成されません。 スタイルを使用して空白文字を有効にし、強制的に改行を有効にすることができます... これは実際に機能します。ただし...パディングと背景の存在により、前の行の左側のパディング部分が残ります。 これを修正するには、box-decoration-break: clone; を使用します。 "左の「エッジ ラッピング」問題ですが...前の行に大きな黒いブロックが発生します: (ここを理解していない学生はこの例を参照してください - 翻訳者のメモ) box-decoration-break はいくつかの問題に対処するのに最適ですが、これはそうではありません。 スパンを inline-block に変更すると、そのブロック内で改行が発生しますが、これは私たちが望む効果ではありません: 疑似要素の設定を変更します。これをブロックレベルの要素として使用し、スパンをインライン要素として残すことも機能しません。 これは、アーロン・ブッシュネルが思いついたものです。このトリックは、スパンをブロック レベルの要素にし、疑似要素を介してその中にテキストを挿入し、その疑似要素をインライン要素として使用してスタイルを追加することです。 大丈夫です!しかし... 私は常に疑似要素トリックのファンですが、この方法で使用するとアクセシビリティが損なわれる可能性があるため、少し危険です。一部の画面読み上げソフトウェアは疑似要素を読み込むと思いますが、すべてがそれをサポートするわけではありませんし、すべてがそれをサポートすることを意図しているわけでもありません。さらに、HTML ドキュメント内でテキストがそのまま表示される場合でも、この方法ですべてのテキストをコピーして貼り付けることはできません。 私のお気に入りのアプローチは、Thierry Koblentz によって提案されました。単にdisplay:tableをspanに設定するだけです。もちろん、これは実際には表形式のデータではありませんが、それでも問題ありません。テーブル レイアウトの固有のレイアウト プロパティを利用するために、CSS を通じて要素にテーブル レイアウトを強制します。唯一の問題は、セマンティックではないことです。 例: ヘッダー要素のインライン要素の前に改行を挿入してみます。 英語原文:https://css-tricks.com/injecting-line-break/ 疑似要素を介して改行を挿入できます
h1 span::before { content: "\A";}
h1.two span::before { content: "\A"; white-space: pre;}
なぜ実際のテキストを疑似テキストに書かないのか疑問に思っているかもしれません。 -要素
h1 span { display: block;}h1 span::before { content: attr(data-text); background: black; padding: 1px 8px;}
テーブル レイアウトの使用
h1 span { display: table;}
オンラインの例
を使用するものも含めると良いでしょう。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

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

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











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

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

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

HTMLの将来の傾向はセマンティクスとWebコンポーネントであり、CSSの将来の傾向はCSS-in-JSとCSShoudiniであり、JavaScriptの将来の傾向はWebAssemblyとServerLessです。 1。HTMLセマンティクスはアクセシビリティとSEO効果を改善し、Webコンポーネントは開発効率を向上させますが、ブラウザの互換性に注意を払う必要があります。 2。CSS-in-JSは、スタイル管理の柔軟性を高めますが、ファイルサイズを増やす可能性があります。 CSShoudiniは、CSSレンダリングの直接操作を可能にします。 3. Webassemblyブラウザーアプリケーションのパフォーマンスを最適化しますが、急な学習曲線があり、サーバーレスは開発を簡素化しますが、コールドスタートの問題の最適化が必要です。

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

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

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

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