常見的 CSS 知識點整理

1. 盒模型(Box Model)是什么?標準盒模型和 IE 盒模型的區別?

  • 答案
    CSS 盒模型將元素視為一個盒子,由內容(content)、內邊距(padding)、邊框(border)、外邊距(margin)組成。
    • 標準盒模型:元素的寬度(width)僅指內容寬度。
    • IE盒模型:元素的寬度包括內容、內邊距和邊框的總和。
    • 切換方式
      box-sizing: content-box; /* 標準模式(默認) */
      box-sizing: border-box;  /* IE模式(推薦使用) */
      

2. CSS 選擇器的優先級如何計算?

  • 答案
    優先級從高到低依次為:
    1. !important(慎用,破壞自然優先級)
    2. 內聯樣式(如 style="color: red;"
    3. ID 選擇器(#id
    4. 類/偽類/屬性選擇器(.class, :hover, [type="text"]
    5. 元素/偽元素選擇器(div, ::before
    • 示例
      .box #title 的優先級高于 div.title(ID > 類 > 元素)。

3. 如何讓一個元素水平垂直居中?

  • 答案
    方法 1:Flex 布局(推薦)

    .parent {display: flex;justify-content: center; /* 水平居中 */align-items: center;     /* 垂直居中 */
    }
    

    方法 2:絕對定位 + 平移

    .child {position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%); /* 自身寬高的一半 */
    }
    

4. Flex 布局和 Grid 布局的區別?

  • 答案
    • Flex:一維布局,適合按行或列排列元素(如導航欄、卡片列表)。
    • Grid:二維布局,可以同時控制行和列(如復雜網格、儀表盤)。
    • 比喻
      Flex 像排隊,只能橫向或縱向對齊;Grid 像棋盤,可以精確控制每個格子的位置。

5. 什么是 BFC?如何觸發 BFC?

  • 答案
    • BFC(塊級格式化上下文):一個獨立的渲染區域,內部元素不會影響外部。
    • 觸發條件
      • overflow: hidden
      • float: left/right
      • position: absolute/fixed
      • display: inline-block/flex/grid
    • 作用
      • 解決外邊距重疊(如父子元素 margin 合并)。
      • 清除浮動(防止父元素高度塌陷)。

6. 如何實現響應式設計?

  • 答案
    1. 媒體查詢(Media Queries)
      @media (max-width: 768px) {/* 手機端樣式 */
      }
      
    2. 相對單位:使用 %vwrem 替代固定像素。
    3. 彈性布局:Flex/Grid 自動適應屏幕尺寸。
    4. 圖片適配srcset 屬性或 max-width: 100% 防止圖片溢出。

7. CSS 動畫(animation)和過渡(transition)的區別?

  • 答案
    • transition:需要觸發條件(如 hover),只能定義開始和結束狀態,適合簡單變化(如顏色漸變)。
      .box { transition: width 0.5s ease; }
      .box:hover { width: 200px; }
      
    • animation:通過關鍵幀(@keyframes)控制全過程,可自動播放,適合復雜動畫(如旋轉、連續運動)。
      @keyframes spin {from { transform: rotate(0deg); }to { transform: rotate(360deg); }
      }
      .box { animation: spin 2s infinite; }
      

8. 如何清除浮動(clearfix)?

  • 答案
    原因:父元素未設置高度時,子元素浮動會導致父元素高度塌陷。
    解決方法
    .parent::after {content: "";display: block;clear: both; /* 清除左右浮動 */
    }
    

9. 偽類(:hover)和偽元素(::before)的區別?

  • 答案
    • 偽類:選擇元素的特定狀態(如 :hover:focus)。
    • 偽元素:在元素內創建虛擬內容(如 ::before::after)。
    • 示例
      .button:hover { color: red; }          /* 偽類 */
      .button::before { content: "★"; }     /* 偽元素 */
      

10. CSS 如何實現多列等高布局?

  • 答案
    方法 1:Flex 布局

    .parent {display: flex;
    }
    /* 子元素自動等高 */
    

    方法 2:Grid 布局

    .parent {display: grid;grid-auto-flow: column; /* 按列排列 */
    }
    

附:高頻進階問題

  • 層疊上下文(z-index 生效條件):需設置 position 非 static。
  • CSS 預處理器(Sass/Less)的作用:變量、嵌套、混合(mixin)等。
  • CSS 性能優化:減少重排(如用 transform 替代 top/left)、壓縮代碼。

以上問題覆蓋了 CSS 的核心概念和實際應用場景,建議結合代碼實踐加深理解!

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

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

相關文章

Educational Codeforces Round 178 div2(題解ABCDE)

A. Three Decks #1.由于最后三個數會相等&#xff0c;提前算出來和&#xff0c;%3判斷&#xff0c;再判前兩個數是否大于 #include<iostream> #include<vector> #include<stdio.h> #include<map> #include<string> #include<algorithm> #…

如何創建一個導入模板?全流程圖文解析

先去找到系統內可以上傳東西的按鈕 把你的模板上傳上去,找到對應的fileName 圖里的文字寫錯了,是復制粘貼"filePath"到URL才能下載

通信原理第七版與第六版區別附pdf

介紹 我用夸克網盤分享了「通信原理 第7版》樊昌信」&#xff0c;鏈接&#xff1a;https://pan.quark.cn/s/be7c5af4cdce 《通信原理&#xff08;第7版&#xff09;》是在第6版的基礎上&#xff0c;為了適應當前通信技術發展和教學需求&#xff0c;并吸取了數十所院校教師的反…

Mysql唯一性約束

唯一性約束&#xff08;Unique Constraint&#xff09;是數據庫設計中用于保證表中某一列或多列組合的值具有唯一性的一種規則。它可以防止在指定列中插入重復的數據&#xff0c;有助于維護數據的完整性和準確性。下面從幾個方面為你詳細解釋 作用 確保數據準確性&#xff1a…

測試基礎筆記第十六天

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 一、UI自動化介紹1.認識UI自動化測試2.實施UI自動化測試前置條件3.UI自動化測試執行時機4.UI自動化測試核心作用和劣勢 二、認識Web自動化測試工具-Selenium021.Sel…

PaddleX的安裝

參考&#xff1a;安裝PaddlePaddle - PaddleX 文檔 1、安裝PaddlePaddle 查看 docker 版本 docker --version 若您通過 Docker 安裝&#xff0c;請參考下述命令&#xff0c;使用飛槳框架官方 Docker 鏡像&#xff0c;創建一個名為 paddlex 的容器&#xff0c;并將當前工作目…

長效住宅IP是什么?如何獲取長效住宅IP?

在當今的互聯網世界里&#xff0c;IP地址作為連接用戶與網站之間的橋梁&#xff0c;其重要性不言而喻。對于跨境電商、社交媒體運營以及數據采集等領域的專業人士而言&#xff0c;普通的IP地址已無法滿足日益復雜的需求。他們更需要一種穩定、安全且持久的長效住宅IP來完成各類…

02 業務流程架構

業務流程架構提供了自上而下的組織鳥瞰圖&#xff0c;是業務流程的全景圖。根據所采用的方法不同&#xff0c;有時被稱為流程全景圖或高層級流程圖&#xff0c;提供了業務運營中所有業務流程的整體視圖。 這樣有助于理解企業內部各個業務流程之間的相互關系以及它們如何共同工…

jenkins slave節點打包報錯Failed to create a temp file on

jenkins slave節點打包報錯 一、報錯信息 FATAL: Unable to produce a script file Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to slave-83at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1784)at hudson.remoting.UserRequest$…

什么是 Swagger 以及如何在 Spring Boot 中實現 Swagger:配置與實踐指南

在現代 RESTful API 開發中&#xff0c;Swagger 是一種廣泛使用的工具&#xff0c;用于生成、描述和可視化 API 文檔。它極大地簡化了 API 的開發、測試和維護過程。結合 Spring Boot&#xff0c;Swagger 可以快速集成到項目中&#xff0c;生成交互式 API 文檔&#xff0c;方便…

Xilinx FPGA支持的FLASH型號匯總

以博主這些年的FPGA開發使用經驗來看&#xff0c;FPGA開發的主流還是以Xilinx FPGA為主&#xff0c;貿易戰關稅戰打了這么多年&#xff0c;我們做研發的也不可避免的要涉及一些國產替代的工作&#xff1b;這里把Xilinx FPGA官方支持的各類&#xff08;國產和非國產&#xff09;…

第3講:ggplot2完美入門與美化細節打磨——從基礎繪制到專業級潤色

目錄 1. 為什么選擇ggplot2? 2. 快速了解ggplot2繪圖核心邏輯 3. 基礎繪圖示范:柱狀圖、折線圖、散點圖 (1)簡單柱狀圖 (2)折線圖示范 (3)高級散點圖 + 擬合線 4. 精細美化:細節打磨決定專業感 5. 推薦的美化小插件(可選進階) 6. 小練習:快速上手一幅美化…

Vue3 上傳后的文件智能預覽(實戰體會)

目錄 前言1. Demo12. Demo2 前言 &#x1f91f; 找工作&#xff0c;來萬碼優才&#xff1a;&#x1f449; #小程序://萬碼優才/r6rqmzDaXpYkJZF 爬蟲神器&#xff0c;無代碼爬取&#xff0c;就來&#xff1a;bright.cn 此處的基本知識涉及較少&#xff0c;主要以Demo的形式供大…

transformer-實現單層Decoder 層

Decoder Layer 論文地址 https://arxiv.org/pdf/1706.03762 解碼器層結構 Transformer解碼器層由三種核心組件構成&#xff1a; Masked多頭自注意力&#xff1a;關注解碼器序列當前位置之前的上下文&#xff08;因果掩碼&#xff09; Encoder-Decoder多頭注意力&#xff1a;關…

設計模式每日硬核訓練 Day 16:責任鏈模式(Chain of Responsibility Pattern)完整講解與實戰應用

&#x1f504; 回顧 Day 15&#xff1a;享元模式小結 在 Day 15 中&#xff0c;我們學習了享元模式&#xff08;Flyweight Pattern&#xff09;&#xff1a; 通過共享對象&#xff0c;分離內部狀態與外部狀態&#xff0c;大量減少內存開銷。適用于字符渲染、游戲場景、圖標緩…

大數據開發環境的安裝,配置(Hadoop)

1. 三臺linux服務器的安裝 1. 安裝VMware VMware虛擬機軟件是一個“虛擬PC”軟件&#xff0c;它使你可以在一臺機器上同時運行二個或更多Windows、DOS、LINUX系統。與“多啟動”系統相比&#xff0c;VMWare采用了完全不同的概念。 我們可以通過VMware來安裝我們的linux虛擬機…

多模態大語言模型arxiv論文略讀(四十九)

When Do We Not Need Larger Vision Models? ?? 論文標題&#xff1a;When Do We Not Need Larger Vision Models? ?? 論文作者&#xff1a;Baifeng Shi, Ziyang Wu, Maolin Mao, Xin Wang, Trevor Darrell ?? 研究機構: UC Berkeley、Microsoft Research ?? 問題背…

【深度學習與大模型基礎】第14章-分類任務與經典分類算法

Part 1&#xff1a;什么是分類任務&#xff1f; 1.1 分類就是“貼標簽” 想象你有一堆水果&#xff0c;有蘋果&#x1f34e;、橘子&#x1f34a;、香蕉&#x1f34c;&#xff0c;你的任務是讓機器學會自動判斷一個新水果屬于哪一類——這就是分類&#xff08;Classification&…

LeetCode 2906 統計最大元素出現至少K次的子數組(滑動窗口)

給出一個示例&#xff1a; 輸入&#xff1a;nums [1,3,2,3,3], k 2 輸出&#xff1a;6 解釋&#xff1a;包含元素 3 至少 2 次的子數組為&#xff1a;[1,3,2,3]、[1,3,2,3,3]、[3,2,3]、[3,2,3,3]、[2,3,3] 和 [3,3] 。該題也是一個比較簡單的滑動窗口的題目&#xff0c;但是…

使用 Spring Boot 進行開發

? 使用 Spring Boot 進行開發 ? &#x1f4cc; 本節將深入介紹如何高效使用 Spring Boot&#xff0c;涵蓋以下核心主題&#xff1a; 1?? &#x1f527; 構建系統 深入了解 Spring Boot 的項目結構和依賴管理 2?? ?? 自動配置 探索 Spring Boot 的自動化配置機制和原…