【HTML/CSS面經】

HTML/CSS面經

  • HTML
    • 1. script標簽中的async和defer的區別
    • 2. H5新特性
      • (1 標簽語義化
      • (2 表單功能增強
      • (3 音頻和視頻標簽
      • (4 canvas和svg繪畫
      • (5 地理位置獲取
      • (6 元素拖動API
      • (7 Web Worker
      • (8 Web Storage
      • (9 Web Socket
    • 3. 瀏覽器渲染頁面
    • 4. 重繪和重排

HTML

1. script標簽中的async和defer的區別

當瀏覽器在解析html的時候一旦遇到了script標簽,那么就會停下來把script標簽內的內容給執行掉,如果script標簽引入的是外部文件,就需要等待下載和執行完才會回去繼續往下解析。如果外部文件剛好是在一個網絡情況較差的服務器上,那整個網站的加載都會帶來很大影響。這就是script標簽同步解析帶來的阻塞弊端,從而影響頁面加載性能

📌async異步 和 defer推遲:兩者都是異步加載js。
不同點:async是js一加載完就會馬上執行,不管html是否解析完畢,可能出現阻塞;而defer要等到html解析完畢之后才執行,不會阻塞html解析。

2. H5新特性

html5是一種描述性的標記語言。

(1 標簽語義化

(2 表單功能增強

可以輸入類型type(如email、date、url、tel)
新屬性和功能:placeholder:輸入框提示文本、required:必填字段、
autofocus:自動聚焦、pattern:正則驗證等

(3 音頻和視頻標簽

添加<audio>和<vedio>標簽
屬性有:autoplay:自動播放(許多瀏覽器已限制)、loop:循環播放
muted:靜音、preload:預加載等

(4 canvas和svg繪畫

(5 地理位置獲取

(6 元素拖動API

  • 設置元素 draggable="true"

  • 監聽拖動事件:dragstart, drag, dragend

  • 定義放置區域并監聽:dragenter, dragover, dragleave, drop

(7 Web Worker

Web Worker 允許在后臺線程中運行 JavaScript,不會阻塞 UI。

(8 Web Storage

  • 提供了比 cookies 更強大的客戶端存儲機制。Web Storage 更適合存儲純客戶端的數據,而 Cookie 更適合需要在客戶端和服務器之間傳遞的小量數據(如身份驗證令牌)

  • 兩種存儲方式:

    localStorage - 永久存儲,除非手動刪除

    sessionStorage - 會話期間有效,關閉標簽頁后刪除

cookie:

  1. 容量小4kb左右,可設置過期時間
  2. 是每次 HTTP 請求都會自動攜帶(通過請求頭 Cookie)
    服務器可以通過響應頭 Set-Cookie 設置客戶端的 Cookie
    3.適合使用 Cookie 的情況:
    (1) 需要與服務器交互的小量數據(如會話 ID)
    (2) 需要設置過期時間的場景
    (3) 需要跨子域共享數據的場景

(9 Web Socket

WebSocket 提供了全雙工、持久化的網絡通信協議,適合實時應用。
特點:單個 TCP 連接、低延遲通信、服務器可以主動推送數據

3. 瀏覽器渲染頁面

https://juejin.cn/post/7018358245785862151?searchId=20250528150844ACC48259DFD04AFDC5B6
(1.)主要過程:
- DOM樹構建:渲染引擎解析HTML文檔,將各個元素轉換為DOM節點,從而生成DOM樹
- CSSOM樹構建:解析CSS,將其轉化為CSS對象,組裝構建成CSSOM樹
- 渲染樹構建:DOM樹和CSSOM樹構建完成后,瀏覽器會根據這兩棵樹構建除渲染樹
- 頁面布局:渲染樹完成后,元素的位置關系以及樣式確定,這時瀏覽器會計算出所以元素的大小和絕對位置
- 頁面繪制
來源稀土掘金https://juejin.cn/user/3544481220801815

4. 重繪和重排

渲染樹是動態構建的,DOM節點和CSS節點的改動都可能會造成渲染樹的重新構建。也就造成頁面的重排(回流)和重繪

  • 重排
    當DOM樹中幾何尺寸的變化(如元素大小,位置,布局方式等),這時渲染樹里有改動的節點和受影響的節點都要重新計算。會導致要重新經歷頁面渲染的整個流程,所以開銷很大。

以下操作都會導致頁面重排:

頁面首次渲染; 瀏覽器窗口大小發生變化; 元素的內容發生變化; 元素的尺寸或者位置發生變化; 元素的字體大小發生變化; 激活CSS偽類;
查詢某些屬性或者調用某些方法; 添加或者刪除可見的DOM元素

  • 重繪
    當對DOM修改導致樣式的變化(如顏色,背景色),則無需重新計算,直接為該元素進行繪制。重繪就是對元素繪制屬性的修改。
    相較于重排,省去了布局和分層階段,所以執行效率相對會高。

下面這些屬性會導致重繪:

color、background 相關屬性:background-color、background-image 等; outline
相關屬性:outline-color、outline-width 、text-decoration;
border-radius、visibility、box-shadow。

注意:當觸發重排,一定會觸發重繪;但重繪不一定引發重排

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/907493.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/907493.shtml
英文地址,請注明出處:http://en.pswp.cn/news/907493.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Dolphin文檔解析從理論到實踐——保姆級教程

論文&#xff1a;https://arxiv.org/abs/2505.14059 代碼&#xff1a;github.com/bytedance/Dolphin 2025年5月&#xff0c;字節開源了文檔解析Dolphin&#xff0c;讓文檔解析效率提升83%。本文將深入解析字節跳動最新開源的Dolphin模型&#xff0c;先看理論再實戰體驗。 現實…

Web3怎么本地測試連接以太坊?

ETHEREUM_RPC_URLhttps://sepolia.infura.io/v3/你的_INFURA_API_KEY 如果你沒有 Infura Key&#xff0c;注冊 Infura 或 Alchemy&#xff0c;拿一個免費測試網節點就行&#xff1a; Infura&#xff1a;https://infura.io Alchemy&#xff1a;Alchemy - the web3 developme…

深化生態協同,寧盾身份域管完成與拓波軟件兼容互認證

在信創產業蓬勃發展的浪潮下&#xff0c;行業生態的兼容適配決定了信創產品是否好用。近日&#xff0c;寧盾身份域管與拓波軟件 TurboEX 郵件系統完成兼容互認證。測試結果顯示寧盾身份域管&#xff08;信創版&#xff09;與 TurboEX 郵件服務器軟件相互良好兼容&#xff0c;運…

HDFS存儲原理與MapReduce計算模型

HDFS存儲原理 1. 架構設計 主從架構&#xff1a;包含一個NameNode&#xff08;主節點&#xff09;和多個DataNode&#xff08;從節點&#xff09;。 NameNode&#xff1a;管理元數據&#xff08;文件目錄結構、文件塊映射、塊位置信息&#xff09;&#xff0c;不存儲實際數據…

Function calling的過程

文章目錄 逐段講清 **LLM Function Calling&#xff08;函數調用&#xff09;** 的典型鏈路。1. 角色與概念 | Actors & Concepts2. 全流程時序 | End-to-End Sequence3. 關鍵細節 | Key Implementation Notes4. 最小可用示例&#xff08;偽代碼&#xff09; | Minimal Exa…

GlobalExceptionHandler 自定義異常類 + 處理validation的異常

在 Spring Boot 項目中&#xff0c;?自定義異常通常用于處理特定的業務邏輯錯誤&#xff0c;并結合全局異常處理器&#xff08;ControllerAdvice&#xff09;統一返回結構化的錯誤信息。 一.全局異常處理器&#xff1a; 1. 自定義異常類? 定義一個繼承自 RuntimeExceptio…

軟件測試過程中如何定位BUG

在軟件測試過程中&#xff0c;定位BUG是確保軟件質量的關鍵環節。有效的BUG定位不僅能幫助開發人員快速修復問題&#xff0c;還能提升整個軟件項目的效率。以下是軟件測試中定位BUG的系統性方法和策略&#xff1a; 一、復現BUG 步驟&#xff1a; 收集信息&#xff1a;記錄BUG…

如何優化Elasticsearch的搜索性能?

優化 Elasticsearch 的搜索性能需要從索引設計、查詢優化、硬件配置和集群調優等多方面入手。以下是系統化的優化策略和實操建議: 一、索引設計優化 1. 合理設置分片數 分片大小:單個分片建議 10-50GB(超過50GB會影響查詢性能)。分片數量: 總分片數 ≤ 節點數 1000(避免…

臺式電腦CPU天梯圖_2025年臺式電腦CPU天梯圖

CPU的選擇絕對是重中之重,它關乎了一臺電腦性能好壞。相信不少用戶,在挑選CPU的時候不知道誰強誰弱,尤其是intel和AMD兩款CPU之間。下面通過2025年臺式電腦CPU天梯圖來了解下這兩款cpu. 2025年臺式電腦CPU天梯圖 2025年臺式電腦CPU天梯圖包含了老舊型號以及12代、13代、14代…

HarmonyOS_ArkTs_API(1)

HarmonyOS_ArkTs_API(1) 概述 此API服務模塊是獨自開發的應用程序的核心骨架&#xff0c;提供了鴻蒙OS ArkTS客戶端組件和Java Spring Boot后端之間的強大通信接口。該模塊采用清晰的架構方法處理所有HTTP請求、響應解析和錯誤處理&#xff0c;確保系統各部分間通信的一致性和…

matlab雷達定位仿真

一、邊掃描邊跟蹤雷達仿真 邊掃描邊跟蹤&#xff08;BISTAR&#xff09;雷達仿真是一種實時雷達信號處理的技術&#xff0c;用于模擬雷達系統的操作過程&#xff0c;特別是那些具備連續掃描能力的雷達。它的基本原理和流程可以分為以下幾個步驟&#xff1a; &#xff08;1&…

互斥鎖、自旋鎖、讀寫鎖、悲觀鎖、樂觀鎖的應用場景

一&#xff1a;并發 1.1MySQL并發事務訪問相同記錄 &#xff08;1&#xff09;讀-讀 不影響 &#xff08;2&#xff09;寫-寫 寫的數據需要一個一個來&#xff0c;排隊執行 &#xff08;3&#xff09;讀-寫 兩次讀…

KEYSIGHT N9320B是德科技N9320B頻譜分析儀

KEYSIGHT N9320B是德科技N9320B頻譜分析儀 附加功能&#xff1a; 頻率范圍&#xff1a;9 kHz 至 3 GHz 分辨率帶寬&#xff1a;10 Hz 至 1 MHz DANL&#xff1a;-130 dBm&#xff0c;-148 dBm&#xff0c;帶可選前置放大器 整體幅度精度&#xff1a;<1.5 dB 最小非零掃…

零基礎開始的網工之路第十四天------Linux程序管理

目錄 一、Linux程序與進程 1、程序,進程,線程的概念 2、程序和進程的區別 3、進程和線程的區別 二、Linux進程基礎(生命周期) 1、進程生命周期 2、父子進程的關系 三、程序管理 1、常見的軟件包類型 四、Linux操作系統啟動流程詳解 1、概述 2、啟動流程核心階段 1…

群輝(synology)NAS老機器連接出現網頁端可以進入,但是本地訪問輸入一樣的賬號密碼是出現錯誤時解決方案

群輝&#xff08;synology&#xff09;NAS老機器連接出現網頁端可以進入&#xff0c;但是本地訪問輸入一樣的賬號密碼是出現錯誤時解決方案 老機器 裝的win7 系統 登入后端網頁端的時候正常&#xff0c;但是本地訪問登入時輸入登入網頁端一樣的密碼時候出現問題解決方案 1.登…

單例模式的隱秘危機

引言 單例模式作為設計模式中的基石&#xff0c;廣泛應用于配置管理、線程池、緩存系統等關鍵場景。然而&#xff0c;許多開發者誤以為“私有構造函數”足以保障其唯一性&#xff0c;卻忽視了反射機制、對象克隆、序列化反序列化這三把“隱形利刃”——它們能繞過常規防御&…

DMBOK對比知識點對比(3)

1.數據倉庫建設方法(Inmon、Kimball) 數據倉庫建設方法(Inmon、Kimball)P293方法

Python+VR:如何讓虛擬世界更懂你?——用戶行為分析的實踐

友友們好! 我是Echo_Wish,我的的新專欄《Python進階》以及《Python!實戰!》正式啟動啦!這是專為那些渴望提升Python技能的朋友們量身打造的專欄,無論你是已經有一定基礎的開發者,還是希望深入挖掘Python潛力的愛好者,這里都將是你不可錯過的寶藏。 在這個專欄中,你將會…

游戲引擎學習第311天:支持手動排序

倉庫: https://gitee.com/mrxiao_com/2d_game_7(已滿) 新倉庫: https://gitee.com/mrxiao_com/2d_game_8 回顧并為今天的內容定下基調 我們接下來要繼續完成之前開始的工作&#xff0c;上周五開始的部分內容&#xff0c;雖然當時對最終效果還不太確定&#xff0c;但現在主要任…

數據結構第2章緒論 (竟成)

第 2 章 緒論 本章主要介紹數據結構相關的一些基本概念&#xff0c;是后續章節的基礎。我們也將 408 考試大綱中&#xff0c;關于數據結構部分的考查目標羅列在這里&#xff0c;供各位考生參考&#xff1a; 1.掌握數據結構的基本概念、基本原理和基本方法。 2.掌握數據的邏輯結…