メタフィールドで追加したNewラベルの位置を変更したい

Topic summary

メタフィールドで追加したNEWラベルの表示位置を、商品一覧画面の左下から右上に変更したいという質問です。

現状:

  • メタフィールドで登録したNEWラベルが画像左下に表示されている
  • コードスニペットが提供されているが、一部文字化けしている

提案された解決策:

  • 右上への配置は可能
  • 実装方法として以下の2点が提案されました:
    1. ラベル要素を囲む親要素に position: relative; を付与
    2. 右上に配置したいラベルのクラス(badge--top-rightなど)に以下のCSSを適用:
.badge--top-right {
  position: absolute;
  right: 10px;
  top: 10px;
}

注意点:

  • 提供された情報が限定的なため、実装全体を確認しながら位置調整が必要
  • 具体的な数値は環境に応じて調整が必要
Summarized with AI on November 17. AI used: claude-sonnet-4-5-20250929.

お世話になります。

現在、メタフィールドで登録したNEWラベルを商品一覧画面に表示しています。

こちらは画像左下に表示されるのですが、右上に表示させることは可能でしょうか。

現在のコードは下記の通りです。ご意見いただけますと幸いです。

  <div class="card__badge {{ settings.badge_position }}">
        {%- if card_product.available == false -%}
        <span class="badge badge--bottom-left color-{{ settings.sold_out_badge_color_scheme }}">
            {{'products.product.sold_out' | t }}
        </span>
        {%- elsif card_product.compare_at_price > card_product.price and card_product.available -%}

        <span class="badge badge--bottom-left color-{{ settings.sale_badge_color_scheme }}">
            {{'products.product.on_sale' | t }}
        </span>
        {%- endif -%}

        {%- if card_product.metafields.newarrival_product.tag != blank -%}
        <span class="badge badge--top-right color-{{ settings.sale_badge_color_scheme }}">
            {{card_product.metafields.newarrival_product.tag }}
        </span>
        {%- endif -%}
    </div>

はじめまして、Takaseと申します。

ラベルを右上に表示させたいとのことですが、こちら可能かと思います。

ちょっと情報量が少ないので、確実にこうすれば実装できるという回答が難しいのですが、

・右上に配置したいラベルの要素を囲っているいずれかの要素のスタイルにposition: relative; を付与する

・右上に配置したいラベルにつけているクラス(badge–top-rightなど)に対して下記のようなスタイルを記述する

.badge--top-right{
  position: absolutel;
  right: -10px;
  top: -10px;
}

上記のような実装を取り入れることで、実現することができるかと思います。

※実装全体を見ているわけではないので、要素の位置を調整したりすることが必要な可能性は高いです。