1. 問題の説明
通常のレイアウトでは、主に行ラベルの幅と高さを設定できるため、inline-block がより頻繁に使用されます。レイアウトのプロセス中に、2 つの「問題」が見つかりました。
1 row label.display: inline-block 後の行ラベル間に 4 ピクセルのスペースがあります。 https://jsfiddle.net/firelight/69phh891/
2. display: inline-block の行ラベルに margin: 0 auto を設定すると、親の中央に配置されなくなります。 https://jsfiddle.net/firelight/jh5ojqu6/私は、display: inline-block を、行ラベルとブロックラベルの両方であると理解し始めました。この 2 つの問題が現れると、単純に 1+1=2 ではないことがわかります。
2.
捋一捋コンセプト
3. 分析の問題
1. 表示: inline-block の後の行ラベル間に 4 ピクセルのスペースがあります。最初はインラインブロックによる問題かと思いましたが、インラインブロックを削除してもこの4ピクセルはまだ存在していました。 Zhang Xinxu 氏のブログでは、これは仕様に準拠した適切なパフォーマンスであると説明されています。要素間の空白の原因はタグ セグメント間の空白であるため、HTML 内の空白を削除すると、空白が存在することになります。自然な間隔はありません。もちろん、HTML コード構造に影響を与えずにこの問題を解決する方法は N 通りあるため、ここでは詳しく説明しません。 Zhang Xinxu の記事を参照してください: http://www.zhangxinxu.com/wordpress/2012/04/inline-block-space-remove
margin: 0 auto; は、ブロックのラベルが親の中央に配置されるように設定します。これは配置方法です。したがって、display: inline-block では、margin: 0 auto; を設定すると、行ラベル自体の性質が優先されるため (行ラベル自体はデフォルトで左揃えになります)、機能しません。 Text-align:center を親に中央揃えに設定する必要があります。一定のマージンを設定した場合は、上下左右の 4 方向も許容されます。 https://jsfiddle.net/firelight/jh5ojqu6/1/