0

以下が Internet Explorer と Chrome では機能するのに、Firefox では機能しない理由がわかりません。基本的に Firefox には影響しません。

<fieldset style="width:30%;">

ありがとう、

4

2 に答える 2

1

私は何日もこの問題に集中していましたが、問題はタグではなく<fieldset><label>タグ内にあることに気付きました。

基本的に、私styledはその<label>ようにタグ付けし、問題は解決しました。

<fieldset style="width:29%;float:left">         
    <label style="width:96%">Imagem</label>
    <?php echo $this->Form->input('main_image', array('type' => 'file','label'=>FALSE,'style'=>'120px')); ?>
</fieldset>

ここに画像の説明を入力

この特定のケースでは、タグとそのコンテンツは、それが何であれ<label>、サイズの 96% 以内に収まるように強制されます。左に浮動しているため、左に浮動し、幅がこれと 100 の差よりも小さくなります。 % は同じレベルに収まります。これが私の目標でした。<fieldset><fieldset><fieldset>

どうやら、Firefox は、<label>タグがその親であるタグに従うことを強制していなかったよう<fieldset>です。<fieldset>代わりに、周りに収まるように強制していまし<label>た。おそらく<label>、私が知らない私のどこかにスタイルがありcssます。

助けようとしたすべての人に感謝します。

于 2012-07-12T18:58:38.947 に答える
0

CSS で要素に 100% の幅を指定すると、基本的には「この要素のコンテンツ領域をその親の明示的な幅と正確に等しくする — ただし、その親に明示的な幅がある場合に限る」と言っているのと同じです。</p>

つまり、親コンテナーの幅が明示的に設定されていない場合、つまり、子要素が最初に親コンテナーの寸法を計算し、次に子要素がその寸法を適用するwidth:400pxため、期待どおりに動作しないはずです (ブラウザによって動作が異なります) 。values set in Percentage幅と言います。

これを読むことができます

また、 css resetを使用して、すべてのブラウザーで css の一貫性を保つことができます。

于 2012-07-12T17:08:11.477 に答える