1

一般的なオブジェクト ( ) に対して特定の値 ( ) に設定 (または両方) し、特定のoverflowオブジェクト( ) に対して を変更せずにオーバーライド( に) したい。overflow-xoverflow-yhidden*overflow-xvisiblefoooverflow-y

やった:

*{overflow: hidden;}
foo{overflow-x: visible;}

Google Chromeの開発者ツールで確認したところ、fooオブジェクトについては (fromoverflow: hiddenから*)、overflow-x: visible(fromから)の仕様ともにfoo有効です。ただし、視覚的には、overflow: hiddenオーバーライドしているように見えますoverflow-x: visible。これは私の予想に反します。つまり、より具体的な仕様が、より具体foo的でない仕様をオーバーライドする必要があるということ*です。

私が代わりに行うとき:

*{overflow: hidden;}
foo{overflow: visible;}

すると、意図したとおり (from ) が (from ) をオーバーライドしているように見えますが、foroverflow: visiblefooに設定されています。これは望ましくありません。overflow: hidden*overflow-yfoovisible

overflowよりも仕様優先ということでしょうか?そうでない場合、何が起こっているのですか?overflow-xoverflow-y


編集おそらく、最初に考えたよりも複雑です。に設定overflow-xするvisibleと、水平スクロール バーがなくなります。これにより、オブジェクトの高さが減少し、干渉している可能性があります。


編集this questionthis questionへの回答にヒントがあるようです。特に W3C 仕様では、 or のどちらoverflow-xoverflow-yを設定しvisible、もう一方を別の設定にすると、visibleがになるようですauto。変な仕様です。

4

0 に答える 0