解説04:結果セクション~CTAの作成 | SkillhubAI(スキルハブエーアイ)

解説04:結果セクション~CTAの作成

下記スクリーンショットの範囲を作成していきます。

【結果セクション】
file

【CTA】
file

1.結果セクション大見出し

前回作成した問題提起部分から繋がったような、黄色背景部分を作成します。
file

1-1.下向きの三角形を作る

まず、結果セクション全体を囲うためのsectionタグを書きます。
その中にdiv.bg-yellow > div.container をいれてきましょう。 .containerの中には見出しと説明文を加えます。

lp.html

<section class="solution">
    <div class="bg-yellow">
        <div class="container">
            <h2 class="text-center">
                SkillHub アントレなら<br>
                Web起業を成功へ導く技術と知識、ぜんぶ教えます
            </h2>
            <p class="col-10 mx-auto text-center">
                起業家に必要なのは「必要最低限のWeb技術」です。本格的なデザイナーやプログラマーになる必要はありません。 このプランではあなたを成功に導くためのWeb技術を学びます。広く浅く、ミニマムな技術を身に着けます。
            </p>
        </div>
    </div><!-- /.bg-yellow -->

</section>

ブラウザで表示を確認してください。
h2のmarginが影響して、黄色の背景色が途切れてしまっています。
file

親要素にpaddingをつけてあげると、marginがはみ出さなくなります。
下向きの三角形を::aftarで作れるように、bg-yellowクラスのdivに「solution-title」と position-relative」クラスを加えましょう。

lp.html

<section class="solution">
    <div class="solution-title position-relative bg-yellow">
        <div class="container">
         以下略

.solution-title::after{} で下向きの三角形を作ります。

.solution-titte{}ではmarginを使って三角形の高さ+余白分のスペースを確保。
上下にpaddingを設定することで、hタグやpタグのmarginで隙間が出来ないようにします。

style.css

.solution-title{
  margin-bottom: calc(120px + 6rem); /* ::afterの高さ + 余白 */
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.solution-title::after{
  content: "";
  position: absolute;
  bottom: -120px;
  right: 0;
  border-style: solid;
  border-width: 120px 50vw 0 50vw;
  border-color: #FFE20D transparent transparent transparent;
}

file

1-2.見出し文字の装飾をする

h2の中の「技術」と「知識」の文字色をピンクに変更し、文字下に白いマーカー風の線を引きます。

  • 文字色をピンクにする→text-pink
  • 白色の下線をひく→marker-white

それぞれクラスを作成して、spanタグを使って指定します。

lp.html

<h2 class="text-center">
    SkillHub アントレなら<br>
    <span class="marker-white">
        Web起業を成功へ導く<span class="text-pink">技術</span><span class="text-pink">知識</span>、ぜんぶ教えます
    </span>
</h2>

style.css

/* それぞれ似たクラスの並びに追加してください */
.text-pink{
  color: #FF0069;
}

.marker-white{
  background: linear-gradient(transparent 75%, #FFFFFF 75%);
}

file

● linear-gradientとは

linear-gradientは線状のグラデーションを作るためのCSS関数です。
IllustratorやPhotoshopの“線形グラデーション”を、Webページ上で表現できる指定方法と考えてください。
file

基本的な書き方は、下図のようになっています。
file

向きは指定しない場合、上から下にグラデーションします。
今回の場合は「(上から)75%の位置まで透明、白色を75%の位置から(100%まで)」とパキッと分けているためグラデーションにはなっていません。

%の部分を変更すると、グラデーションにもなります。
file

linear-gradientは背景色やボタンなど、色々な箇所で使うことができます。
今回文字装飾に使用したのは、text-decoration: underline;border-bottomだと「文字の下(重ならない位置)」に線が入ってしまうため。背景色として設定することで、文字と下線を重ねた表現を作っています。

1-3.見直し・調整

前回作った問題提起部分から、下向きの三角形まで、黄色背景部分が繋がりました。

ここで一旦、デザインと見比べて余白等を調整しておきましょう。
ぱっと見て気になったのは下記3つ。

  • 文章部分の行間が少し狭い
  • 白い角丸の下、余白が足ていない
  • SkillHubアントレなら~の下に余白を足したい

file

style.cssに必要なスタイル指定を追加したり、書いたプロパティ値の調整をしたりしていきます。
marginの値などは、検証ツールを見ながら妥当なところを探ると進めやすいです。

style.css

/* 新規追加 */
p{ 
  line-height: 1.65;
}

.problem .col-4{
  margin-bottom: 0.75em;
}

.solution-title h2{
  margin-bottom: 1.5em;
}

/* 既存分の調整 */
.problem::after {
  position: absolute;
  content: "";
  z-index: -1;
  bottom: 0;
  width: 100%;
  height: 7rem; /* col-4のmargin追加に合わせて調整 */
  background-color: #FFE20D;
}

見比べてもイマイチ分からない!という時は、スクリーンショットを撮ってデザインに重ねてみる方法もあります。
file

※今回のコーディングではピッタリ重ねる必要はありません。
気になるところを微調整するくらいで進めてください。

2.横並びパーツ

画像とテキスト横並び部分

下図の部分を作ります。
file
今回、画像部分は「01 Web制作技術」などの文字も含んだ状態で書き出しています。
そのまま画像を読み込んで、シンプルに作りましょう。

lp.html

<div class="container">
    <div class="row">
        <div class="col-4">
            <img src="images/solutions1@2x-8.png" alt="01-Web制作技術">
        </div>
        <div class="col-8">
            <h3 class="mt-0">
                楽しみながら、Web技術を習得していただきます
            </h3>
            <p>
                多くの人は面白さを味わう前に挫折してしまいます。例えばHTMLタグやCSSのプロパティをすべて覚えてからや、延々とプログラミングの基礎を学ぶなどしていると、どうしても苦しさばかりが先に来ます。Skillhubの学習方法は「プロジェクト・ベースド・ラーニング」という形をとります。簡単に言うと「作りながら学ぼう」ということです。
            </p>
            <p>
                驚くかもしれませんが、このプランではWebサービスをいきなり作ります!さらに作るだけではなく、それをローンチ(公開)します。そして、その過程で必要になった技術を学ぶというスタイルなので、楽しみながら技術を習得することを可能にします。
            </p>
        </div>
    </div><!-- /.row -->

</div><!-- /.container -->

file
ブラウザで表示をすると、画像がはみ出していますね。
max-width:100%;を指定できるクラスを作って、大きさを制御しましょう。

h3の文字にもピンク色の下線を引けるようにクラスを作ります。

html - クラス追加箇所

<img src="images/solutions1@2x-8.png" alt="01-Web制作技術" class="w-max100">

<h3 class="mt-0">
    <span class="marker-pink">楽しみながら、Web技術を習得していただきます</span>
</h3>

style.css

.w-max100{
  max-width: 100%;
  height: auto;
}

.marker-pink{
  background: linear-gradient(transparent 75%, rgba(255, 0, 105, 0.7) 75%);
    /* h3に直接指定したい場合は display: inline; も必要 */
}

1つめの横並びが出来ました。
file

これを元に残る2つを作りましょう。

02集客・マーケは、カラムを入れ替えれば逆の並びになります。
mt-5remクラスを加えると、ちょうどよいくらい間隔が空きます。
file

制作事例部分

「Skillhub卒業生が制作したWebサービス例」部分。
file

見本画像下の制作者名の文字が少し小さく14px。
また、mt-5remクラスだと余白が足りません。
新たに「fsize-14」「mt-10rem」クラスを作って対応します。

style.css

.fsize-14{
  font-size: 14px;
}

.mt-10rem{
  margin-top: 10rem;
}

lp.html

結果セクション完成です。
file

3.CTA部分

CTA部分を作成しましょう。
file

吹き出しとテキスト

positionを使って吹き出しを上に移動。吹き出しのツノは疑似要素(::after)で作ります。
ここまでのレッスンで作ってきた部分の復習にもなりますね。
file

まずはざっくりとhtmlで構成を作ります。

lp.html

<!-- ============================
/ CTA
/============================= -->  
<section class="mt-10rem bg-yellow position-relative">
    <h2 class="position-absolute  round-border">
        Web起業したい方、まずはご相談ください!
    </h2>
    <div class="container text-center">
        <p>
            SkillHubアントレに関する資料をオンラインでお送りいたします。
        </p>
        <p class="my-0">
            5万人以上を指導してきた代表の吉田による、無料Zoomカウンセリングやメール相談も実施中。
        </p>
        <p class="mt-0 fsize-14">
            ※無料カウンセリングは毎月5名様限定となっております。詳しくはお問い合わせください。
        </p>

    </div>
</section>

file
まだブラウザで見ても、上図のように表示はぐちゃぐちゃです。
新しいクラスを命名して、CSSを書いていきましょう。

吹き出しの部分を作ります。

lp.html

file

style.css

/* ---------------------- */
/* CTA
/* ---------------------- */
.cta {
  padding-top: 40px;
}

.cta-baloon {
  width: 700px;
  max-width: calc(100% - 30px);
  /* 左右15pxずつ開ける */
  top: -30px;
  left: 0;
  right: 0;
  margin: auto;
  padding: 5px 5px 7px;
  font-size: 28px;
  color: #FFF;
  text-align: center;
  background-color: #FFAB00;
}

.cta-baloon::after {
  position: absolute;
  content: "";
  bottom: -15px;
  left: calc(50% - 10px);
  border-style: solid;
  border-width: 15px 10px 0 10px;
  border-color: #FFAB00 transparent transparent transparent;
}

file

吹き出し下の「SkillHubアントレに関する資料をオンラインでお送りいたします。」は、文脈を考えると見出しとは言い難いですね。
ですので、pタグにクラスを加えて対処することにします。

lp.html

<p class="cta-toptext">
    SkillHubアントレに関する資料をオンラインでお送りいたします。
</p>

style.css

.cta-toptext {
  font-size: 21px;
  margin: 0.5em 0;
}

CTAボタン

2つ横並びになっている、CTAボタンを追加します。
file

lp.html

CSSの書き方を、ちょっとだけ工夫します。

style.css

.cta-btns{
  display: flex;
  justify-content: space-between;
  width: 600px;
  max-width: 100%;
  margin: 2rem auto 0 auto;
}

/*=========== 以下、共通クラスに追加 ===========*/
.bg-black{
  background-color: #000000;
}

.btn.bg-white{
  border: 2px solid #000;
}

.btn.bg-black{
  border: 2px solid #FFF;
}

クラス同士を半角スペースで区切らずに書くと「AND」の意味になります。
「.btn.bg-white」なら“btnクラスとbg-whiteクラスが両方指定されている要素”という意味です。

表示を見ると、デザインのようなスタイルになっているはずです。
file

黄色背景がボタンの下ピッタリで終わってしまっているので、ctaクラスに下paddingを足しておきましょう。

style.css

.cta {
  padding-top: 3rem;
  padding-bottom: 4rem;
}

file

完成です。