個人介紹

  • 姓名:王福賢
  • 綽號:來福 (Laifu)
  • 電子信箱:creamgod45[at]yun.sk
  • 星座:獅子座
  • Github:CreamGod45
  • 個人部落格:WordPress
  • 網頁學習方向
    • 後端網頁(50%):
    • 前端網頁(50%):
 

專案介紹

這個是我網站是我這次要報告的作品,這是我學習4年網頁設計的作品之一。

  • 製作決定:2021/04/19
  • 開發耗時:2021/04/19~2021/04/26 (7天)
  • 所使用的語言
    • HTML (超文本標記語言)
    • CSS (階層式樣式表)
    • SCSS (優化CSS的選擇器的傳統費力方式)
    • JavaScript (跟Java 不一樣;是一種進階的、直譯的程式語言)
    • jQuery (基於 JavaScript 的語言簡化網頁開發的套件)
 

聯繫我

意見回饋

姓名
電子信箱:
意見
 

SCSS / CSS

能有效簡化 CSS的長度
階層式樣式表(英語:Cascading Style Sheets,縮寫:CSS;又稱串樣式列表、級聯樣式表、串接樣式表、階層式樣式表)是一種用來為結構化文件(如HTML文件或XML應用)添加樣式(字型、間距和顏色等)的電腦語言,由W3C定義和維護。CSS 被分為不同等級:CSS1 現已廢棄, CSS2.1 是推薦標準, CSS3 分成多個小模組且正在標準化中。CSS3現在已被大部分現代瀏覽器支援,而下一版的CSS4仍在開發中。

比較表格

如果使用SCSS可以減少大量的重複性結構

語言 行數
CSS Line 6802
SCSS Line 320

程式碼

                                #nav_drawer {
    background-color: #e4e3e3;
    width: 20%;
    height: 100vh;
    padding: 8px;
    position: sticky;
    top: 0;
    left: 0;
    border-right: solid 0.5px black;
    overflow-x: hidden;
    overflow-y: auto;
    z-index: 2;

    .item {
        border-radius: 8px;
        display: block;
        margin: 8px;
        color: black;
        text-decoration: unset;
        background-color: white;
        box-shadow: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12);

        .outside {
            padding: 10px 8px;
            padding-left: 16px;
            padding-bottom: 8px;

            .button {
                display: unset;
                float: right;
                width: 15%;

                svg.fa-angle-double-down {
                    transform: rotate(0deg);
                    transition-delay: 0.3s;
                }
            }
        }

        .drawer {
            background: #d8d8d8;
            width: 100%;
            padding: 4px;
            display: inline-block;
            border-bottom-left-radius: 8px;
            border-bottom-right-radius: 8px;
            box-shadow: inset 0px 10px 19px -8px rgba(133, 133, 133, 1);

            .ditem scrollspy {
                padding: 5px 8px;
                padding-left: 16px;
                border-radius: 8px;
                display: block;
                color: black;
                margin: 2px 4px;
                text-decoration: unset;
                display: flex;
                height: auto;

                svg {
                    height: auto;
                }

                .body {
                    background-color: white;
                    width: 100%;
                    padding: 10px 8px;
                    border-radius: 8px;
                    color: black;
                    transition: 0.3s;
                    box-shadow: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12);
                }

                .body:hover {
                    background-color: #fff23b;
                    transform: scale(1.12);
                    font-weight: bold;
                    transition: 0.1s;
                }

                .body:hover svg {
                    color: black;
                }
            }

            .ditem scrollspy:hover .line {
                visibility: hidden;
            }

            .active {
                .body {
                    border-left: 2px solid gray;
                    background-color: #fff23b;
                    border-radius: unset;
                    transform: scale(1.12);
                    color: black;
                    transition: 0.1s;
                }

                .line {
                    visibility: hidden;
                }
            }
        }
    }

    footer {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        align-content: center;

        center {
            font-size: 10%;
        }
    }
}
語言:CSS
 

Font Awesome

Font Awesome是基於CSS和Less的字體和圖標工具包,可以為選單添加多元的設計感。

 

jQuery

jQuery是一套跨瀏覽器的JavaScript函式庫,簡化HTML與JavaScript之間的操作。由約翰·雷西格(John Resig)在2006年1月的BarCamp NYC上釋出第一個版本。目前由Dave Methvin領導的團隊進行開發。全球前10,000個存取最高的網站中,有65%使用了jQuery,是目前最受歡迎的JavaScript函式庫。
  • 簡化原生JavaSript複雜的繼承與選擇器的程式碼
  • 內建大量便利且能快速計算與排版的函式
  • 效能不佳,手機執行有機率造成手機瀏覽器沒有回應
                            $(function () {
    $('.drawer').hide();
    $('svg.fa-angle-double-down', this).data('on', false);

    $('div.item').on({
        click: function () {
            if ($('svg.fa-angle-double-down', this).data('on') == false) {
                $('svg.fa-angle-double-down', this).css({
                    "transform": "rotate(180deg)"
                });
                $('svg.fa-angle-double-down', this).data('on', true);
            } else {
                $('svg.fa-angle-double-down', this).css({
                    "transform": "rotate(0deg)"
                });
                $('svg.fa-angle-double-down', this).data('on', false);
            }
            $('.drawer', this).slideToggle();
        }
    });
})
    語言:jQuery
    
 

Initialize.css

Initialize.css是基於Normalize.css和HTML5 Boilerplate的CSS最佳實踐的完整且可自定義的集合。提供CSS以及可配置的SASS(SCSS)和LESS格式。用於格式統一排版的集合樣式表

   /*!
    * Initialize.css (v1.3.1) is a complete and customizable collection of CSS best practices based on Normalize.css and HTML5 Boilerplate.
    * http://jeroenoomsnl.github.io/initialize-css
    *
    * HTML5 Boilerplate: https://github.com/h5bp/html5-boilerplate
    * Normalize.css: http://github.com/necolas/normalize.css
    */
    audio,
    canvas,
    progress,
    sub,
    sup,
    video {
        vertical-align: baseline
    }
    
    details,
    hr,
    main,
    summary {
        display: block
    }
    
    button,
    hr {
        overflow: visible
    }
    
    pre,
    textarea {
        overflow: auto
    }
    
    body,
    fieldset {
        margin: 0
    }
    
    fieldset,
    hr,
    legend {
        border: 0;
        padding: 0
    }
    
    html {
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        font-family: sans-serif;
        line-height: 1.4;
        font-size: 1em;
        -ms-text-size-adjust: 100%;
        -webkit-text-size-adjust: 100%
    }
    
    *,
    :after,
    :before {
        -moz-box-sizing: inherit;
        box-sizing: inherit
    }
    
    audio:not([controls]) {
        display: none;
        height: 0
    }
    
    [hidden],
    template {
        display: none
    }
    
    a:active,
    a:hover {
        outline: 0
    }
    
    abbr[title] {
        border-bottom: none;
        text-decoration: underline;
        text-decoration: underline dotted
    }
    
    b,
    strong {
        font-weight: bolder
    }
    
    dfn {
        font-style: italic
    }
    
    h1 {
        font-size: 2em;
        margin: .67em 0
    }
    
    small {
        font-size: 80%
    }
    
    sub,
    sup {
        font-size: 75%;
        line-height: 0;
        position: relative
    }
    
    sup {
        top: -.5em
    }
    
    sub {
        bottom: -.25em
    }
    
    svg:not(:root) {
        overflow: hidden
    }
    
    figure {
        margin: 1em 40px
    }
    
    hr {
        -moz-box-sizing: content-box;
        box-sizing: content-box;
        height: 1px;
        border-top: 1px solid #ccc;
        margin: 1em 0
    }
    
    code,
    kbd,
    pre,
    samp {
        font-family: monospace, monospace;
        font-size: 1em
    }
    
    button,
    input,
    optgroup,
    select,
    textarea {
        font: inherit;
        margin: 0
    }
    
    button,
    select {
        text-transform: none
    }
    
    button,
    html input[type=button],
    input[type=reset],
    input[type=submit] {
        -webkit-appearance: button;
        cursor: pointer
    }
    
    button[disabled],
    html input[disabled] {
        cursor: default
    }
    
    button::-moz-focus-inner,
    input::-moz-focus-inner {
        border: 0;
        padding: 0
    }
    
    button:-moz-focusring,
    input:-moz-focusring {
        outline: ButtonText dotted 1px
    }
    
    input {
        line-height: normal
    }
    
    input[type=number]::-webkit-inner-spin-button,
    input[type=number]::-webkit-outer-spin-button {
        height: auto
    }
    
    input[type=search] {
        -webkit-appearance: textfield
    }
    
    input[type=search]::-webkit-search-cancel-button,
    input[type=search]::-webkit-search-decoration {
        -webkit-appearance: none
    }
    
    textarea {
        resize: vertical
    }
    
    optgroup {
        font-weight: 700
    }
    
    ::-moz-selection {
        background: #b3d4fc;
        text-shadow: none
    }
    
    ::selection {
        background: #b3d4fc;
        text-shadow: none
    }
    
    audio,
    canvas,
    iframe,
    img,
    svg,
    video {
        vertical-align: middle
    }
    語言:CSS
                            
 

HTML

超文本標記語言(英語:HyperText MarkupLanguage,簡稱:HTML)是一種用於建立網頁的標準標記語言。 HTML是一種基礎技術,常與CSS、JavaScript一起被眾多網站用於設計網頁、網頁應用程式以及行動應用程式的使用者介面。 網頁瀏覽器可以讀取HTML檔案,並將其彩現成視覺化網頁。HTML描述了一個網站的結構語意隨著線索的呈現,使之成為一種標記語言而非程式語言。 HTML元素是構建網站的基石。HTML允許嵌入圖像與物件,並且可以用於建立互動式表單,它被用來結構化資訊——例如標題、段落和列表等等,也可用來在一定程度上描述文件的外觀和語意。 HTML的語言形式為尖括號包圍的HTML元素(如html),瀏覽器使用HTML標籤和指令碼來詮釋網頁內容,但不會將它們顯示在頁面上。 HTML可以嵌入如JavaScript的手稿語言,它們會影響HTML網頁的行為。網頁瀏覽器也可以參照階層式樣式表(CSS)來定義文字和其它元素的外觀與布局。 維護HTML和CSS標準的組織全球資訊網協會(W3C)鼓勵人們使用CSS替代一些用於表現的HTML元素。

歷史發展時間線

1980/1
 

HTML 1

這是一代當時最基本的功能,可說是相當陽春。

  • html
  • head
  • title
  • body
  • br
  • p
  • b
  • u
  • i
  • h#
  • center
  • hr
  • a
  • img
1995/11
 

HTML 2

HTML 2.0作為IETF RFC 1866發布。追加RFC的附加功能。

  • form 檔案上傳功能
  • table 表單
  • map 客戶端圖像對映
  • lang 國際化
1997/1
 

HTML 3

HTML 3.2作為W3C推薦標準發布。這是首個完全由W3C開發並標準化的版本,因IETF於1996年9月12日關閉它的HTML工作群組。最初代號為「威爾伯」(Wilbur),HTML 3.2完全去除數學公式,協調各種專有擴充,並採用網景設計的大多數視覺標記標籤。由於兩家公司達成了協議,網景的Blink元素和微軟的Marquee元素被移除。HTML對數學公式的支援最後成為另外一種被稱為MathML的標準。

1997/12
 

HTML 4

HTML 4.0作為W3C推薦標準發布。它提供三種變化:

  • 嚴格,過時的元素被禁止。
  • 過渡,過時的元素被允許。
  • 框架集,大多只與框架相關的元素被允許。
2000/5
 

HTML 5

HTML 5作為W3C推薦標準發布

 

CSS

階層式樣式表(英語:Cascading Style Sheets,縮寫:CSS;又稱串樣式列表、級聯樣式表、串接樣式表、階層式樣式表)是一種用來為結構化文件 (如HTML文件或XML應用)添加樣式(字型、間距和顏色等)的電腦語言,由W3C定義和維護。CSS 被分為不同等級:CSS1 現已廢棄, CSS2.1 是推 薦標準, CSS3 分成多個小模組且正在標準化中。CSS3現在已被大部分現代瀏覽器支援,而下一版的CSS4仍在開發中。

  • 1994 - December 1996

    CCS 1

    於1994年,哈肯·維姆·萊和伯特·波斯合作設計CSS。他們在1994年首次在芝加哥的一次會議上第一次展示了CSS的建議。

    • 支援字型的大小、字形、強調
    • 支援字的顏色、背景的顏色和其他元素
    • 支援文章特徵如字母、詞和行之間的距離
    • 支援文字的排列、圖像、表格和其他元素
    • 支援邊緣、圍框和其他關於排版的元素
    • 支援id和class
  • December 1996 - May 1998

    CSS 2

    絕對的、相對的和固定的定位元素、媒體型的概念、雙向檔案和一個新的字型。CSS2.1修改了CSS2中的一些錯誤,刪除了其中基本不被支援的內容和增加了一些已有的瀏覽器的擴充內容。

  • May 1998 - June 2011

    CSS 3

    CSS3標準已部分公布,但仍未全部制訂完畢,還會有其它新內容繼續加入。W3C網站上有專頁展示CSS3發展的進展。 CSS3分成了不同類別,稱為「modules」。而每一個「modules」都有於CSS2中額外增加的功能,以及向下相容。 CSS3早於1999年已經開始制訂。直到2011年6月7日,CSS 3 Color Module終於發布為W3C Recommendation。 CSS3裡增加了不少功能,如:「border-radius」、「text-shadow」、「transform」以及「transition」。 CSS3亦支援動畫(animation)及立體(preserved-3d)。部分屬性(例如旋轉類屬性(如:transform), 動畫類屬性,立體類屬性),由於現時不同瀏覽器支援程度不同,需要加上不同的瀏覽器前綴來區分。

  • June 2011 - Today

    CSS 4

    W3C於2011年9月29日開始了設計CSS4。直至現時只有極少數的功能被部分網頁瀏覽器支援, 如使用在HTML而非SVG上的pointer-events。CSS4增加了一些更方便的選擇器,並簡化了一些現有選擇器的用法。

謝謝大家 欣賞 我的作品
引用的套件