0

以下のSASS関数をどのように組み合わせることができるかについて、誰かが私にアドバイスできるかどうか疑問に思っていました. if ( $property == 'ie' ) のような追加のパラメーターを使用して if..else ステートメントを追加しようとしましたが、成功しませんでした。

機能:

// To use width, margin, padding...
@function percentageWidth( $elementWidth, $containerWidth ){
  @return $elementWidth/$containerWidth * 100%;
}

// To use *width ie6/7 workarounds
@function iePercentageWidth( $elementWidth, $containerWidth ){
  @return $elementWidth/$containerWidth - 0.5/$containerWidth * 100%;
}

現在の CSS:

width: percentageWidth( 214,945 );
*width: iePercentageWidth( 214,945 );

次のようなものにもこの関数を使用したいと思います。

margin: percentageWidth( 23,945 );
4

2 に答える 2

2

プロパティのペアを作成するために使用できる一般的な mixin を次に示します。

@mixin ieprop($name, $elementWidth, $containerWidth) {
   #{$name}: percentageWidth($elementWidth, $containerWidth);
   *#{$name}: iePercentageWidth($elementWidth, $containerWidth);
}

次のように、プロパティ名を最初のパラメーターとして渡します。

.cls {
  @include ieprop('width', 214, 945);
  @include ieprop('margin', 23, 945);
}
于 2012-08-20T17:08:41.737 に答える
0

これはあなたが必要とするものですか?

@mixin twoWidths($x, $y){
  width: percentageWidth($x, $y);
  *width: iePercentageWidth($x, $y);
}

次に、スタイルシートで次のように呼び出します。

@include twoWidths(500,700);
于 2012-08-20T16:08:25.027 に答える