整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          HTML有2種路徑的寫法:絕對路徑和相對路徑

          對路徑-以引用文件之網頁所在位置為參考基礎,而建立出的目錄路徑。因此,當保存于不同目錄的網頁引用同一個文件時,所使用的路徑將不相同,故稱之為相對。

          絕對路徑-以Web站點根目錄為參考基礎的目錄路徑。之所以稱為絕對,意指當所有網頁引用同一個文件時,所使用的路徑都是一樣的。
          其實絕對路徑與相對路徑的不同之處,只在于描述目錄路徑時,所采用的參考點不同。由于對網站上所有文件而言,根目錄這個參考點對所有文件都是一樣的,因此,運用以根目錄為參考點的路徑描述方式才會被稱之為絕對路徑。 

            以下為建立路徑所使用的幾個特殊符號,及其所代表的意義。

            “.”–代表目前所在的目錄。

            “..”–代表上一層目錄。

            “/”–代表根目錄。



          例:假設讀者所建立的Web站點擁有如下圖所示目錄路徑。假若要在Ref.htm文件中引用BeRef.gif文件時,其相對路徑如下:
            ./SubDir2/BeRef.gif
          上面的引用路徑中,”.”代表目前的目錄(Dir1),所以”./SubDir2”代表目前目錄下的SubDir2。其實,也可以省略”./”直接用這個式引用。

            SubDir2/BeRef.gif

            若使用絕對路徑以根目錄為參考點引用該文件時,引用路徑如下:

            /Dir1/SubDir2/BeRef.gif

            如果Web站點的目錄之結構如下圖示:



            引用BeRef.gif文件的相對路徑又是如何呢?假若要在Ref.htm文件中引用BeRef.gif文件時其相對路徑如下:
            ../SubDir2/BeRef.gif
            上面的引用路徑中,”..”代表上一層目錄,所以,/Dir2”代表上一層目錄下的Dir2子目錄。若使用絕對路徑引用時,則引用路徑如下:  
          /Dir2/BeRer.gif
            我們再舉一個比較復雜的例子,來比較一下相對路徑與絕對路徑的使用。假設在讀者所建立的Web站點中,擁有如下圖的目錄路徑。



            我們用以一個表格來說明在上圖的情況下,某文件引用另一文件時,所應使用的相對路徑與絕對路徑。    

            上表中比較需要說明的是”../../”所代表的意義。

            “..”代表上一層目錄,而”../../”所代表的是上一層目錄的上一層目錄。所以,從上表中可以看出,如果引用的文件存在于目前目錄的子目錄中,或者存在于上一層目錄的 另一個子目錄中,運用相對路徑是比較方便的。如果不是時,則利用絕對路徑。從上表中,亦可以看出,當被引用的是同一個文件時,引用文件所使用的絕對路徑是一樣的。

          一章. 頁面基本元素

          1.1頁面基礎元素:<html>

          <html>是頁面的基礎元素,主要用來定義頁面的開始和結束部分。元素語法結構如下<html>....</html>(開頭標記為<>,結束標記為</html>)先介紹一下完整的HTML文件的基本結構

          <html> 文件開始標記

          <head> 文件頭開始標記

          ......... 文件頭部分的內容

          </head> 文件頭結束標記

          <body> 文件主體開始標記

          ......... 文件主題部分的內容

          </head> 文件主題結束標記

          </html> 文件結束標記

          在<html>和</html>之間寫入想要編輯的頁面內容就構成了一個簡單的頁面

          1.1.1 文本顯示方向屬性:dir

          【作用與語法】dir屬性用來指定瀏覽器文本顯示的方向,同時也決定瀏覽器滾條的位置。dir屬性的語法結構如下

          <html dir="瀏覽器中文本的方向">......</html>(在元素名稱和屬性之間要加入空格)

          dir屬性可以取兩個值,ltr(left title right)和rtl(right title left),分別表示從左向右顯示和從右向左顯示

          1.1.2 指定語言屬性:lang

          【作用與語法】lang屬性用來指定文檔中所使用的語言。lang屬性的語法結構如下

          <html lang="指定的語言">包含的內容部分</html>

          lang屬性的取值可以使用ISO標準中的語言代碼。在<html>元素中加入lang屬性,使瀏覽器更好的顯示界面,并不會更改頁面的文字編碼

          ISO標準中語言代碼的取值及含義語言名稱寫法語言名稱寫法英語en法語fr漢語zh德語de日語ja意大利語it

          1.2 頁面頭部元素:<head>

          【作用與語法】HTML的頭部元素是以<head>為開始標記,以</head>為結束標記。它用于包含當前文檔的相關信息,可包含<title>元素、<meta>元素等,分別用來定義頁面的標題、編碼。使用<head>元素可以將基本信息部分和頁面主體內容區分開來。<head>元素的語法結構如下

          <head>......</head>

          1.3 頁面標題元素:<title>

          【作用與語法】HTML頁面的標題一般是用來說明頁面用途的,它顯示在瀏覽器的標題欄中。在HTML文檔中,標題信息設置在頁面的頭部,也就是<head>和</head>之間。<title>元素的語法結構如下。

          <title>......</title> (說明:在標記中間的“......”就是標題的內容,它位于HTML文檔的頭部,即<head>和</head>之間)

          1.4 元信息元素:<meta>

          【作用與語法】元信息元素<meta>用來定義頁面的附加信息,其中包括頁面的作者、版權、關鍵字等相關信息。<meta>元素的語法結構如下。

          <meta 屬性=“屬性值”/>

          <meta>元素是一個自封閉的元素,通過其中的屬性來添加各種附加信息。<meta>元素在不適用任何屬性時,對頁面沒有影響。

          1.4.1 元信息元素名稱屬性:name

          【作用與語法】name屬性用來制定文檔中附加信息的名稱。例如,最常用的值“keywords”用來定義文檔中的關鍵字,方便搜索引擎的搜索。name屬性的語法結構如下。

          <meta name="信息名稱"/>

          在<meta>元素中,名稱必須對應有相關的值才能生效

          1.4.2 元信息元素的值:content

          【作用與語法】content屬性用來指定文檔中附加信息的值,它與name屬性成對出現。content屬性的語法結構如下

          <meta name="信息名稱" conten="附加信息的值"/>

          <meta>元素中所定義的“keywords”信息是用來為搜索引擎定義關鍵字的,所以對頁面顯示效果并不產生影響,故頁面顯示效果并無太大變化

          1.4.3 元信息元素的附加屬性:http-equiv

          【作用與語法】http-equiv屬性和name屬性類似,用來指定附加信息的名稱。在瀏覽器加載頁面之前,服務器會把http-equiv屬性定義的相關信息發送給瀏覽器,便于在瀏覽器中正確顯示頁面。http-equiv屬性的語法結構如下

          【作用與語法】<meta http-equiv="信息名稱",content="附加信息的值">

          說明:和name屬性相似,http-equiv屬性一般要和conten屬性成對出現

          1.4.4 定義頁面的跳轉

          【作用與語法】在瀏覽器網頁的時候經常會看到一些歡迎信息的頁面,并經過一段時間后,這一頁面會自動轉到其他頁面,這就是網頁的跳轉。使用HTML中的HTTP代碼就可以很輕松的實現這一功能。頁面跳轉的語法結構

          <meta http-equiv="refresh" content="跳轉時間";url="鏈接地址">

          說明:在該語法中,refresh表示網頁的刷新,而在content中則設定刷新的時間和刷新后的地址,時間和鏈接地址之間用分號相隔。默認情況下,跳轉時間是以秒為單位的

          1.5 基本設置元素:<base>

          在HTML中,基本設置元素<base>使用來定義相對路徑的根目錄。使用<base>元素,可以方便的定義頁面中的超級鏈接。語法結構如下

          <base 屬性="屬性值"/>

          <base>元素在不使用任何屬性時,對頁面沒有影響。<base>元素中可以使用的屬性有鏈接路徑屬性href和鏈接窗口屬性target

          1.5.1 鏈接路徑屬性:href

          【作用與語法】href屬性用來指定文檔中相對鏈接的根目錄。文檔中的所有鏈接(包括圖片、音頻等內容)都按照href屬性所指定的根目錄顯示。href屬性的語法結構如下

          <base href="指定路徑">包含的內容部分</base>

          href屬性的取值為url值。它可以使用絕對路徑,也可以指

          向某個文件夾。

          .editorconfig

          1.EditorConfig和Prettier一樣,都是用來配置格式化你的代碼的,這個格式化代碼,要和你lint配置相符!否則會出現你格式化代碼以后,卻不能通過你的代碼校驗工具的檢驗。

          2.讓使用不同編輯器的開發者在共同開發一個項目時“無痛”地遵循編碼規范(編碼風格),就可以使用EditorConfig插件,會在項目根目錄尋找.editorconfig文件并使用其中定義的編碼風格。 默認配置

          [*]
          charset = utf-8
          indent_style = space
          indent_size = 2
          end_of_line = lf
          insert_final_newline = true
          trim_trailing_whitespace = true
          

          語法

          1. editorConfig配置文件需要是UTF-8字符集編碼的, 以回車換行或換行作為一行的分隔符
            斜線(/)被用作為一個路徑分隔符,井號(#)或分號(;)被用作于注釋. 注釋需要與注釋符號寫在同一行

          通配符

          *                匹配除/之外的任意字符串
          **               匹配任意字符串
          ?                匹配任意單個字符
          [name]           匹配name中的任意一個單一字符
          [!name]          匹配不存在name中的任意一個單一字符
          {s1,s2,s3}       匹配給定的字符串中的任意一個(用逗號分隔) 
          {num1..num2}    匹配num1到num2之間的任意一個整數, 這里的num1和num2可以為正整數也可以為負整數

          屬性
          所有的屬性和值都是忽略大小寫的. 解析時它們都是小寫的

          indent_size     用一個整數定義的列數來設置縮進的寬度,如果indent_style為tab,則此屬性默認為tab_width
          tab_width       用一個整數來設置tab縮進的列數。默認是indent_size
          end_of_line     設置換行符,值為lf、cr和crlf
          charset         設置編碼,值為latin1、utf-8、utf-8-bom、utf-16be和utf-16le,不建議使用utf-8-bom
          trim_trailing_whitespace  設為true表示會去除換行行首的任意空白字符。
          insert_final_newline      設為true表示使文件以一個空白行結尾
          root           表示是最頂層的配置文件,發現設為true時,才會停止查找.editorconfig文件

          .prettierrc(格式化配置項)

          1.EditorConfig和Prettier一樣,都是用來配置格式化你的代碼的,這個格式化代碼,要和你lint配置相符!否則會出現你格式化代碼以后,卻不能通過你的代碼校驗工具的檢驗。

          2.當我們使用右鍵格式化的時候,就會自動幫我們補全符號,但是,有些符號在eslint中就會報語法錯誤,那我們需要怎么辦呢?可以通過.prettierrc來進行文件配置

          {
              "semi": false,    // 使用分號, 默認true
              "singleQuote": true,   // 使用單引號, 默認false(在jsx中配置無效, 默認都是雙引號)
              "bracketSpacing": true   // 對象中的空格 默認true
          }
          

          .browserslistrc 文件

          在使用腳手架搭建項目時,會自動生成.browserslistrc文件,該文件只要是 配置兼容瀏覽器
          對于部分配置參數做一些解釋:
          " >1%" :代表著全球超過1%人使用的瀏覽器
          “last 2 versions” : 表示所有瀏覽器兼容到最后兩個版本
          “not ie <=8” :表示IE瀏覽器版本大于8(實則用npx browserslist 跑出來不包含IE9 )
          “safari >=7”:表示safari瀏覽器版本大于等于7


          Vue .env .env.development .env.production

          1.項目根目錄下創建.env、.env.development和.env.production三個文件,文件名解釋分別如下:   .env 無論開發環境還是生產環境都會加載的配置文件   .env.development 開發環境加載的配置文件   .env.production 生產環境加載的配置文件

          2.環境變量的簡單使用示例。需要注意,配置文件里的屬性名必須以VUE_APP_開頭,比如在.env文件這樣聲明一個環境變量:

          VUE_APP_QQQ = `QQ`

          然后就可以在代碼里這樣用了:

          console.log(process.env.VUE_APP_QQQ)  // -> `QQ`
          1. 那為什么是三個文件呢?
            比如現在三個文件里內容分別如下:
          // .env
          VUE_APP_QQQ = `QQ`
          
          // .env.development
          VUE_APP_QQQ = `WW`
          
          // .env.production
          VUE_APP_QQQ = `RR`

          那么首先,Vue在啟動時,無論是在開發環境還是在生產環境,它始終都會加載.env文件里的內容,然后(劃重點)=>根據Node環境變量’NODE_ENV’的值來選擇加載’development’還是’production’。

          比如我們平常通過npm run serve啟動時,我們本地系統的環境變量NODE_ENV 值默認是development,這時就會先后加載.env和.env.development這兩個文件。

          而當我們打包到服務器后,服務器的NODE_ENV值一般為production,則此時Vue仍會先加載.env文件,然后加載.env.production文件。

          其次,在按順序加載文件時,Vue會把后一個加載的文件內容和前面加載的文件內容進行比較,如果存在變量名相同,那么它會采用后一個文件里的變量值為變量的最終值。

          拿上面三個文件內容打個比方:我們在日常開發時,NODE_ENV值是development,那么Vue就會首先加載.env文件里的內容,然后繼續加載.env.development文件里的內容。那么我們發現變量名VUE_APP_QQQ存在多個,這時Vue就會采用后一個文件里的變量值為變量的最終值。因此我們通過console輸出看一看。

          console.log(VUE_APP_QQQ)  // -> `WW`

          .eslintrc.js

          module.exports = {
            root: true,
            parser: 'babel-eslint',
            parserOptions: {
              //設置"script"(默認)或"module"如果你的代碼是在ECMAScript中的模塊。
              sourceType: 'module'
            },
            env: {
              browser: true,
            },
            // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
            extends: 'standard',
            // required to lint *.vue files
            plugins: [
              'html'
            ],
            // add your custom rules here
            'rules': {
              // allow paren-less arrow functions
              'arrow-parens': 0,
              // allow async-await
              'generator-star-spacing': 0,
              // allow debugger during development
              'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
              "no-unused-vars": [2, { 
                // 允許聲明未使用變量
                "vars": "local",
                // 參數不檢查
                "args": "none" 
              }],
              // 關閉語句強制分號結尾
              "semi": [0],
              //key值前面是否要有空格
               "key-spacing": [0, {
                "singleLine": {
                  "beforeColon": false,
                  "afterColon": true
                },
                "multiLine": {
                  "beforeColon": true,
                  "afterColon": true,
                  "align": "colon"
                },
              //空行最多不能超過100行
              "no-multiple-empty-lines": [0, {"max": 100}],
              //關閉禁止混用tab和空格
              "no-mixed-spaces-and-tabs": [0],
              //數組第一個指定是否啟用這個規則,第二個指定幾個空格
              "indent":[1,2],
          }
          

          其中的rules是配置規則的

          配置參數

          rules: {
              "規則名": [規則值, 規則配置]
          }

          規則值

          "off"或者0    //關閉規則關閉
          "warn"或者1    //在打開的規則作為警告(不影響退出代碼)
          "error"或者2    //把規則作為一個錯誤(退出代碼觸發時為1)

          常見規則列表


          主站蜘蛛池模板: 亚洲国产一区明星换脸| 国产怡春院无码一区二区| 国产成人久久精品区一区二区| 国产一区二区三区乱码在线观看| 成人区人妻精品一区二区不卡视频 | 色综合视频一区二区三区| 亚洲美女一区二区三区| 人妻体内射精一区二区| 亚洲国产美国国产综合一区二区| 中文字幕亚洲一区| 文中字幕一区二区三区视频播放 | 蜜臀AV无码一区二区三区| 无码人妻精品一区二区三区东京热| 亚洲熟妇av一区二区三区漫画| 亚洲欧美日韩中文字幕一区二区三区| 丝袜美腿一区二区三区| 中文字幕日韩一区二区三区不卡| 精品福利一区二区三区免费视频| 国产凸凹视频一区二区| 无码人妻精品一区二区三18禁| 国产在线无码视频一区二区三区 | 另类国产精品一区二区| 日韩精品无码一区二区中文字幕| 亚洲老妈激情一区二区三区| 男人的天堂av亚洲一区2区| 日本一区二区三区中文字幕 | 亚洲一区二区三区久久| 国产日韩精品一区二区在线观看播放| 国产成人精品一区二区三区无码| 亚无码乱人伦一区二区| 国产高清在线精品一区| 国产综合精品一区二区三区| 日韩人妻精品无码一区二区三区 | 一本一道波多野结衣一区| 成人国内精品久久久久一区| 精品乱子伦一区二区三区高清免费播放 | 婷婷亚洲综合一区二区| 国产精品无码一区二区三区在| 无码人妻aⅴ一区二区三区| 无码一区二区三区视频| 亚洲高清一区二区三区|