WordPress勉強中

最新情報NEWS

ブレイクポイント別に非表示にさせるクラス

今まで下記のような記述で、PC・SPサイズで表示・非表示をしていましたが、命名が曖昧でわかりにくいと指摘され、確かに「dispaly」ってinlineもあるし、flexもあるしクラス名だけでパッと見て判断は厳しいと感じました。

チームで作業すると他の方の意見もあって自分コードが改善できてすごく楽しい。

.u-display-sp {
  display: none;

  @include global.mq(md) {
    display: block;
  }
}

.u-display-pc {
  display: inherit;

  @include global.mq(md) {
    display: none;
  }
}

そこで、bootstrapのvisibleとhiddenがわかりやすいとの意見をいただき、コードを参考にしてみました。

// Breakpoint
$screen: (
  sm: 320px,
  md: 767px,
  lg: 1040px
) !default;

@each でBreakpointごとに作っても良さそうです 」と先輩に言われましたが、@each?ってぐらい知らないでscss使っているので、気を遣ってくれた先輩からコードを提供していただきました。(ありがとうございます!!)

@use "foundation/global";

// <p class="u-hidden-md-up">md値より広い幅で非表示</p>
// <p class="u-hidden-lg-down">lg値より狭い幅で非表示</p>

@each $bp in map-keys(global.$screen) {
  .u-hidden-#{$bp}-up {
    @include global.mq($bp, min) {
      display: none;
    }
  }

  .u-hidden-#{$bp}-down {
    @include global.mq($bp) {
      display: none;
    }
  }
}
@media (min-width: 321px) {
  .u-hidden-sm-up {
    display: none;
  }
}

@media (max-width: 320px) {
  .u-hidden-sm-down {
    display: none;
  }
}

@media (min-width: 768px) {
  .u-hidden-md-up {
    display: none;
  }
}

@media (max-width: 767px) {
  .u-hidden-md-down {
    display: none;
  }
}

@media (min-width: 1041px) {
  .u-hidden-lg-up {
    display: none;
  }
}

@media (max-width: 1040px) {
  .u-hidden-lg-down {
    display: none;
  }
}

先輩にはアドバイザーとして助言をいただけるので、知らないことがいっぱい勉強できて楽しい。
ほんと心強い、頼りにしています。

変更したファイル

https://github.com/syun730/development_dartsass/commit/72c45ea91910b26b57743185d6c83389e86f8d97

コメント投稿フォーム

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


PAGE TOP