4

私はこのようなCSSを持っています:

.inline-block {
    display: -moz-inline-stack;
    display: inline-block;
    *display: inline;
    zoom: 1;
    width: 100px;
}

経由でCSSLintを実行すると

csslint --ignore=star-property-hack test.css 

それでもこのエラーが表示されます:

width can't be used with display: inline.
    width: 100px;

修正はありますか?

4

2 に答える 2

2

そうです...表示がインラインの場合、幅は意味がありません。inline-block ではなく inline に表示を設定するのはなぜですか?

それにもかかわらず、スター プロパティを同じセレクターを使用して別のスタイルに配置してみてください。

.inline-block {
    display: -moz-inline-stack;
    display: inline-block;
    zoom: 1;
    width: 100px;
}

.inline-block {
    *display: inline;
}
于 2014-08-10T03:28:33.010 に答える
0

display: inline フェールオーバーは、IE6 のサポートが必要な場合にのみ必要です (IE7 以降では、display: inline-blockを問題なく理解できます)。次のことをお勧めします。

IE6 をサポートする必要がある場合:

IE6 の場合のみ、ハックを条件付き stylesheetに分割します。

メインのスタイルシートで:

.inline-block {
    display: -moz-inline-stack;
    display: inline-block;
    width: 100px;
}

ie6.css で:

.inline-block {
    display: inline;
    zoom: 1;
}

IE6 をサポートする必要がない場合:

コードを使用するだけです:

.inline-block {
    display: -moz-inline-stack;
    display: inline-block;
    width: 100px;
}

そして、幸せになります。

于 2014-08-13T02:31:31.700 に答える