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 性感美女一级毛片,999yy成年在线视频免费看,嫩草影院永久入口在线观看

          整合營銷服務商

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

          免費咨詢熱線:

          HTML基礎總結

          .h1-h6標簽

          都是標題標簽,定義一段話的標題,h1最大,依次遞減,h6最小

          標題標簽的作用:讓文本加粗顯示

          2. 段落標簽:p標簽

          用來顯示一段文本(圖片),它會忽略源代碼中的排版

          塊元素:獨占一行的元素,和相鄰的元素不能共享同一行,所有的塊元素都有align屬性,h1-h6和p元素都是塊元素

          3. 格式標簽:

          b標簽:加粗文本

          del標簽:包含的文本中間有條橫線

          em標簽:包裹的文本會顯示為斜體

          i標簽:包裹的文本會顯示為斜體

          pre標簽:顯示源代碼的排版

          strong標簽:和em作用一樣,都有強調的意思,如果要強調一段文字,建議使用strong標簽

          u標簽:給文本添加下劃線

          sup:定義上標文本

          sub:定義下標文本

          4. 圖片標簽img,用來把圖片顯示在網頁上

          必須屬性:1.src:圖片的路徑(可以用相對路徑或絕對路徑,不建議用絕對路徑)

          alt:定義圖片無法顯示時的代替文本

          相對路徑:以當前文件所在的位置為參考路徑,定義出來的路徑叫相對路徑

          絕對路徑:文件在硬盤上的物理路徑叫絕對路徑,

          例如:

          D:\work181129JAVA班\課件-web前端課件\web-day1\Code\web-day1\img\tly.jpg

          可選屬性:

          1.title:鼠標放在圖片上時的提示文字,所有元素都有title屬性

          2.width:定義圖片的寬度,默認以像素px為單位,可以省略單位不寫

          3.height:定義圖片的高度

          br標簽:換行標簽,可以寫成<br>或者<br/>

          hr標簽:水平線標簽,可以寫成<hr>或者<hr/>,屬性有:width(寬度),size(高度),color(顏色)

          5. span:通常用于修飾文本,可以給它添加樣式,例如style="color: red;"

          div:把文檔分割成若干個獨立的部分 ,塊級元素

          6. ul定義無序列表type屬性定義列表項目的標記,默認是disc

          type="disc" 默認黑色圓點

          type="circle" 空心圓點

          type="square" 方塊

          ol定義有序列表type屬性定義項目的標記,默認是數字

          type="A"或"a":表示大寫字母或者小寫字母

          type="I"或type="i":表示羅馬大寫字母或羅馬小寫字母

          7. border:定義表格的邊框屬性

          cellspacing:單元格之間的距離,設置為0則只有1條邊框了

          cellpadding:單元格的內容到邊框之間的距離

          8. 表頭:表格中的第一行,用來顯示列標題的,使用th定義表頭的每一列,把里面的內容加粗居中顯示

          通常,第一行是表頭行,從第二行開始就是數據行(顯示具體的數據),

          使用td(table data cell )表示數據行每一列

          表格的align="center":讓表格整體居中顯示

          tr(table row)的align="center":讓行里面的內容居中顯示

          caption:定義表格的標題,會相當于表格居中

          9. colspan:跨列,即在水平方向上合并單元格,值是要合并的單元格數目

          rowspan:跨行,即在豎直方向上合并單元格,值是要合并的單元格數目

          10. form:表單標簽,用于創建一個表單,收集用戶輸入的數據,并提交給服務器程序

          屬性:action:指定將表單的數據發送到哪個服務器程序

          method:指定用哪種方式來提交數據,常用值有GET,POST,默認值是get

          表單域:又叫表單元素,作用是收集用戶輸入的數據 ,并提交給服務器端程序

          常用的表單域:1.input元素:它的type屬性有不同值,表現出不同形態

          type="text":表示文本框,提供文本的輸入

          type="radio":單選框(單選按鈕), 多個單選框的name值必須相同,如果name不同則不能互斥,提交時是提交value值

          type="checkbox":復選框,當name相同時,可以提交多個值(value屬性的值)

          type="file"":文件域,讓用戶選擇本地文件上傳到服務器

          type="hidden":隱藏域,對用戶不可見的元素,可以有默認值并且能提交給服務器(在javaEE開發中會大量使用隱藏域)

          2. select元素:表示下拉列表,又叫下拉框,在下拉列表中用option元素定義待選擇的選項,默認第1個選項被選中,

          設置某個option被選中: 在option元素上添加selected="selected"或者selected

          設置下拉列表為多選下拉列表:在select元素上加multiple屬性

          關于選中元素的設置

          1)設置單選框或復選框被選中的屬性是checked

          2)設置下拉列表的某個選項被選中的屬性是selected

          11. body標簽:

          1.background:定義網頁的背景圖片,如果背景圖片很小,會自動在水平和豎直方向上平鋪展示

          2.bgcolor:定義網頁的背景顏色

          12. textarea:文本域,又叫多行文本框,cols是文本區內的寬度,rows:行數

          placeholder:用來設置單行文本框(不是textarea)里的默認提示文字,當輸入了新的內容后,該提示文字就消失了

          label:本身沒有什么效果,當結合單選按鈕或復選框使用時,如果label的for屬性和按鈕的id相同,則點擊

          label后就相當于點擊了按鈕,會將單選框或復選框選中

          表單按鈕:

          1.提交按鈕: <input type="submit">,提交按鈕作用是將表單數據發送到action指定的服務器上

          2.重置按鈕: <input type="reset">,作用是將表單中數據清空

          3.普通按鈕:<input type="button">,普通按鈕在沒有添加js代碼情況下,是不能提交表單的

          13. frameset:框架集,用于將整個瀏覽器窗口劃分成多個小窗口,每個小窗口稱為一個frame,每個小窗口(frame)都可以,加載一個獨立的html文檔

          使用frameset的cols或rows屬性定義如何分割整個大窗口,

          cols:定義水平方向上分割的各個frame的百分比,

          rows:定義豎直方向上分割的各個frame的百分比,

          noresize:不能調整frame的寬或高 frameborder="0":去掉frame的邊框

          *代表剩余百分比,會自動計算

          使用frame來定義每個小窗口,src指frame所加載的網頁的相對路徑

          14. iframe:能夠包含其它文檔(網頁)的內聯框架內聯就是行內,因為它能和相鄰的元素共享同一行

          src:要加載的文檔的路徑 width:寬度,height:高度

          frameborder:邊框,0或no代表無邊框

          15. 將超鏈接所跳轉的頁面顯示在iframe的技巧:

          1)給iframe元素添加一個name屬性,例如

          2)超鏈接添加屬性target,值應該是iframe元素的name

          16. 實體集

          來的產品經理,想做一個和qq或者微信聊天一樣的,上下拖動動態改變文本內容框和編輯器布局的需求。 其實一開始是一頭霧水的,但是通過萬能的mdn,以及充滿智慧的我,最終還是完成了這個需求。 其中最核心的還是ResizeObserver這個第一次用的類,所以會在這里做一些記錄。

          • ResizeObserver初識
          • ResizeObserver實戰

          ResizeObserver初識

          • ResizeObserver interface可以報告元素content或者border box,或者svg元素box大小的變化
          • ResizeObserver.disconnect() 取消觀察某個observer的所有observed目標元素。
          • ResizeObserver.observe() 初始化觀察一個指定元素。
          • ResizeObserver.observe() 取消觀察一個指定元素。
          • new ResizeObserver(callback) callback的入參包括entries和observer。

          entries是一個數組,它由所有的ResizeObserverEntry object組成。通過for (let entry of entries) {}的方式,entry代表一個ResizeObserver object,一個entry由contentRect和target組成。

          在resize相關實踐中,entry的contentRect對象是最最重要的。

          {target: div, contentRect: DOMRectReadOnly}
          contentRect: DOMRectReadOnly
          bottom: 312.3125
          height: 292.3125
          left: 20
          right: 626
          top: 20
          width: 606
          x: 20
          y: 20
          __proto__: DOMRectReadOnly
          target: div
          __proto__: ResizeObserverEntry
          

          ResizeObserver實戰

          Make element resizable

          • 元素應用resize css屬性。
          • 元素ResizeObserver化。
          <div class="main" :style="{minHeight: dynamicMainHeight}">
                <chatView></chatView>
          </div>
          
          .main {
              resize: vertical;
              overflow: auto;
          }
          
           observeChatView() {
              if (window.ResizeObserver) {
                const viewElem = document.querySelector('.main');
                const resizeObserver = new ResizeObserver((entries) => {
                  for (const entry of entries) {
                    if (!this.initialHeight) {
                      this.initialHeight = entry.contentRect.height;
                    }
                    if (this.initialHeight) {
                      const deltaHeight = this.initialHeight - entry.contentRect.height;
                      this.$bus.$emit('rerenderViewAndEditor', deltaHeight);
                    }
                  }
                });
                resizeObserver.observe(viewElem);
              } else {
                this.$Message.warning('不支持ResizeObserver');
              }
            },
          },
          

          動態計算的editor組件

          <div
            class="rich-text-editor"
            contenteditable
            data-placeholder="按下Enter發送消息,按下Shift+Enter換行"
            :style="{height: dynamicHeight}"
          ></div>
          
          computed: {
            dynamicHeight() {
              return `${defaultEditorHeight + this.deltaHeight}px`;
            },
          },
          this.$bus.$on('rerenderViewAndEditor', (deltaHeight) => {
              this.deltaHeight = deltaHeight;
          });
          

          動態計算的view組件

          自動跳到最新一條消息的chatView組件需要減去deltaHeight,從而增大scrollHeight的高度。

          this.$bus.$on('rerenderViewAndEditor', (deltaHeight) => {
            this.visiableHeight = document.body.clientHeight - deltaHeight;
            this.deltaHeight = deltaHeight;
          });
          
          scrollToBottom() {
            this.$nextTick(() => {
              this.scrollTop = this.scrollHeight - this.deltaHeight;
            });
          },
          

          最終效果

          參考資料

          https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/ResizeObserver https://github.com/mdn/dom-examples/blob/master/resize-observer/resize-observer-text.html

          努力成為優秀的前端工程師!

          期待和大家交流,共同進步

          微信公眾號: 大大大前端 / excellent_developers

          努力成為優秀前端工程師!

          .什么是框架

          框架將瀏覽器劃分成不同的部分,每一部分加載不同的網頁,實現在同一瀏覽器窗口中加載多個頁面的效果

          2.frameset 劃分框架標簽

          1)語法格式

          <frameset>....</frameset>

          2)屬性

          1.cols:使用“像素數”和%分割左右窗口,“*”表示剩余部分;如果使用“*”,“*”表示框架平均分成2個;如果使用“*”,“*”,“*”表示框架平均分成3個。

          2.rows:使用“像素數”和%分割上下窗口,“*”表示剩余部分。

          3.frameborder:指定是否顯示邊框,0不顯示,1顯示。

          4.border:設置邊框的大小,默認值5像素。

          3)frame 子窗口標簽

          1.定義

          frame 標記是一個單標記,該標記必須放在 frameset 中使用,在 frameset 中設置了幾個窗口,就必須對應使用幾個 frame 框架,而且還必須使用 src 屬性指定一個網頁。

          2.屬性
          1. src:加載網頁文件的URL地址
          2. name:框架名稱,是鏈接標記的target所要參數
          3. noresize:表示不能調整框架大小,沒有設置時就可以調整
          4. scrolling:是否需要滾動條:auto(根據需要自動出現)、yes(有)、no(無)
          5. frameborder:是否需要邊框:1(顯示邊框)0(不顯示邊框)

          3.舉例

          <!DOCTYPE html><html>  <head>    <meta charset="utf-8">    <title>文檔標題</title>  </head>  <frameset cols="*,*" frameborder="0">    <frame src="https://www.taobao.com" noresize>    <frame src="https://www.baidu.com" noresize>  </frameset></html>

          主站蜘蛛池模板: 国产成人精品无人区一区| 国产精品自拍一区| 国产精品揄拍一区二区久久| 精品国产一区二区三区av片| 日本精品高清一区二区2021| 日本一区二区三区中文字幕| 国产福利电影一区二区三区久久久久成人精品综合 | 国产精品免费视频一区| 国产一区二区三区小说| 在线观看日韩一区| 国产在线一区二区在线视频| 一区高清大胆人体| 国产高清视频一区二区| 日韩精品无码一区二区视频| 人妻av无码一区二区三区| 亚洲av无码片vr一区二区三区| 高清在线一区二区| 无码毛片视频一区二区本码| 精品久久久中文字幕一区| 国产在线视频一区二区三区98| 亚洲av综合av一区二区三区| 精品国产毛片一区二区无码| 91精品一区二区三区在线观看| 精品免费国产一区二区| 一区二区三区视频在线观看| 国产一区二区三区美女| 人妻体内射精一区二区三区| 国产一区二区三区播放心情潘金莲| 国产女人乱人伦精品一区二区| 日韩电影一区二区| 国产一区二区三区露脸| 精品国产一区二区三区久久久狼| 丰满岳妇乱一区二区三区| 精品欧洲av无码一区二区14 | 国产精品久久久久久一区二区三区| 合区精品久久久中文字幕一区| 国产香蕉一区二区精品视频| 精品国产AⅤ一区二区三区4区| 成人H动漫精品一区二区| 在线观看午夜亚洲一区| 精品一区二区三区影院在线午夜|