DAY 25 Full Screen Modal - Follow Us

这个部分主要是 social media 的区块,会用到 fontawesome 上的 icon 们,需要 facebook、IG、Youtube 跟分享符号等等,先来 fontawesome 上找到这些 icon 们

Font Awesome - facebook

Font Awesome - instagram

Font Awesome - youtube

Font Awesome - share

这边要注意一个小坑,我们之前 import icon 的时候,都是使用 @fortawesome/free-solid-svg-icons 但是 brand 系列是另一套,所以要再使用 yarn 来 add brand 这套 icon,才会有 social media 系列

yarn add @fortawesome/free-brands-svg-icons

再来 import 就可以了,这边也补上了 follow us 的文字内容并设定 class,要注意的是 follow us 的部分是接在第三栏下方的,所以 top border 也要设定成粗体的白线样式!

// Header.js

import React from "react";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";

import {
  faBars,
  faAngleDown,
  faTimes,
  faShareAlt,
} from "@fortawesome/free-solid-svg-icons";

import {
  faFacebookF,
  faInstagram,
  faYoutube,
} from "@fortawesome/free-brands-svg-icons";

export default function Header() {
  //...
  return (
    <nav className="header">
      <div className={modalOpen === true ? "modal show" : "modal"}>
        <div className="modal-dialog">
          <div className="modal-content">
            //...
            <div className="modal-body">
							//...
              <div className="modal-column">
                {info.map(function (item) {
                  return (
                    <div>
                      <a href="/">{item}</a> <hr />
                    </div>
                  );
                })}
                <div className="follow-us">follow us</div>
                <FontAwesomeIcon
                  icon={faFacebookF}
                  className="social-media"
                  size="2x"
                />
                <FontAwesomeIcon
                  icon={faInstagram}
                  className="social-media"
                  size="2x"
                />
                <FontAwesomeIcon
                  icon={faYoutube}
                  className="social-media"
                  size="2x"
                />
                <FontAwesomeIcon
                  icon={faShareAlt}
                  className="social-media"
                  size="2x"
                />
              </div>
            </div>
          </div>
        </div>
      </div>
    </nav>
  );
}

sass 的部分

// _modal.sass

.modal-column
    vertical-align: top
    border-top: 1.5px solid $primary-background-color
    width: 29vw
    display: inline-block
    margin: 16px
    
		//...

    .follow-us
        color: $dark-gray
        text-transform: uppercase
        border-top: 1px solid $primary-background-color
        padding-top: 8px
        margin-top: 32px

    .social-media
        width: 20px
        height: 20px
        display: inline-block
        border-radius: 60px
        border: 1px solid $darker-gray
        padding: 13px
        margin: 13px 13px 13px 0

        &:hover
            color: $secondary-color
            border: 1px solid $secondary-color
            cursor: pointer
            transition: 0.3s
  1. follow us 要再补上字型大写的设定
  2. social media 的部分,要先设定固定宽高,在设定 radius 才会有正圆形
  3. hover 有加上小小的 transition 让颜色的变换自然一些

大概就是 John,恭喜 social media 的部分也告一段落啦~大家明天见~~~


除此之外,也欢迎大家走走逛逛关於我们团队夥伴的文章

lu23770127 - SASS 基础初学三十天

10u1 - 糟了!是世界奇观!

juck30808 - Python - 数位行销分析与 Youtube API 教学

HLD - 浅谈物件导向与Design Pattern介绍

SiQing47 - 前端?後端?你早晚都要全端的,何不从现在开始?


<<:  [Day 29] 第二主餐 pt.5-django也能写前端,templates简易介绍

>>:  Day25 Let's ODOO: System Parameters

Day 38 - 在 AWS Lambda 中使用 YOLO 推估 (Inference)

Day 38 - 在 AWS Lambda 中使用 YOLO 推估 (Inference) 在 Da...

Day 21 Spies 间谍来袭!

该文章同步发布於:我的部落格 今天我们要介绍 Mock 军团的最後一员,也就是 Spies 这个用...

Day 8 中断服务处理机制与分配器

上篇说到排程器的部分,有个地方需要注意的是,如果因为硬体要求中断排程的优先权,此时就会有个中断服务的...

C# Linq

今天 来讲讲Linq这个好用的东西吧 不过我不会着墨在他哪些方法怎麽用(这个自己Google应该就可...

Day 19 - C strings 字串,我好想吃串烧

Outline Characters C strings C string processing f...