ワトソンが言ったように、「縮小して合わせる」CSS ルールはありません。したがって、次の 2 つの選択肢があります。
.overflow 要素のサイズを手動で静的に設定します。したがって、幅:100% の代わりに、幅:330px を入力します。
JavaScript を使用して、.overflow 要素のサイズを動的に変更します。(複数あると思います。)あなたは、最大の内部divに縮小したいと言いました。縮小したい div がいくつかあるが、それらの最大のものに縮小したいとします。まず、これらすべてを次のようなクラスに設定します。
.good-width{
border: solid 2px salmon;
width:auto; /* necessary for some browsers' offsetWidth */
display:inline-block; /* gives it the width of the contents */
}
そして、ページの上部に次のような JavaScript を配置します。
var goods = document.getElementsByClassName('good-width');
//collect the widest one's width
var maxwidth = 0;
for(var x = 0; x < goods.length; x++) {
if(goods[x].offsetWidth > maxwidth) {
maxwidth = goods[x].offsetWidth;
}
}
//set the width of the overflow divs to match
var overflows = document.getElementsByClassName('overflow');
for(var y = 0; y < overflows.length; y++) {
overflows[y].style.width = maxwidth + 'px';
}
私が誤解していて、特定のオーバーフローを特定の適切な幅に一致させようとしている場合は、各要素に id を割り当てて、そのようにする必要があります。
document.getElementById('overflowID').style.width = document.getElementById('good-widthID').offsetWidth + 'px';
もしそれが私のウェブサイトなら、javascript を持っていない人にとって少なくとも適切に見えるようにするために、実際には #1 と #2 の両方を組み合わせます。つまり、あまり離れていないオーバーフローのものに静的な幅を設定し、可能であれば JavaScript がそれを上書きできるようにします。