Ryo Blog

〜WEB制作をスキルに〜

こんなことを説明しています!

  • input・textareaのカスタマイズ方法
  • tableはなるべく使わずにdivで作成すると良い!
  • カーソルが当たっているときはoutline: none;に!
  • resizeもしっかり設定!
  • 縦揃えの方法

解説動画

コードの解説

HTMLの記述

<div class="inner">
    <h2 class="title">お問い合わせフォーム<br>No.1 input・textareaをカスタマイズしよう!</h2>
    <form action="" class="form">
        <div class="row">
            <div class="head">氏名</div>
            <div class="data"><input type="text" placeholder="ヤマダ タロウ"></div>
        </div>
        <div class="row">
            <div class="head">メールアドレス</div>
            <div class="data"><input type="email" placeholder="info@example.com"></div>
        </div>
        <div class="row ai-start">
            <div class="head">お問い合わせ内容</div>
            <div class="data"><textarea placeholder="こちらに具体的にご入力ください"></textarea></div>
        </div>
    </form>
</div>

ポイント

  • tableタグはデフォルトでの設定が多く扱いづらいので、divタグでtableと同じように作っていくと思い通りにcssを当てやすい!

CSSの記述

//======================
// レイアウトを整えるcss
//======================
.inner {
    margin-top: 100px;
    width: 80%;
    margin: auto;
}
.title {
    font-size: 40px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 40px;
}

//======================
// 今回のテーマ
//======================

.row {
    display: flex;
    align-items: center;
    margin-bottom: 40px;
    &.ai-start {
        align-items: start;
        .head {
            margin-top: 10px;
        }
    }
}
.head {
    width: 20%;
    font-size: 20px;
}
.data {
    width: 80%;
}
input[type=text], input[type=email], textarea {
    width: 100%;
    height: auto;
    padding: 12px 20px;
    font-size: 16px;
    line-height: 1.5;
    background: #f4f4f4;
    border: none;
    outline: none; //focus時の枠線を消しておく
    &:focus {
        //入力をしているとき
        outline: 1px solid #000;
    }
    &::placeholder {
        color: #9f9f9f;
    }
}
textarea {
    height: 120px;
    resize: vertical; //自分でサイズを変えられるように
}

ポイント

  • inputやtextareaはインラインブロック要素なので、個々に幅を指定する必要がある!
  • 入力時のcssは &:focus { } で対応
    ▶︎ デフォルトの枠線は outlineで設定されている
    ▶︎ カスタマイズしたい場合は outline: none; に!
  • textarea のデフォルトは上下左右に枠幅を変えられるようになっているので縦幅のみ変えられるよう resize: vertical; を設定!

※ 動画内でフォーカス時のcssを &:focus { border: 1px solid #000 }  で当てていますが、これだと1px外側に広がってしまうので、&:focus { outline: 1px solid #000 } で当てるのが良いかと思います!

記事一覧へ

About

りょー|29歳 フリーランス|LPコーディング、WordPressサイト構築、ディレクション、Shopify (Liquid編集) を中心に活動しております!

完全未経験からWEB業界に入り
デイトラで3ヶ月間学習
営業開始後4日→ゼロイチ達成
開業3ヶ月後→月収50万達成
その後平均月収50万 (最高月収120万円)

WEBで独立したい!未経験からでもフリーランスになりたい!そんな方々のためになるような情報をこのブログを通して発信します!

コンサルのお申し込みはこちら Ryo's Portfolio

私がWEB制作フリーランスとして独立するために学習したオンラインスクール「デイトラ」の詳細リンクはこちら↓↓

Products

Coming Soon