CMS Hub

フォームの必須文言をCSSだけで制御する

目次

    HubSpotのフォームのかゆいところは幾つかありますが、そのうちの1つに “必須の記号「*」の変更オプションがない” というものがあります。下記キャプチャの部分ですね。
    必須の記号が「*」である様子のキャプチャ

    「これを『必須』にしたい」という要望をよくいただきますので、CSSだけで完結する方法をご紹介します。といっても仕組みさえ思い付けば割とシンプルで、次のようなコードになります。

      
    1. . hs - form - required {
    2. font - size : 0 ;
    3. }
    4.  
    5. . hs - form - required :: after {
    6. content : '必須' ;
    7. font - size : . 8rem ;
    8. }

    表示は次の通りです。
    必須の記号を書き換えた様子のキャプチャ

    ポイントはfont-size: 0;で、これがないと「*」は消えません。とはいえdisplay, visibility, opacityなどで消そうとしても子要素となる::afterも消えてしまうので、font-sizeで制御します。少しかゆいのは “必須” のfont-sizeemを使えないことですが、仕方ないですね。

    執筆者:Admin

    関連記事