目錄
以下選擇器的特指性是多少?
color 屬性的計算值為 red。正確還是錯誤?
以下示例中會顯示什麼形狀?
計算 .child 元素的 width 屬性計算值的算法是什麼?
偽元素的 display 屬性的計算值是什麼?
在父元素 display: flexdisplay: grid 的情況下,子元素的默認位置有什麼區別?
.child 元素的 widthheight 屬性的計算值是什麼?
.child 元素的邊距在所有情況下都會超出父元素之外。正確還是錯誤?
邊距折疊是否在 display: inline-flexdisplay: inline-grid 的元素內部有效?
偽元素的位置是水平和垂直居中。正確還是錯誤?
min-width 屬性的計算值是什麼?
我們如何使用 gap 屬性來替換 margin 屬性?
display 屬性的計算值為 block。正確還是錯誤?
為什麼 .parent 元素的 height 屬性的計算值為 0?
在以下示例中,isolation 屬性的作用是什麼?
偽元素的位置是什麼?
width 屬性的計算值是什麼?
padding 屬性的計算值是什麼?
為什麼 p 元素的 background-color 屬性的計算值為綠色?
首頁 web前端 css教學 您應該知道CSS。我的問題以提高您的CSS技能

您應該知道CSS。我的問題以提高您的CSS技能

Jan 30, 2025 am 02:08 AM

You Should Know CSS. My questions to level up your CSS skill

大家好!

CSS 涵蓋眾多主題,沒有哪個開發者能完全掌握所有內容。誠然,我們無需精通所有知識就能勝任工作,但有些 CSS 基礎知識是必不可少的。我的問題正是圍繞這些核心知識點展開。

這些問題並不適合初學者,你至少需要一年的 CSS 經驗,兩年則更好。只有具備一定的經驗,你才能更好地理解這些問題的用意。

你也可以在 Github 上關注項目的開發進度。

開始吧!

注意:我使用了“計算值”這一術語,它指的是你在開發者工具“計算”選項卡中看到的屬性值。

以下選擇器的特指性是多少?

:is(#container, .content, main) {
  color: red;
}
登入後複製
登入後複製
登入後複製

:is()偽類函數幫助瀏覽器從給定的選擇器列表中選擇特指性最高的選擇器。在本例中,特指性最高的選擇器是#container。該選擇器的特指性為 (0, 1, 0, 0)。這將應用於整個 @规则

color 屬性的計算值為 red。正確還是錯誤?

.container {
  color: red;
}

:where(#container) {
  color: blue;
}
登入後複製
登入後複製
登入後複製

正確。 :where() 偽類函數會使特指性歸零。因此,.container 選擇器的特指性更高。這就是為什麼 color 屬性的計算值為 red

以下示例中會顯示什麼形狀?

.container {
  display: inline;
  width: 1rem;
  height: 1rem;
  background-color: currentColor;
}
登入後複製
登入後複製
登入後複製

如果元素的 display 屬性為 inline,則 widthheight 屬性無效。我們將看不到正方形,也看不到任何內容。

計算 .child 元素的 width 屬性計算值的算法是什麼?

<div class="parent">
  <div class="child"></div>
</div>
<div class="parent-flex">
  <div class="child"></div>
</div>
登入後複製
登入後複製
登入後複製
.parent {
  display: block;
}

.parent-flex {
  display: flex;
}
登入後複製
登入後複製
登入後複製

情況 1:.child 元素是塊級元素。它們的 width 屬性等於父元素的 width 屬性。

情況 2:.child 元素是彈性項目。它們的 width 屬性根據內容計算。

偽元素的 display 屬性的計算值是什麼?

.parent {
  display: inline-grid;
}

.parent::before {
  content: "";
  display: inline;  
}

.parent::after {
  content: "";
  display: flex;
}
登入後複製
登入後複製
登入後複製

blockflexgridinline-grid 值會將子元素的 display 屬性的 inline-* 值轉換為 block 替代值。

在父元素 display: flexdisplay: grid 的情況下,子元素的默認位置有什麼區別?

display: flex 的父元素內部,子元素會在一行中依次顯示。相反,在 display: grid 的情況下,元素會一個接一個地顯示在下方。

.child 元素的 widthheight 屬性的計算值是什麼?

:is(#container, .content, main) {
  color: red;
}
登入後複製
登入後複製
登入後複製
.container {
  color: red;
}

:where(#container) {
  color: blue;
}
登入後複製
登入後複製
登入後複製

.child 元素的 width 屬性等於父元素的 width 屬性。因此,width 屬性的計算值為 1600px。 (假設瀏覽器默認字體大小為 16px,100rem = 100 * 16px = 1600px)

display: grid 的父元素內部,height 屬性會填充所有空間。如果父元素有多個項目,空間將平均分配給它們。因此,.child 元素的 height 屬性的計算值為 20rem / 2 = 10rem,即 10 * 16 = 160px。

.child 元素的邊距在所有情況下都會超出父元素之外。正確還是錯誤?

.container {
  display: inline;
  width: 1rem;
  height: 1rem;
  background-color: currentColor;
}
登入後複製
登入後複製
登入後複製
<div class="parent">
  <div class="child"></div>
</div>
<div class="parent-flex">
  <div class="child"></div>
</div>
登入後複製
登入後複製
登入後複製

錯誤。 display: flexdisplay: inline-flexdisplay: griddisplay: inline-grid 的子元素邊距不會超出父元素之外。

邊距折疊是否在 display: inline-flexdisplay: inline-grid 的元素內部有效?

否,無效。在 display: flexdisplay: inline-flexdisplay: griddisplay: inline-grid 的元素內部,邊距將被累加。

偽元素的位置是水平和垂直居中。正確還是錯誤?

.parent {
  display: block;
}

.parent-flex {
  display: flex;
}
登入後複製
登入後複製
登入後複製

正確。瀏覽器會平均分配子元素和父元素邊框之間的所有空間。

min-width 屬性的計算值是什麼?

.parent {
  display: inline-grid;
}

.parent::before {
  content: "";
  display: inline;  
}

.parent::after {
  content: "";
  display: flex;
}
登入後複製
登入後複製
登入後複製
<div class="parent">
  <div class="child"></div>
</div>
登入後複製
登入後複製

min-width 的初始值為 auto。因此,.child 元素的 min-width 計算值為 auto

但是,如果為元素定義了 blockinlineinline-blocktabletable-* 值,則其子元素的 min-width 計算值為 0。

我們如何使用 gap 屬性來替換 margin 屬性?

.parent { 
  display: grid; 
  width: 100rem; 
  height: 20rem; 
}
登入後複製

我們應該為 .parent 元素定義 gap 屬性。

display 屬性的計算值為 block。正確還是錯誤?

<div class="parent">
  <div class="child"></div>
</div>
登入後複製
登入後複製

正確。如果定義了 absolutefixed 值,瀏覽器會將 display 屬性的所有 inline-* 值轉換為 block 替代值。

為什麼 .parent 元素的 height 屬性的計算值為 0?

/* case #1 */
.parent {
  display: inline-flex;
}

.child {
  display: block;
  margin-block: 1rem;
}

/* case #2 */
.parent {
  display: grid;
}

.child {
  display: block;
  margin-block: 1rem;
}
登入後複製
.container {
  display: grid;
  height: 100dvh;
}

.container::before {
  content: "";
  width: 1rem;
  height: 1rem;
  margin: auto;
}
登入後複製

具有 position: absoluteposition: fixed 的元素會從正常的文檔流中移除。因此,父元素看不到它。這就是為什麼 height 屬性的計算值為 0。

在以下示例中,isolation 屬性的作用是什麼?

:is(#container, .content, main) {
  color: red;
}
登入後複製
登入後複製
登入後複製
.container {
  color: red;
}

:where(#container) {
  color: blue;
}
登入後複製
登入後複製
登入後複製

我們應該記住,在使用 z-index 屬性時,瀏覽器使用的是哪個堆疊上下文。

默認情況下,根堆疊上下文是 html 元素。這就是為什麼在沒有 isolation: isolate 的情況下,偽元素位於 .parent 元素之後。

我們使用 isolation 屬性為 .child 元素創建了一個新的堆疊上下文。因此,偽元素顯示在文本後面,但在 .parent 元素前面。

偽元素的位置是什麼?

.container {
  display: inline;
  width: 1rem;
  height: 1rem;
  background-color: currentColor;
}
登入後複製
登入後複製
登入後複製

首先,由於應用了 place-items: center,偽元素顯示在中心。

在應用position: absolutebottom: 0 後,它沿Y 軸移動到父元素底部邊框,因為toprightbottomleft 屬性的優先級高於place-items屬性。

width 屬性的計算值是什麼?

<div class="parent">
  <div class="child"></div>
</div>
<div class="parent-flex">
  <div class="child"></div>
</div>
登入後複製
登入後複製
登入後複製

flex-basis 屬性的優先級高於 width 屬性,但其值也必須在 min-widthmax-width 屬性的值範圍內。所以答案是 225px。

padding 屬性的計算值是什麼?

.parent {
  display: block;
}

.parent-flex {
  display: flex;
}
登入後複製
登入後複製
登入後複製

在使用 CSS 自定義屬性時,我們應該定義簡寫的所有部分。如果我們不這樣做,瀏覽器就無法應用值。

這在我們的示例中發生了。 padding 簡寫需要 4 個值,但開發者只定義了 3 個。瀏覽器無法設置填充。因此,計算值為 0。

為什麼 p 元素的 background-color 屬性的計算值為綠色?

.parent {
  display: inline-grid;
}

.parent::before {
  content: "";
  display: inline;  
}

.parent::after {
  content: "";
  display: flex;
}
登入後複製
登入後複製
登入後複製

CSS 自定義屬性會從為父元素定義的相同自定義屬性繼承值。如果省略了自定義屬性,瀏覽器將使用回退值。

在我們的示例中,從父元素中省略了 --background-color 屬性。因此,瀏覽器使用回退值,即 inherit 關鍵字,該關鍵字從 body 元素的 background-color 屬性繼承綠色值。

This revised output maintains the original image formatting and avoids significant alterations to the meaning while rephrasing the text for improved readability and flow. The questions are presented in a more concise and organized manner.

以上是您應該知道CSS。我的問題以提高您的CSS技能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

使用GraphQL緩存 使用GraphQL緩存 Mar 19, 2025 am 09:36 AM

如果您最近開始使用GraphQL或審查了其優點和缺點,那麼您毫無疑問聽到了諸如“ GraphQl不支持緩存”或

使用Redwood.js和Fauna構建以太坊應用 使用Redwood.js和Fauna構建以太坊應用 Mar 28, 2025 am 09:18 AM

隨著最近比特幣價格超過20k美元的攀升,最近打破了3萬美元,我認為值得深入研究創建以太坊

VUE 3 VUE 3 Apr 02, 2025 pm 06:32 PM

它的出局!恭喜Vue團隊完成了完成,我知道這是一項巨大的努力,而且很長時間。所有新文檔也是如此。

您可以從瀏覽器獲得有效的CSS屬性值嗎? 您可以從瀏覽器獲得有效的CSS屬性值嗎? Apr 02, 2025 pm 06:17 PM

我有人寫了這個非常合法的問題。 Lea只是在博客上介紹瞭如何從瀏覽器中獲得有效的CSS屬性。那樣的是這樣。

在CI/CD上有點 在CI/CD上有點 Apr 02, 2025 pm 06:21 PM

我說的“網站”比“移動應用程序”更合適,但我喜歡Max Lynch的框架:

比較瀏覽器的響應式設計 比較瀏覽器的響應式設計 Apr 02, 2025 pm 06:25 PM

這些桌面應用程序中有許多目標是同時在不同的維度上顯示您的網站。因此,例如,您可以寫作

在WordPress塊編輯器中使用Markdown和本地化 在WordPress塊編輯器中使用Markdown和本地化 Apr 02, 2025 am 04:27 AM

如果我們需要直接在WordPress編輯器中向用戶顯示文檔,那麼最佳方法是什麼?

帶有粘性定位的堆疊卡和一點點的雜物 帶有粘性定位的堆疊卡和一點點的雜物 Apr 03, 2025 am 10:30 AM

前幾天,我發現了科里·金尼文(Corey Ginnivan)網站上的這一點,當您滾動時,彼此之間的卡片堆放集。

See all articles