前端面試題-CSS

1. 盒模型

  • ??渲染時, dom 元素所采?的 布局模型。可通過 box-sizing 進?設置。根據計算寬?的區域可分為
    • content-box ( W3C 標準盒模型)
    • border-box ( IE 盒模型)
    • padding-box
    • margin-box (瀏覽器未實現)

2. BFC

  • 塊級格式化上下?,是?個獨?的渲染區域,讓處于 BFC 內部的元素與外部的元素相互隔離,使內外元素的定位不會相互影響。
  • IE下為 Layout ,可通過 zoom:1 觸發

觸發條件:

  • 根元素
  • position: absolute/fixed
  • display: inline-block / table
  • float 元素
  • ovevflow !== visible

規則:

  • 屬于同?個 BFC 的兩個相鄰 Box 垂直排列
  • 屬于同?個 BFC 的兩個相鄰 Box 的 margin 會發?重疊
  • BFC 中?元素的 margin box 的左邊, 與包含塊 (BFC) border box 的左邊相接觸(?元素 absolute 除外)
  • BFC 的區域不會與 float 的元素區域重疊
  • 計算 BFC 的?度時,浮動?元素也參與計算
  • ?字層不會被浮動層覆蓋,環繞于周圍

應?:

  • 阻? margin 重疊
  • 可以包含浮動元素 —— 清除內部浮動(清除浮動的原理是兩個 div 都位于同?個 BFC 區域之中)
  • ?適應兩欄布局
  • 可以阻?元素被浮動元素覆蓋

3.層疊上下?

  • 元素提升為?個?較特殊的圖層,在三維空間中 (z軸) ?出普通元素?等。

觸發條件

  • 根層疊上下?( html )
  • position
  • css3 屬性
    • flex
    • transform
    • opacity
    • filter
    • will-change
    • webkit-overflow-scrolling

層疊等級:層疊上下?在z軸上的排序

  • 在同?層疊上下?中,層疊等級才有意義
  • z-index 的優先級最?

4. 居中布局

?平居中

  • ?內元素: text-align: center
  • 塊級元素: margin: 0 auto
  • absolute + transform
  • flex + justify-content: center

垂直居中

  • line-height: height
  • absolute + transform
  • flex + align-items: center
  • table

?平垂直居中

  • absolute + transform
  • flex + justify-content + align-items

5. 選擇器優先級

  • !important > ?內樣式 > #id > .class > tag > * > 繼承 > 默認
  • 選擇器 從右往左 解析

6.去除浮動影響,防??級?度塌陷

  • 通過增加尾元素清除浮動
  • :after /
    : clear: both
  • 創建?級 BFC
  • ?級設置?度

7.link 與 @import 的區別

  • link 功能較多,可以定義 RSS ,定義 Rel 等作?,? @import 只能?于加載 css
  • 當解析到 link 時,??會同步加載所引的 css ,? @import 所引?的 css 會等到??加載完才被加載
  • @import 需要 IE5 以上才能使?
  • link 可以使? js 動態引?, @import 不?

8. CSS預處理器(Sass/Less/Postcss)

  • CSS 預處理器的原理: 是將類 CSS 語?通過 Webpack 編譯 轉成瀏覽器可讀的真正 CSS 。在這層編譯之上,便可以賦予 CSS 更多更強?的功能,常?功能:
    • 嵌套
    • 變量
    • 循環語句
    • 條件語句
    • ?動前綴
    • 單位轉換
    • mixin 復?

9.CSS動畫

transition: 過渡動畫

  • transition-property : 屬性
  • transition-duration : 間隔
  • transition-timing-function : 曲線
  • transition-delay : 延遲
  • 常?鉤?: transitionend

animation / keyframes

  • animation-name : 動畫名稱,對應 @keyframes
  • animation-duration : 間隔
  • animation-timing-function : 曲線
  • animation-delay : 延遲
  • animation-iteration-count : 次數
    • infinite : 循環動畫
  • animation-direction : ?向
    • alternate : 反向播放
  • animation-fill-mode : 靜?模式
    • forwards : 停?時,保留最后?幀
    • backwards : 停?時,回到第?幀
    • both : 同時運? forwards / backwards
  • 常?鉤?: animationend
  • 動畫屬性: 盡量使?動畫屬性進?動畫,能擁有較好的性能表現
    • translate
    • scale
    • rotate
    • skew
    • opacity
    • color

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

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

相關文章

題解:ABC277E - Crystal Switches

題解:ABC277E - Crystal Switches 題目 鏈接:Atcoder。 鏈接:洛谷。 難度 算法難度:B。 思維難度:A。 調碼難度:C。 綜合評價:普及/提高。 算法 寬度優先搜索拆點思路 思路 把每個點…

Android WakefulBroadcastReceiver的使用

WakefulBroadcastReceiver 是一種特殊類型的廣播接收器,為應用創建和管理 PARTIAL_WAKE_LOCK 。 簡單來說, WakefulBroadcastReceiver 是持有系統喚醒鎖的 BroadcastReceiver ,用于執行需要保持CPU運轉的場景。 注冊 注冊 Receiver &#…

將vue項目通過electron打包成windows可執行程序

將vue項目打包成windows可執行程序 1、準備好dist將整個項目打包 npm run build2、安裝electron依賴 npm install electron --save-dev npm install electron-packager --save-dev"electron": "^13.1.4", "electron-packager": "^15.2.0…

九耶丨閣瑞鈦倫特-在項目中找到的經典BUG是什么?

在項目中找到的經典BUG有很多種,以下是其中一些常見的例子: 空指針異常(NullPointerException):當程序試圖訪問一個空對象或未初始化的變量時,會拋出空指針異常。這通常是由于缺少對變量的正確初始化或檢查…

Neo4j之FOREACH基礎

在 Neo4j 中,FOREACH 語句用于在查詢中對一組元素執行某些操作,通常是在創建或更新節點關系時。它常常與 CREATE 或 SET 等操作結合使用。 創建多個關系: MATCH (p:Person), (m:Movie) WHERE p.name Alice AND m.title The Matrix FOREAC…

MySQL常用練手題目

數據庫表名和字段設計 1.學生表 Student(s_id,s_name,s_birth,s_sex) 學生編號,學生姓名, 出生年月,學生性別 2.課程表 Course(c_id,c_name,t_id) 課程編號, 課程名稱, 教師編號 3.教師表 Teacher(t_id,t_name) 教師編號,教師姓名 4.成績表 Score (s_id,c_id,s_score) 學生編號…

C# window forms 進度條實現

在 C# Windows Forms 應用程序中,如果在后臺執行長時間運行的任務,并希望同時更新進度條,可以使用多線程來實現。這將確保進度條的更新不會阻塞主線程,從而保持界面的響應性。以下是一個示例,演示了如何在后臺執行任務…

【Datawhale 科大訊飛-基于論文摘要的文本分類與關鍵詞抽取挑戰賽】機器學習方法baseline

內容 科大訊飛AI開發者大賽NLP賽道題目: 基于論文摘要的文本分類與關鍵詞抽取挑戰賽 任務: 1.機器通過對論文摘要等信息的理解,判斷該論文是否屬于醫學領域的文獻。 2.提取出該論文關鍵詞。 數據集的獲取 訓練集: 這里讀取tit…

【基礎】Android Handler

一、博客參考 Handler機制詳解【重點】:https://www.jianshu.com/p/b4d745c7ff7a Handler Thread工作線程操作UI范例【重點】:https://www.cnblogs.com/net168/p/4075126.html 二、內存泄漏的解決:靜態內部類弱引用 關于 Handler&#xf…

vue+flask基于知識圖譜的抑郁癥問答系統

vueflask基于知識圖譜的抑郁癥問答系統 抑郁癥已經成為當今社會刻不容緩需要解決的問題,抑郁癥的危害主要有以下幾種:1.可導致病人情緒低落:抑郁癥的病人長期處于悲觀的狀態中,感覺不到快樂,總是高興不起來。2.可導致工…

智慧工地平臺工地人員管理系統 可視化大數據智能云平臺源碼

智慧工地概述: 智慧工地管理平臺是以物聯網、移動互聯網技術為基礎,充分應用大數據、人工智能、移動通訊、云計算等信息技術,利用前端信息采通過人機交互、感知、決策、執行和反饋等,實現對工程項目內人員、車輛、安全、設備、材…

elaticsearch(3)

整合springboot 1.整合依賴 注意依賴版本和安裝的版本一致 <properties> <java.version>1.8</java.version> <!-- 統一版本 --> <elasticsearch.version>7.6.1</elasticsearch.version> </properties> 導入elastics…

數據結構算法--1 順序查找二分查找

順序查找時間復雜度為O(n) 我們可以借助Python中的函數enumerate,通過enumerate遍歷列表返回其索引和值 def linnear_search(li, val):for ind, v in enumerate(li):if v val:return indelse:return None 也可以通過列表長度依次遍歷: def linear_search(li, val): # …

瀏覽器渲染原理 - 輸入url 回車后發生了什么

目錄 渲染時間點渲染流水線1&#xff0c;解析&#xff08;parse&#xff09;HTML1.1&#xff0c;DOM樹1.2&#xff0c;CSSOM樹1.3&#xff0c;解析時遇到 css 是怎么做的1.4&#xff0c;解析時遇到 js 是怎么做的 2&#xff0c;樣式計算 Recalculate style3&#xff0c;布局 la…

創建react native項目的筆記

創建react native項目的筆記 重新下載 ruby安裝 watchman安裝 cocoapods安裝 react native 項目創建好項目后安裝 ios 依賴清除設備緩存安裝 android 依賴鏈接 網易 mumu 模擬器安裝路由 Navigation頁面之間的跳轉邏輯自定義頭部樣式判斷不同設備平臺代碼示例安裝 Axios安裝本地…

java mysql druid mybatis-plus里使用多表刪除出錯的一種處理方式

今天在出來多表刪除的時候在mapper.xml用了下面的多個delete語句 <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"…

Spring Cloud 系列之OpenFeign:(7)鏈路追蹤zipkin

傳送門 Spring Cloud Alibaba系列之nacos&#xff1a;(1)安裝 Spring Cloud Alibaba系列之nacos&#xff1a;(2)單機模式支持mysql Spring Cloud Alibaba系列之nacos&#xff1a;(3)服務注冊發現 Spring Cloud 系列之OpenFeign&#xff1a;(4)集成OpenFeign Spring Cloud …

PHP酒店點菜管理系統mysql數據庫web結構apache計算機軟件工程網頁wamp

一、源碼特點 PHP 酒店點菜管理系統是一套完善的web設計系統&#xff0c;對理解php編程開發語言有幫助&#xff0c;系統具有完整的源代碼和數據庫&#xff0c;系統主要采用B/S模式開發。 代碼下載 https://download.csdn.net/download/qq_41221322/88232051 論文 https://…

前端技術Vue學習筆記--005

Vue學習筆記 一、非父子通信-event bus 事件總線 作用&#xff1a;非父子組件之間&#xff0c;進行簡易消息傳遞。&#xff08;復雜場景用----Vuex&#xff09; 使用步驟&#xff1a; 創建一個都能訪問的事件總線 &#xff08;空Vue實例&#xff09;-----utils/EventBus.js /…

兩個數組的交集-C語言/Java

描述 給定兩個數組 nums1 和 nums2 &#xff0c;返回 它們的交集 。輸出結果中的每個元素一定是 唯一 的。我們可以 不考慮輸出結果的順序。&#xff08;1 < nums1.length, nums2.length < 1000&#xff0c;0 < nums1[i], nums2[i] < 1000&#xff09; 示例1 輸入…