亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
當(dāng)用戶將鼠標(biāo)懸停在超鏈接上時,為其添加陰影。
當(dāng)選中復(fù)選框時,以不同的顏色顯示複選框的標(biāo)籤。
為表格的奇數(shù)行和偶數(shù)行賦予不同的背景顏色。
在靈活的頁面佈局中,將段落的首行顯示為粗體文本。
首頁 科技週邊 IT業(yè)界 3件事(幾乎)沒人知道CSS

3件事(幾乎)沒人知道CSS

Feb 20, 2025 pm 12:56 PM

CSS 技巧測試:你真的了解 CSS 嗎?

要點(diǎn)回顧

  • 設(shè)置雙倍行高的最佳方法是使用無單位數(shù)字(例如 2),這樣具有不同字體大小的子元素可以繼承正確的行高比率。
  • 儘管普遍誤解認(rèn)為 z-index 本身會導(dǎo)致重疊,但實(shí)際上可以通過 margin 屬性(特別是設(shè)置負(fù)邊距)使 HTML 元素重疊。
  • 偽元素和偽類是 CSS 中截然不同的特性:偽類在特定條件下應(yīng)用於實(shí)際的 HTML 元素,而偽元素允許對文檔中並非實(shí)際 HTML 元素的部分進(jìn)行樣式設(shè)置。
  • W3C 試圖在CSS3 選擇器規(guī)範(fàn)中區(qū)分偽元素和偽類,方法是為偽元素選擇器使用兩個冒號(::first-line),為偽類使用一個冒號(:hover),但為了向後兼容性,瀏覽器必須同時支持這兩種版本。

你認(rèn)為自己精通 CSS 嗎?如果過去六個月我在網(wǎng)上提供的免費(fèi) CSS 測試結(jié)果有任何參考意義的話,許多經(jīng)驗豐富的開發(fā)者對 CSS 的了解程度並沒有他們想像的那麼好。在迄今為止參加測試的 3000 多人中,平均得分僅為 55%。

但是,平均值本身並沒有那麼有趣。我更想知道人們錯在哪裡。為了撰寫這篇文章,我分析了數(shù)據(jù),並重點(diǎn)關(guān)注了人們得分特別低的三個問題。我將逐一講解每個問題,向您展示大多數(shù)人選擇的答案,並解釋正確的答案。

可以肯定地說,如果你在閱讀完這篇文章後自己參加測試,你將擁有不公平的優(yōu)勢!

問題 1:設(shè)置 line-height 的最佳方法

第一個問題對於定期處理文本樣式的人來說應(yīng)該很容易:

你希望網(wǎng)站上的文本默認(rèn)情況下為雙倍行高。以下哪個 line-height 值是實(shí)現(xiàn)此目的的最佳方法?

  • 200%
  • 2em
  • 2
  • double

有四個答案可供選擇,你預(yù)計有 25% 的人會靠運(yùn)氣答對,但只有 31% 的人答對了這個問題!花點(diǎn)時間自己選擇一個答案,然後繼續(xù)閱讀。

首先,double 是個乾擾項。 line-height 唯一接受的關(guān)鍵字值是 normal。我很高興地說,只有 9% 的人選擇了這個選項。其餘三個答案都很受歡迎。

大多數(shù)人選擇的答案是 2em(39% 的人選擇了這個答案)。事實(shí)上,2em 當(dāng)然會為應(yīng)用它的元素提供雙倍行高;但 200% 也會,而只有 21% 的人喜歡這個答案!要么 em 比百分比更流行,要么人們並不真正理解它們。

然而,正確的答案是 2。

很久以前,當(dāng)我第一次學(xué)習(xí) CSS 時,我就被灌輸了這個教訓(xùn)。始終將 line-height 指定為無單位數(shù)字;這樣,指定不同字體大小的子元素將繼承該數(shù)字,而不是固定的行高。

假設(shè)頁面具有 12pt 的默認(rèn)字體大小,但它還包含一個字體大小為 24pt 的標(biāo)題。如果你將正文的line-height 設(shè)置為2em(或200%),那麼你將在整個文檔中獲得恰好24pt(正文字體大小的兩倍)的行高——即使在該標(biāo)題中也是如此。因此,標(biāo)題將是單倍行高,而不是雙倍行高!

相反,將 line-height 設(shè)置為 2 會告訴瀏覽器即使字體大小發(fā)生變化也要保持字體大小/行高比率。正文的行高將為 24pt,但對於標(biāo)題的 24pt 字體,行高將自動增加到 48pt。

問題 2:如何使元素重疊

這個問題有點(diǎn)棘手。它需要一些 CSS 佈局經(jīng)常需要的“技巧”經(jīng)驗:

以下哪個 CSS 屬性本身就可以導(dǎo)致 HTML 元素重疊?

  • z-index
  • margin
  • overflow
  • background

選好答案了嗎?好的,讓我們深入探討。

再一次,有一個很容易排除的選項:background。除了 2% 的測試者之外,所有人都避開了它,因為他們知道它控制背景顏色和圖像。

不幸的是,大多數(shù)人直接選擇了 z-index。高達(dá) 46% 的人選擇了這個答案。我猜這是因為沒有人真正理解 z-index 的工作原理。事實(shí)上,單獨(dú)設(shè)置 z-index 屬性沒有任何效果;你還需要設(shè)置元素的 position 屬性才能使 z-index 發(fā)揮作用。簡而言之,z-index 允許你控制確實(shí)重疊的元素的堆疊順序,但它們首先需要重疊。 MDN 有一篇非常好的文章,名為“理解 CSS z-index”,值得一讀,了解更多詳情。

如果你曾經(jīng)使用過 overflow,那麼它也應(yīng)該很容易排除。它控制不適合大小框的內(nèi)容的行為:是否被截斷,是否流出框的邊緣等。同樣,這取決於框的大小是否通過其他屬性來約束;它本身不會導(dǎo)致重疊。儘管如此,仍有 22% 的人認(rèn)為它可能會。

這讓我們只剩下 margin,這是正確的答案。只有 30% 的人答對了。你可能會好奇,一個在元素之間創(chuàng)建距離的屬性怎麼可能導(dǎo)致它們重疊。如果你做過任何實(shí)際的 CSS 佈局,答案應(yīng)該很明顯:負(fù)邊距會使元素重疊。

為了演示這一點(diǎn),創(chuàng)建一個包含兩個 div 元素的頁面。將第二個 div 的 margin-top 設(shè)置為負(fù)值,例如 -100px。砰!第二個 div 現(xiàn)在覆蓋了第一個 div 的底部一百像素。

在實(shí)踐中,你幾乎不會故意像這樣重疊塊,但負(fù)邊距對於將 HTML 元素擠壓到它們通常不會去的地方非常有用。我經(jīng)常使用它們將左浮動或右浮動的元素推入其父框的填充區(qū)域。

3 Things (Almost) No One Knows About CSS

對於網(wǎng)頁設(shè)計史愛好者來說,2005 年使用負(fù)邊距重疊元素使得所謂的 One True Layout(以及後來的 Holy Grail 佈局)等三列頁面佈局成為可能。

問題 3:偽元素與偽類

我承認(rèn),最後一個問題有點(diǎn)卑鄙。但只有 23% 的測試者能夠正確回答這個問題(這比運(yùn)氣還差?。?,它顯然觸及了一個令人困惑的點(diǎn):

以下哪個效果最適合使用偽元素來實(shí)現(xiàn)?

  • 當(dāng)用戶將鼠標(biāo)懸停在超鏈接上時,為其添加陰影。
  • 當(dāng)選中復(fù)選框時,以不同的顏色顯示複選框的標(biāo)籤。
  • 為表格的奇數(shù)行和偶數(shù)行賦予不同的背景顏色。
  • 在靈活的頁面佈局中,將段落的首行顯示為粗體文本。

這三個選擇都是使用偽類實(shí)現(xiàn)的效果;只有一個涉及偽元素。你能區(qū)分它們嗎?

偽類是實(shí)際 HTML 元素可能處於的特定狀態(tài)??梢园阉胂癯梢粋€虛擬類,瀏覽器在特定條件下會自動將其應(yīng)用於元素。

偽元素是文檔的一部分,即使它不是實(shí)際的 HTML 元素,CSS 也允許你對其進(jìn)行樣式設(shè)置。它就像一個虛擬 HTML 元素——即使它周圍沒有實(shí)際的 HTML 標(biāo)籤,你也可以對其進(jìn)行樣式設(shè)置。

考慮到這種區(qū)別,讓我們來看一下這些選項:

當(dāng)用戶將鼠標(biāo)懸停在超鏈接上時,為其添加陰影。

超鏈接是一個實(shí)際的 HTML 元素。僅在特定情況下(當(dāng)鼠標(biāo)懸停在其上時)對其應(yīng)用樣式意味著我們正在使用偽類。在這種情況下,你將使用的偽類是 :hover

22% 的測試者認(rèn)為這是一個偽元素。

當(dāng)選中復(fù)選框時,以不同的顏色顯示複選框的標(biāo)籤。

同樣,標(biāo)籤是一個實(shí)際的 HTML 元素,而不是虛擬元素。當(dāng)選中復(fù)選框時,瀏覽器會將 :checked 偽類應(yīng)用於它。然後,你可以在你的選擇器中使用它來設(shè)置複選框的樣式,甚至可以設(shè)置它旁邊的標(biāo)籤的樣式(例如,使用相鄰?fù)x擇器 )。

20% 的測試者認(rèn)為這是一個偽元素。

為表格的奇數(shù)行和偶數(shù)行賦予不同的背景顏色。

這是真正愚弄人們的一個問題,但再一次,我們談?wù)摰氖菍?shí)際 HTML 元素(在本例中為 tr 元素)應(yīng)用樣式。 tr 在其父元素的子元素集合中是奇數(shù)還是偶數(shù),這只是你可以用偽類匹配的另一種情況。

在這種情況下,偽類是 :nth-child(even)(或 :nth-child(2n))用於偶數(shù)元素,:nth-child(odd)(或 :nth-child(2n 1))用於奇數(shù)元素。

我猜這僅僅是因為 :nth-child 和偽元素通常聽起來都像是非?;逎?CSS 特性,但有 36% 的測試者選擇了這個作為偽元素。

在靈活的頁面佈局中,將段落的首行顯示為粗體文本。

當(dāng)然,這是正確的答案。到目前為止,希望區(qū)別已經(jīng)很清楚了。在靈活的頁面佈局中,你無法查看頁面的 HTML 代碼並說“那裡的元素只包含段落文本的第一行”。瀏覽器根據(jù)段落的寬度進(jìn)行換行,這是你在靈活的頁面佈局中無法控制的。

:first-line 是允許你對塊中的第一行文本應(yīng)用樣式的偽元素,無論該第一行換行到第二行的位置在哪裡。

如果你在想“好吧,這聽起來很有道理,但是,沒有人知道偽元素和偽類的區(qū)別”,那麼 W3C 同意你的看法。在 CSS3 選擇器規(guī)範(fàn)中,為了區(qū)分兩者,它更改了語法,以便偽元素選擇器使用兩個冒號(::first-line),而偽類仍然使用一個冒號(:hover)。當(dāng)然,為了向後兼容性,瀏覽器必須同時支持這兩種版本。

所以是的,就像我說的那樣:卑鄙的問題。但是,嘿,如果你像我一樣是 CSS 極客,我想你會知道你的偽元素和偽類的區(qū)別。

你的得分如何?

就是這樣:測試中的三個難題。如果你自信地回答了其中一個問題,那麼你做得不錯。答對了兩個?還不錯。如果你答對了所有三個,我很想聽聽你的想法!尤其是在我已經(jīng)給出這些答案之後,我真的很需要一些更棘手的 CSS 問題的想法。請在評論中發(fā)布它們!

如果你喜歡這些問題,也許你願意嘗試一下其餘的測試。請放心,其他問題比這些問題容易得多……大部分!

以上是3件事(幾乎)沒人知道CSS的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

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

您的設(shè)備餵養(yǎng)AI助手並收集個人數(shù)據(jù),即使他們睡著了。這是如何知道您分享的內(nèi)容。 您的設(shè)備餵養(yǎng)AI助手並收集個人數(shù)據(jù),即使他們睡著了。這是如何知道您分享的內(nèi)容。 Jul 05, 2025 am 01:12 AM

不管喜歡與否,人工智能已成為日常生活的一部分。許多設(shè)備(包括電動剃須刀和牙刷)已成為AI驅(qū)動的“使用機(jī)器學(xué)習(xí)算法來跟蹤一個人的使用方式,Devi的方式

由於新的Microsoft AI型號 由於新的Microsoft AI型號 Jul 05, 2025 am 12:44 AM

一種新的人工智能(AI)模型已經(jīng)證明了比幾個使用最廣泛使用的全球預(yù)測系統(tǒng)更快,更精確地預(yù)測重大天氣事件的能力。該名為Aurora的模型已接受過培訓(xùn)。

高級AI型號的CO₂回答相同問題時的排放量比更常見的LLM 高級AI型號的CO₂回答相同問題時的排放量比更常見的LLM Jul 06, 2025 am 12:37 AM

根據(jù)最近的一項研究,我們試圖使AI模型的功能越精確,其碳排放量就越大 - 某些提示產(chǎn)生的二氧化碳比其他提示高達(dá)50倍。

威脅AI聊天機(jī)器人,它將撒謊,作弊和'讓您死”以阻止您,並警告 威脅AI聊天機(jī)器人,它將撒謊,作弊和'讓您死”以阻止您,並警告 Jul 04, 2025 am 12:40 AM

根據(jù)一項新的研究,人工智能(AI)模型在模型的目標(biāo)和用戶決定之間發(fā)生衝突時可能會威脅和勒索人類。

ai不斷地'幻覺”,但是有一個解決方案 ai不斷地'幻覺”,但是有一個解決方案 Jul 07, 2025 am 01:26 AM

大型技術(shù)實(shí)驗人工智能(AI)的主要關(guān)注點(diǎn)並不是它可能主導(dǎo)人類。真正的問題在於大語言模型(LLMS)的持續(xù)不準(zhǔn)確性,例如Open AI的Chatgpt,Google的Gemini和

研究表明,當(dāng)問題變得太困難時 研究表明,當(dāng)問題變得太困難時 Jul 07, 2025 am 01:02 AM

人工智能(AI)推理模型並不像看起來那樣能力。實(shí)際上,根據(jù)Apple的研究人員的說法,當(dāng)任務(wù)變得過於復(fù)雜時,它們的表現(xiàn)會完全崩潰。

在網(wǎng)絡(luò)攻擊M&S和合作社的網(wǎng)絡(luò)攻擊背後捕獲了狩獵者的逮捕 在網(wǎng)絡(luò)攻擊M&S和合作社的網(wǎng)絡(luò)攻擊背後捕獲了狩獵者的逮捕 Jul 11, 2025 pm 01:36 PM

英國國家犯罪局(NCA)逮捕了四名涉嫌參與針對Marks和Spencer(M&S),合作社和Harrods的網(wǎng)絡(luò)攻擊的人

See all articles