Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 欧美成人交tv免费观看,亚洲日本综合,精品欧美视频

          整合營銷服務商

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

          免費咨詢熱線:

          HTML常用標簽

          TML常用標簽有:a標簽、table標簽、img標簽、form標簽和input標簽。

          a標簽

          作用

          1. 跳轉到外部網頁
          2. 跳轉到內部錨點
          3. 跳轉到郵箱或電話等

          屬性

          (一)href

          href是hyper reference的縮寫,超鏈接的意思。

          用于指定鏈接目標的ur地址,(必須屬性)當為標簽應用href屬性時,它就具有了超鏈接的功能;
          href=“#”表示這是一個空鏈接;
          如果href里面地址是—個文件或者壓縮包,會下載這個文件。

          <a href="https://google.com">超鏈接到google網站的主頁</a>
           <a href="https://google.com">超鏈接到google的主頁</a>
           <a href="//google.com">超鏈接到google的主頁</a>

          展現形式:

          點擊此鏈接,即可到達google的主頁

          a標簽href的取值:

          1、上述代碼中的網址的取值(推薦使用第三行的代碼)

          <a href="//google.com">超鏈接到google的主頁</a>

          由于此方式能夠自動補齊相關的網絡地址,前面兩種寫錯就會報錯,所以推薦使用。

          2、路徑

          • /a/b/c 或者是a/b/c

          當前路徑下的a里面的b,b里面的c

          • index.html 以及./index.html

          在當前目錄下尋找index.html文件

          3、偽協議

          • javascript:代碼;(冒號與分號一定要寫)
          <a href="javascript:;">點擊后無任何點擊或刷新等動作的反應</a>
          • 錨點鏈接
          <a href="#要跳轉的元素的id"></a>

          點擊鏈接的時候,會跳轉到指定元素所在的位置。

          • mailto:郵箱
          <a href="mailto:abcdefg@163.com ">發郵件給我</a>
          • tel:手機號
          <a href="tel:12345678901">打電話給我</a>

          (二)targe

          用于指定鏈接頁面的打開方式

          a的target取值

          1、內置名字

          _blank 在空白頁打開

          _self 在當前頁面打開

          _parent 在父級窗口打開

          _top 在最頂級的窗口打開

          <a href="//google.com" target="_blank">超鏈接到google網站的主頁在空白頁打開</a>

          2、程序員的命名

          window:name(在xxx頁面打開)

          iframe的name(iframe現在已經很少使用了,是指內嵌窗口)


          (三)download

          下載頁面,但目前很少用,有的瀏覽器不支持,尤其是手機瀏覽器可能不支持。

          table標簽

          1、table標簽的語法:

          thead:表頭

          tbody:表的內容,用于定義

          tfoot:表的腳部

          tr:table row,表格里的行

          th:表格的表頭部分,其中的文本內容字體加粗居中顯示

          td:table data,表格數據,用于定義表格中的單元格

          <!DOCTYPE html>
          <html lang="zh-CN">
            <head>
              <meta charset="UTF-8" />
              <meta name="viewport" content="width=device-width, initial-scale=1.0" />
              <meta http-equiv="X-UA-Compatible" content="ie=edge" />
              <title>Document</title>
            </head>
            <body>
              <table>
                <thead>
                  <tr>
                    <th></th>
                    <th>小紅</th>
                    <th>小黃</th>
                    <th>小藍</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <th>數學</th>
                    <td>90</td>
                    <td>60</td>
                    <td>80</td>
                  </tr>
                  <tr>
                    <th>語文</th>
                    <td>88</td>
                    <td>95</td>
                    <td>97</td>
                  </tr>
                  <tr>
                    <th>英語</th>
                    <td>88</td>
                    <td>95</td>
                    <td>97</td>
                  </tr>
                </tbody>
                <tfoot>
                  <tr>
                    <th>總分</th>
                    <td>266</td>
                    <td>250</td>
                    <td>274</td>
                  </tr>
                </tfoot>
              </table>
            </body>
          </html>
          



          第一行的th標簽為空

          2、table的樣式

          table-layout:auto;自動計算每一行的寬高

          table-layout:fixed;通過列表的寬度來決定平均寬度

          border-collapse:collapse; 合并邊框(默認邊框與邊框之間不合并)

          border-spacing:0;邊框為0.(邊框與邊框之間的距離)。

          img標簽(圖片)

          作用:發出get請求,展示一張圖片。

          <img src="1.JPG" alt="頭像" width="400" />

          當前路徑下的1.jpg,確定寬度為400,只寫寬度高度會自適應

          屬性

          alt:alternate的縮寫,替換的意思。替換文本,圖像不能顯示的文字。

          路徑錯誤顯示alt內容

          title:提示文本。鼠標放到圖像上,顯示的文字。

          響應

          max-width:100% 所有的圖片在手機上都自適應寬度,寬度最大為100%。

          事件

          onload/onerror 監聽圖片是否加載成功,加載成功時用onload,不成功是用onerror事件。確保在onerror事件能夠補救。

          <body>
           <img id="xxx" src="dog.jpg" alt="一只小狗">
          <script>
          xxx.onload = function () {
          console.log("圖片加載成功");
           };
          xxx.onerror = function () {
          console.log("圖片加載失敗");
          xxx.src = "/404.jpg";
           };
          </script>
          </body>

          監聽成功時,打印出成功

          監聽失敗時,先打印出監聽失敗并且開始執行加載失敗是的挽救圖片。404.jpg文件執行

          感想:

          • a標簽的默認樣式可以設置清除,href屬性可以有好多種取值,a標簽的意義也不僅僅是跳轉到一個網址,還可以發郵件打電話。
          • 給img標簽設置寬度和高度時,不能讓圖片變形
          • table標簽必須按照thead,tbody,tfoot的結構去寫,先劃分好結構,再往里填充內容,即使tfoot寫在前面,也會顯示在頁面的尾部

          本文為作者本人的原創文章,著作權歸作者本人和饑人谷所有,轉載務必注明來源。

          們先來看個例子:

          在這個網頁中,同時在一個頁面中展示了三個網站:千鋒教育官網、千鋒教育HTML5大前端官網、千鋒教育HTML5大前端好程序員官網。這是如何做到的呢?

          其實也不難,使用 iframe 就可以實現了。 iframe的作用 是,用來在一個網頁中顯示另一個網頁。

          iframe 是個雙標簽,基本語法為:尖角號iframe,尖角號 /iframe。

          iframe 標簽有五個基本屬性:

          src 屬性,資源的意思,用以引入其他網站的頁面,值是一個頁面路徑。

          width 屬性,寬度的意思,用以控制引入頁面的寬度,值是一個數字。

          height 屬性,高度的意思,用以控制引入頁面的高度,值是一個數字。

          frameborder 屬性,框架邊框的意思,默認引入的框架帶有邊框,通常情況下將該屬性值設置為0,來取消框架的邊框。

          scrolling[?skr??l??] 屬性,滾動的意思,用來控制是否顯示框架的滾動條,值有三個:

          auto,在需要的情況下出現滾動條,也是默認值。

          yes,始終顯示滾動條。

          no,從不顯示滾動條。

          我們來做個例子。

          打開編輯器,新建一個 iframe-demo.html 文件,補全基礎代碼,在 body 里添加 iframe 標簽,首先定義 src 屬性,值為 http://www.qfedu.com,frameborder 屬性的值設置為1,顯示邊框。保存頁面。

          在瀏覽器中打開頁面。千鋒教育的官網在 iframe 的默認大小的窗口里顯示了。

          返回編輯器,給 iframe 定義屬性 width 等 800,height 等于 600,保存。

          回到瀏覽器,刷新,iframe 的窗口變大了。可以通過滾動條查看網站內容。

          返回編輯器,如果給iframe 定義一個scrolling 屬性,值為 no 的話,滾動條就不見了。

          回到瀏覽器,刷新。此時就不能查看窗口隱藏的內容了。

          iframe 也可以作為一個鏈接的目標框架。鏈接的 target 屬性必須設置為 iframe 的 name 屬性。

          比如給 iframe 定義 name 屬性的值為 iframe_a,鏈接 a 的 target 屬性值也設置為 iframe_a。這樣,當點擊鏈接時,千鋒教育的官網就在這個 iframe 窗口里打開了。

          <iframe name="iframe_a">

          <a href="http://www.qfedu.com/" target="iframe_a">千鋒教育</a>

          我們再來看個例子,當點擊三個鏈接,iframe 里顯示了相應鏈接的網站。

          我們來實現這個例子。

          回到編輯器,創建一個 iframe-example.html 文件,補全基本代碼,在 body 里添加一個 div 容器,在容器里添加一個 iframe,定義屬性 src 等于 http://qfedu.com,width 等于 800,height 等于 600。保存。

          在瀏覽器中打開頁面,一個 iframe 框架做好了。

          回到編輯器,在 body 里的第一行再添加一個 div 容器,在容器里書寫 emmet 命令:a 中括號 href 空格 target 等于 iframe_a 大于號 b 乘以 3, a[href target=iframe_a]>b*3 按下 tab 鍵自動補全代碼。很明顯,這不是我們要的代碼。

          這怎么辦呢?聰明的你一定想到了,在小學數學里,通過添加小括號來設置運算優先級的法則。

          我們在 a 的前面,b 的后面填上一對括號, (a[href target=iframe_a]>b)*3 我們把這個 emmet 放到注釋里保存一下。

          將光標移至 emmet 語句的結尾,按下 tab。期望的代碼生成了。

          如果你是完美主義者,這個代碼你也不滿意,能不能換行顯示三個 a 標簽呢?大家跟我一起做:

          點擊 VSCode 左下角的齒輪圖標,再點擊設置,打開設置窗口。

          點擊擴展菜單,再點擊 emmet,找到 Syntax(森太課思) Profiles,在 settings(賽ten 思).json 中編輯。

          在這里輸入 html 冒號 大括號,在大括號里寫入 inline_break 冒號 2,表示標簽數大于 兩 組,就折行顯示。

          "html": {

          "inline_break": 2

          },

          關閉設置。

          把剛才保存的 emmet 命令再拷貝過來,按下 tab 鍵,完美的代碼生成了!

          給三個a 標簽填好鏈接地址和文本內容。

          這里需要注意,a 鏈接的地址可以是互聯網的網站地址,也可以是你自己制作的本地頁面地址,這些頁面都可以在 iframe 中顯示。

          我們發現三個鏈接的target屬性都指向了同一個iframe。保存一下頁面。

          回到瀏覽器,刷新。分別點擊三個鏈接,iframe 里分別顯示了三個網站的頁面。

          文章配套視頻鏈接「鏈接」

          s 雙冒號(::)運算符:一場對靜態方法和屬性的探索

          引言

          在前端開發領域,JavaScript作為Web的核心語言之一,其重要性不言而喻。隨著ES6及后續版本的推出,JavaScript引入了許多新特性,極大地豐富了語言的表達能力和功能。本文旨在探討一個相對較少被提及的特性——雙冒號(::)運算符,它用于訪問類的靜態成員。雖然這個特性尚未在所有環境中得到廣泛支持,但了解它有助于我們更好地理解JavaScript的未來發展方向以及如何利用這些新特性優化我們的代碼。

          技術概述

          雙冒號運算符是ECMAScript提案的一部分,旨在為JavaScript類提供更直觀的靜態方法和屬性訪問方式。這個運算符允許我們在類的實例上調用靜態方法或訪問靜態屬性,這在其他面向對象的語言中是很常見的做法。

          核心特性和優勢

          • 直觀的靜態成員訪問:無需通過類名直接調用,而是可以通過實例引用,使得代碼更加靈活和易讀。
          • 封裝性增強:靜態成員的訪問更加自然,有助于封裝和模塊化代碼。
          • 減少全局污染:不需要將靜態方法暴露為全局函數,降低了命名沖突的風險。

          代碼示例

          class MyClass {
            static myStaticMethod() {
              return 'Called static method';
            }
          
            static myStaticProperty = 'Static property value';
          }
          
          const instance = new MyClass();
          console.log(instance::MyClass.myStaticMethod()); // 'Called static method'
          console.log(instance::MyClass.myStaticProperty); // 'Static property value'
          

          技術細節

          雙冒號運算符的實現涉及到JavaScript引擎對類和原型鏈的理解。當使用::運算符時,JavaScript引擎會在類的構造函數上查找靜態方法或屬性,而不是在實例的原型鏈中查找。

          特性分析

          這個特性的一個關鍵點在于,即使是在類的實例上調用了靜態方法或屬性,JavaScript引擎仍然能夠正確地找到這些靜態成員。這對于那些習慣了在實例上調用靜態方法的開發者來說是一個福音,因為它提供了與許多其他面向對象語言相似的行為。

          難點

          然而,這個特性也帶來了一些挑戰。例如,由于并非所有JavaScript環境都支持雙冒號運算符,因此在生產環境中使用它可能會導致兼容性問題。此外,過度依賴此類特性可能會使代碼難以維護,特別是對于那些不熟悉這一特性的開發者。

          實戰應用

          在實際項目中,我們可以利用雙冒號運算符來簡化靜態成員的調用,尤其是在處理復雜的類層次結構時。例如,在一個游戲引擎中,我們可能有一個Game類,其中包含多個靜態方法用于初始化和配置游戲設置。

          代碼示例

          class Game {
            static initialize(config) {
              // 初始化游戲配置
            }
          
            static start() {
              // 開始游戲
            }
          }
          
          const gameInstance = new Game();
          gameInstance::Game.initialize({ width: 800, height: 600 });
          gameInstance::Game.start();
          

          優化與改進

          雖然雙冒號運算符為訪問靜態成員提供了便利,但在使用時仍需謹慎。考慮到瀏覽器和運行時環境的兼容性,我們應當在代碼中添加適當的檢測和回退機制,以確保在不支持該運算符的環境中也能正常運行。

          代碼示例

          if ('myStaticMethod' in MyClass.prototype) {
            const result = instance.myStaticMethod();
          } else if (instance::MyClass.myStaticMethod) {
            const result = instance::MyClass.myStaticMethod();
          } else {
            throw new Error('Static method not supported');
          }
          

          常見問題

          問題:在不支持雙冒號運算符的環境中,如何訪問靜態成員?

          解決方案:直接通過類名訪問靜態成員,或者使用polyfill來模擬雙冒號運算符的行為。

          // Polyfill 示例
          if (!Object.prototype.__proto__) {
            Object.defineProperty(Object.prototype, '__proto__', {
              get: function () {
                return this.constructor.prototype;
              },
              configurable: true,
            });
          }
          
          if (!Object.prototype['::']) {
            Object.defineProperty(Object.prototype, '::', {
              value: function (target, prop) {
                return target[prop];
              },
              configurable: true,
            });
          }
          

          總結與展望

          雙冒號運算符為JavaScript帶來了更接近傳統面向對象編程語言的靜態成員訪問方式。盡管目前它的支持有限,但隨著ECMAScript標準的演進,我們有理由期待這一特性的廣泛采納。掌握這一特性不僅能夠幫助我們寫出更優雅、更可讀的代碼,還能夠讓我們在未來的項目中更加自信地應對新的技術挑戰。

          總之,雙冒號運算符是JavaScript向前邁出的又一步,它展示了語言設計者們致力于提升開發者體驗的決心。隨著更多現代瀏覽器和運行時的支持,我們期待看到這一特性在實際項目中的廣泛應用,進一步推動前端開發領域的創新和發展。


          主站蜘蛛池模板: 精品国产一区在线观看| 亚洲爆乳精品无码一区二区三区| 福利一区国产原创多挂探花| 一区二区在线观看视频| 中文无码精品一区二区三区 | 精品乱码一区二区三区在线| 精品一区二区三区电影| 色婷婷av一区二区三区仙踪林| 亚洲中文字幕丝袜制服一区| 精品国产高清自在线一区二区三区 | 日韩视频一区二区| 久久人妻av一区二区软件| 美女AV一区二区三区| 国产一区在线视频观看| 毛片一区二区三区| 日韩精品无码免费一区二区三区| 日本一区二区三区高清| 中文字幕日本一区| 一本岛一区在线观看不卡| 在线精品一区二区三区电影 | 久久久久久免费一区二区三区 | 竹菊影视欧美日韩一区二区三区四区五区 | 国产成人精品久久一区二区三区| 久久久久一区二区三区| 国精产品一区一区三区 | 国精产品一区一区三区有限在线| 无码日韩精品一区二区免费暖暖| 国产丝袜无码一区二区三区视频| 亚洲熟女乱综合一区二区| 合区精品久久久中文字幕一区| 风流老熟女一区二区三区| 北岛玲在线一区二区| 国产精品综合一区二区| 国产av一区二区精品久久凹凸 | 中文字幕乱码人妻一区二区三区| 亚洲一区电影在线观看| 在线播放偷拍一区精品| 国产伦精品一区二区三区四区 | 麻豆精品久久久一区二区| 久久精品免费一区二区三区| 亚洲一区影音先锋色资源|