0

私は現在LESSCSSを使用しており、省略形パラメーターのデフォルトのcss動作を模倣するミックスインを作成しようとしました。

cssでは、よく宣言します。

margin: 5px 5px 10px;

そしてそれは次のように読まれます

margin: 5px 5px 10px 5px;

ボーダー半径のミックスインで同じことを試しました

.border-radius (@topright: 5px, @bottomright: @topright, @bottomleft: @topright, @topleft:  @bottomright) {}

1つのパラメーターのみで呼び出された場合、すべてのデフォルトとして最初のものを使用するようにします。2つのパラメーターを指定して呼び出すと、最初のパラメーターが3番目のパラメーターのデフォルトになり、2番目のパラメーターが4番目のパラメーターのデフォルトになります。

LESSだけでこの動作を実現する方法はありますか?

4

1 に答える 1

4

これを行う正しい方法は、1つのパラメーターのみを受け取ることです。

.border-radius(@px) {
    -webkit-border-radius: @px;
    -moz-border-radius: @px;
    border-radius: @px;
}

次に、1つのパラメーターで呼び出すことができます。

.border-radius(5px);

または多くの。これには、それらを変数に入れるか、エスケープする必要があります。

@myradius: 5px 5px 10px;
.border-radius(@myradius);

また

.border-radius(~"5px 5px 10px");

Bootstrapプロジェクトは簡潔にするために後者のバージョンを使用していることを読みました。

于 2012-05-04T15:51:11.700 に答える