CSS計算値()関数内のサス変数

この翻訳から:Calcの中サスCSS変数()関数

私は、私の使用しようとしている時にcalc()Aサススタイルシートに機能を、しかし、私はHAVINGや非行一部だ。 私はサススタイルシートを使用しようとしているcalc()機能を、いくつかの問題が発生しました。 ここに私のコードは次のとおりです。 これは私のコードです:

$body_padding: 50px

body
    padding-top: $body_padding
    height: calc(100% - $body_padding)

IFリテラルのIの使用50pxINSTEAD私のbody_padding変数が、私はまさに私が欲しいものを得る。 私は、テキストを使用する場合50pxの代わりに私のbody_padding変数を、私は私が欲しいものを手に入れます。 しかし、私は変数に切り替えたとき、これが出力されます。 しかし、私は変数に切り替えたときに、出力は次のとおりです。

body {
    padding-top: 50px;
    height: calc(100% - $body_padding); }

私はそれがで、WITHIN置き換えるために、変数に必要であることを認識する方法得ることができるとSassのcalc機能? サスはそれを置き換えるために必要な実現作り方calc変数の関数を?


#1階

参考:サス変数のhttps://stackoom.com/question/1DRy3/CSS-calc-機能


ハウス#2

補間する 補間

body
    height: calc(100% - #{$body_padding})

この場合の、国境-Boxのでしょう十分項目: この場合、ボーダー・ボックスは十分です。

body
    box-sizing: border-box
    height: 100%
    padding-top: $body_padding

ハウス#3

これを試してみてください: これを試してみてください。

@mixin heightBox($body_padding){
   height: calc(100% - $body_padding);
}

body{
   @include heightBox(100% - 25%);
   box-sizing: border-box
   padding:10px;
}

#4階

するために使用する$variables内部あなたcalc():高さプロパティの 高さにプロパティをcalc()使用して$variables

HTML: HTML:

<div></div>

SCSS: SCSS:

$a: 4em;

div {
  height: calc(#{$a} + 7px);
  background: #e53b2c;
}

ハウス#5

ここでSASS使用して、本当にシンプルなソリューションです / SCSSと数学の公式スタイルを: これはSASS / SCSS数式と非常にシンプルなソリューションのスタイルを使用することです。

/* frame circle */
.container {
    position: relative;
    border-radius: 50%;
    background-color: white;
    overflow: hidden;
    width: 400px;
    height: 400px; }

/* circle sectors */
.menu-frame-sector {
    position: absolute;
    width: 50%;
    height: 50%;
    z-index: 10000;
    transform-origin: 100% 100%;
  }

$sector_count: 8;
$sector_width: 360deg / $sector_count;

.sec0 {
    transform: rotate(0 * $sector_width) skew($sector_width);
    background-color: red; }
.sec1 {
    transform: rotate(1 * $sector_width) skew($sector_width);
    background-color: blue; }
.sec2 {
    transform: rotate(2 * $sector_width) skew($sector_width);
    background-color: red; }
.sec3 {
    transform: rotate(3 * $sector_width) skew($sector_width);
    background-color: blue; }
.sec4 {
    transform: rotate(4 * $sector_width) skew($sector_width);
    background-color: red; }
.sec5 {
    transform: rotate(5 * $sector_width) skew($sector_width);
    background-color: blue; }
.sec6 {
    transform: rotate(6 * $sector_width) skew($sector_width);
    background-color: red; }
.sec7 {
    transform: rotate(7 * $sector_width) skew($sector_width);
    background-color: blue; }

私は強く提案するあなたが理解することですが、結論transform-originrotate()およびskew() 最後に、私は強く学ぶことをお勧めtransform-originrotate()skew()

https://tympanus.net/codrops/2013/08/09/building-a-circular-navigation-with-css-transforms/ https://tympanus.net/codrops/2013/08/09/building-a-円形-ナビゲーションと-CSS-変換/


ハウス#6

私はその後、私は私の固定これを試してみました 。問題は 、私が試したし、問題を解決します。 これは、自動的にすべてのメディア・ブレークポイントを計算する (ベースサイズ/速度サイズ)与えられた速度により 自動的に与えられる速度ブレークポイントに応じて、すべてのメディアを算出すること(基本サイズ/速度の大きさ)


$base-size: 16;
$rate-size-xl: 24;

    // set default size for all cases;
    :root {
      --size: #{$base-size};
    }

    // if it's smaller then LG it will set size rate to 16/16;
    // example: if size set to 14px, it will be 14px * 16 / 16 = 14px
    @include media-breakpoint-down(lg) {
      :root {
        --size: #{$base-size};
      }
    }

    // if it is bigger then XL it will set size rate to 24/16;
    // example: if size set to 14px, it will be 14px * 24 / 16 = 21px
    @include media-breakpoint-up(xl) {
      :root {
        --size: #{$rate-size-xl};
      }
    }

@function size($px) {
   @return calc(#{$px} / $base-size * var(--size));
}

div {
  font-size: size(14px);
  width: size(150px);
}
オリジナルの記事は0公表 ウォンの賞賛136 ビュー830 000 +

おすすめ

転載: blog.csdn.net/xfxf996/article/details/105267202