[Transfer] インラインブロック要素間のスペースを削除する N 個の方法
Zhang Xinxu-Xin Space-Xin Life [http://www.zhangxinxu.com] より
1. 現象の説明
本当の意味でのインラインブロックでは、改行またはスペースで区切って表示されると、水平方向に表示される要素間に隙間が生じます。
非常に単純な例です。距離はここです~~
CSS を使用して非インラインブロックの水平要素をインラインブロックの水平要素に変更すると、次の問題も発生します。
ここをクリックしてください: 要素間のインラインブロック間隔のデモ
この種のパフォーマンスは、仕様に準拠しているべきものです (バグだと思う人がいたら、それは()ay()oy)。
ただし、この種のスペースはレイアウトや互換性の処理に影響を与える場合があります。どうすればよいでしょうか。 N 個のメソッドを以下に示します (追加歓迎)。
2.スペースを削除する方法
要素間の空白の原因はタグセグメント間の空白であるため、HTMLで空白を削除すると自然な空白がなくなります。コードの読みやすさを考慮すると、コードを 1 行で記述することは明らかにお勧めできません:
または:
または HTML コメントを使用します:
待ってください。
3. 負のマージン値を使用する
負のマージン値のサイズは、コンテキストのフォントとテキスト サイズに関連しています。対応する間隔のサイズ値は、以前の記事「display:inline- に基づくリスト レイアウト」のパート 6 の統計表で見つけることができます。ブロック":
たとえば、12 ピクセル サイズのコンテキストの場合、Arial フォントの margin
负值为-3
像素,Tahoma和Verdana就是-4
像素,而Geneva为-6
ピクセル。
外部環境の不確実性と最後の要素の余分な親マージン値のため、この方法は大規模な使用には適していません。
4. クローズドラベルにカプセルを食べさせます
次のように処理します:
IE6/IE7 および Mengniu で開発された他のブラウザーとの下位互換性を保つために、最後のリスト タグの終了 (終了) タグは失われることができないことに注意してください。
HTML5 では次のことを直接行います:
まあ、少し奇妙に感じますが、大丈夫です。
ここをクリックしてください: インラインブロック要素の間隔を削除するための終了タグなしのデモ
5. フォントサイズ:0 を使用します
次のようなコード:
この方法は、基本的に、ほとんどのブラウザーでインラインブロック要素間の間隔を解決できます (IE7 などのブラウザーでは、1 ピクセル間隔になる場合があります)。ただし、ブラウザである Chrome にはデフォルトで最小フォント サイズ制限があるため、互換性を考慮して次のコードも追加する必要があります:
您可以狠狠地点击这里(去年制作的一个简单demo):font-size:0清除换行符间隙demo
补充:根据小杜在评论中中的说法,目前Chrome浏览器已经取消了最小字体限制。因此,上面的-webkit-text-size-adjust:none;
代码估计时日不多了。
六、使用letter-spacing
类似下面的代码:
.space { letter-spacing: -3px; } .space a { letter-spacing: 0; }
根据我去年的测试,该方法可以搞定基本上所有浏览器,包括吃“东鞋”、“西毒(胶囊)”、“南地(沟油)”、“北钙(三鹿)”的IE6/IE7浏览器,不过Opera浏览器下有蛋疼的问题:最小间距1像素,然后,letter-spacing
再小就还原了。
七、使用word-spacing
类似下面代码:
.space { word-spacing: -6px; } .space a { word-spacing: 0; }
一个是字符间距(letter-spacing
)一个是单词间距(word-spacing
),大同小异。据我测试,word-spacing
的负值只要大到一定程度,其兼容性上的差异就可以被忽略。因为,貌似,word-spacing
即使负值很大,也不会发生重叠。
您可以狠狠地点击这里:word-spacing与元素间距去除demo
与上面demo一样的效果,这里就不截图展示了。如果您使用Chrome浏览器,可能看到的是间距依旧存在。确实是有该问题,原因我是不清楚,不过我知道,可以添加display: table;
或display:inline-table;
让Chrome浏览器也变得乖巧。
.space { display: inline-table; word-spacing: -6px; }
八、其他成品方法
下面展示的是YUI 3 CSS Grids 使用letter-spacing
和word-spacing
去除格栅单元见间隔方法(注意,其针对的是block水平的元素,因此对IE8-浏览器做了hack处理):
.yui3-g { letter-spacing: -0.31em; /* webkit */ *letter-spacing: normal; /* IE < 8 重置 */ word-spacing: -0.43em; /* IE < 8 && gecko */ } .yui3-u { display: inline-block; zoom: 1; *display: inline; /* IE < 8: 伪造 inline-block */ letter-spacing: normal; word-spacing: normal; vertical-align: top; }
以下是一个名叫RayM的人提供的方法:
li { display:inline-block; background: orange; padding:10px; word-spacing:0; } ul { width:100%; display:table; /* 调教webkit*/ word-spacing:-1em; } .nav li { *display:inline;}
也就是上面一系列CSS方法的组组合合。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

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

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。
