0

これが私の問題を示すための非常に単純なjsFiddleです:http://jsfiddle.net/ryandlf/mSmUv/4/

要素に上部のパディングまたはマージンがあり、それがdiv内の最初の行にある場合、divはそのパディングまたはマージンを尊重せず、要素を押し下げます。ほとんどの場合、これは問題ではありませんが、たとえば、上部の境界線があるボタンがあり、divがパディング値を考慮していないため、境界線の上部をパディングすると切断されます。

すべてのコンテナdiv要素に盲目的にマージンを設定したりパディングしたりして、影響を受ける可能性のある内部要素を説明するのに十分な量を追加したことを期待する以外に、これに対する回避策はありますか?

4

3 に答える 3

2

クラスボタンとのリンクはblock要素ではなく、要素inlineです。このデフォルトの動作を追加dispaly: blockして変更すると、期待どおりに機能します。jsfiddleで利用可能な証明。

つまり、問題はdivではなく、cssの問題です。インライン要素は「スペースを予約」できないため、マージンとパディングを無視します。

更新:あなたのコメントに答えるために、ここにあなたが探しているかもしれない解決策があります

于 2012-09-02T20:21:45.157 に答える
1

ボタン要素はinlineです。目的の動作を取得するには、を設定できますdisplay:inline-blockこちらをチェック

于 2012-09-02T20:27:28.460 に答える
0

親divに以下を追加してみてください。

オーバーフロー:非表示

お役に立てば幸いです。

于 2012-09-02T21:34:13.897 に答える