iT邦幫忙

2021 iThome 鐵人賽

DAY 5
0

今天我們來完成Header,不過位置方面我是使用Tailwinds CSS,要花時間客製化位置,但我沒那麼多時間所以沒辦法對的很準,請看官們見諒。

這是Native Camp的Header,
https://ithelp.ithome.com.tw/upload/images/20210920/20140358JoCcHRzjUD.png

先上今日成果,可以看到尺寸些微的不準
https://ithelp.ithome.com.tw/upload/images/20210920/20140358EJc8ucQx9s.png

圖片是使用Native Camp的圖片來源,url是透過瀏覽器開發者工具的network找到的。
圖片不是使用img而是使用NextJs 的Image組件,對圖片進行轉化及壓縮做優化。
因為是使用外部來源的圖片,記得一定要在專案中新增next.config.js,然後在裡面加入圖片來源網站!

module.exports = {
    images: {
        domains: ['nativecamp.net']
    },
}

除了這個要注意外,還有就是顏色還有一些高度的設定,是tailwinds預設中沒有的,所以需要在tailwind.config.js設定自己要的參數,以下是我自己目前所設定的客製化參數。
tailwind.config.j

module.exports = {
  mode: 'jit',
  purge: ['./pages/**/*.{js,ts,jsx,tsx}', './components/**/*.{js,ts,jsx,tsx}'],
  darkMode: false, // or 'media' or 'class'
  theme: {
    extend: {
      colors: {
        nativeCamp: {
          header: {
            bg: "#112844",
            signup: '#F1890E',
            signupHov: '#ffa436',
            login: "#03c9a9",
            loginHov: "#22d6b8",
          },
        }
      },
      height: {
        logo: "30px",
        header: "83px"
      },
      fontSize: {
        headerLogo: ['2.0px', '1.2rem'],
      }
    },
  },
  variants: {
    extend: {},
  },
  plugins: [
  ],
}

這邊都設定好了,就可以在Header.js中根據Native Camp的排版來想辦法排,顏色還有排版都是透過瀏覽器的開發者工具中去找到設定,我今天才發現原來開發者工具可以選hover類的filter去看改變前後的參數,因為這個功能我才能夠找到按鈕hover後的顏色。
https://ithelp.ithome.com.tw/upload/images/20210920/201403589T2FYHjaGs.png

再來就是將header.js給實作完畢,
header.js

import Image from "next/image";

function Header() {
    return (
        <header className="bg-nativeCamp-header-bg h-header flex justify-center items-center">
            <div className="flex items-center">
                {/* Left */}
                <div className=" m-auto py-4 pr-80">
                    <div className="relative flex  h-logo cursor-pointer my-auto">
                        <Image
                            src="https://nativecamp.net/user/images/common/logo_s-zh-tw.png?v=2.1"
                            layout="fill"
                            objectFit="contain"
                            objectPosition="left"
                        />
                    </div>
                    <h1 className="text-white text-headerLogo">
                        線上英語會話的NativeCamp.7天免費體驗進行中!
                    </h1>
                </div>
                {/* Right */}
                <div className=" pl-80 mb-4 space-y-2">
                    <ul className="flex justify-end ">
                        <li>
                            <a
                                className="text-white text-sm  hover:text-opacity-75"
                                href="https://nativecamp.net/zh-tw/tutors"
                            >
                                FOR TUTORS
                            </a>
                        </li>
                    </ul>
                    <ul className="flex space-x-2">
                        <li>
                            <a className='bg-nativeCamp-header-signup hover:bg-nativeCamp-header-signupHov text-white text-center text-xs py-2 px-6 rounded-sm  cursor-pointer'>註冊</a>
                        </li>
                        <li>
                            <a className='bg-nativeCamp-header-login hover:bg-nativeCamp-header-loginHov text-white text-center text-xs py-2 px-6 rounded-sm  cursor-pointer'>登入</a>
                        </li>
                        <li>
                            <a className="bg-transparent hover:border-opacity-75 border border-bg-white text-white text-center text-xs p-2 px-4 rounded-sm  cursor-pointer">重新加入</a>
                        </li>
                    </ul>
                </div>
            </div>
        </header>
    );
}

export default Header;

下一篇就來開始製作Nav


上一篇
[Day4]專案始動-續(前端篇)
下一篇
[Day 6]中秋時在做什麼,有沒有空,可以幫想標題嗎(前端篇)
系列文
關於我快30歲的後端工程師,想轉職成全端工程師,在前端世界中尋求機會的那件事(前端篇)18
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言