私たちはこの種のことはほとんど過去のものだと思っていましたが、Firefox と IE と Chrome との表示方法に矛盾があることを発見しました (おそらく CSS の神々にはよく知られています)。
ここでこの jsfiddle を見てください: http://jsfiddle.net/smithkl42/jmgEV/1/
div.parent{
position:relative;
height:200px;
width:400px;
background-color:blue;
}
textarea.child{
position:absolute;
height:30px;
bottom:2px;
left:2px;
right:2px;
}
<textarea>
Chrome では、親 div の下部に表示し、親 div と同じ幅にするという、私が望むことを行います。しかし、FireFox と IE では、right:2px
線は無視され、デフォルトの幅が与えられます。
をa に置き換える<textarea>
と<div>
(こちらを参照)、希望どおりに動作します。
理由はありますか?
編集:すべての提案をありがとう。親要素(フィドルではなく、現実の世界では)のサイズが変更されることに注意してください。そのため、「幅を手動で設定するだけです」という提案は使用できません。たとえば、親要素の幅が 1200 ピクセルであるか 50 ピクセルであるかにかかわらず、左右の端からちょうど2 ピクセルである必要があります。ここで働きません。その他のコメントについては、以下を参照してください。