忍者CODE

ログイン

5
モーダルを作成しよう

PHPの問題

HTML_CSS

Googleでログイン Twitterでログイン
問題
モーダルを作成してみましょう。

ボタンを押下したら表示、非表示などの機能は一切不要です。
画面の真ん中にコンテンツを置き、それ以外はグレーエリアで覆いましょう。

またimgにつきましては、https://ninjacode.work/assets/img/kv.pngをお使いください。

見本を参考に作成してください。
期待する画面
ログインして解答を見る
コードのアイコン

解答ソースコード

            <section class="modal">
  <div class="modal__overlay"></div>
  <div class="modal__content">
    <div class="modal__content__title">
      <h2>モーダルのタイトル</h2>
    </div>
    <div class="modal__content__img"></div>
    <div class="modal__content__discription">
      <p>モーダルで訴求したいテキストをここに入れます。モーダルで訴求したいテキストをここに入れます。モーダルで訴求したいテキストをここに入れます。モーダルで訴求したいテキストをここに入れます。モーダルで訴求したいテキストをここに入れます。
      </p>
    </div>
  </div>
</section>
¥HTML¥
          
            /* resetCSS */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
/* -----ここから下に記述してください----- */
.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.modal__content {
  position: absolute;
  overflow: hidden;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 70%;
  height: 400px;
  padding: 10px 30px;
  background-color: #fff;
}
.modal__content__title {
    padding: 16px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}
.modal__content__img {
    background-color: #000;
    text-align: center;
    width: 100%;
    height: 50%;
    background-image: url(https://ninjacode.work/assets/img/kv.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.modal__content__discription {
    padding: 24px;
    font-size: 18px;
}
.modal__overlay {
    width: 100%;
    height: 100%;
    background-color: rgba(30,30,30,0.9);
}
¥CSS¥
          
答えのアイコン

解説

ブラウザで上手く表示する為にCSSの解答ソースにリセットCSS読み込んでおります。

モーダル実装時に大事なのは、最上の親に対してposition: fixed;を付与する事です。次に、背景のグレーエリアはオーバーレイと呼びます。
このオーバーレイは縦横画面いっぱいに広げて黒に透過0.9などしてあげればOKです。

最後にコンテンツ部分に関しては、position: absolute;で真ん中に持ってきて普段のようにタイトル、画像、説明文をつければ出来上がりです。
1.HTMLの宣言をしてみよう
続きの動画を見たい方は公式LINEから「HTML」と送信すると動画が見れます。
コース一覧のアイコン

有料コース一覧
甲賀KOGA

プログラミングスキルが
一気に上がる!
有料級の解説動画19本
を今なら無料でGETできる!

忍者CODEの公式LINE登録後
LINE内にあるURLよりご覧になれます

  • プログラミング本気で学習してる方
  • もちろん完全無料で且つ手続き不要
  • 将来プログラミングで稼ぎたい方
  • 動画解説で真剣に学びたい方
スキルアップ動画をGET