国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

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

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

Feb 20, 2025 pm 12:56 PM

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

要點回顧

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

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

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

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

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

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

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

  • 200%
  • 2em
  • 2
  • double

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

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

大多數(shù)人選擇的答案是 2em(39% 的人選擇了這個答案)。事實上,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:如何使元素重疊

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

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

  • z-index
  • margin
  • overflow
  • background

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

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

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

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

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

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

在實踐中,你幾乎不會故意像這樣重疊塊,但負(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),最后一個問題有點卑鄙。但只有 23% 的測試者能夠正確回答這個問題(這比運氣還差?。?,它顯然觸及了一個令人困惑的點:

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

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

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

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

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

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

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

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

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

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

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

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

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

這是真正愚弄人們的一個問題,但再一次,我們談?wù)摰氖菍嶋H 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ù)段落的寬度進行換行,這是你在靈活的頁面布局中無法控制的。

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

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

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

你的得分如何?

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

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

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

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

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

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

用于購買SSL證書的經(jīng)濟有效的轉(zhuǎn)售商平臺 用于購買SSL證書的經(jīng)濟有效的轉(zhuǎn)售商平臺 Jun 25, 2025 am 08:28 AM

在一個在線信任不可談判的世界中,SSL證書對于每個網(wǎng)站都至關(guān)重要。 SSL認(rèn)證的市場規(guī)模在2024年價值56億美元,并且由于電子商務(wù)業(yè)務(wù)的激增而推動了強勁的增長

SaaS的5個最佳支付門戶:您的最終指南 SaaS的5個最佳支付門戶:您的最終指南 Jun 29, 2025 am 08:28 AM

付款網(wǎng)關(guān)是付款過程的關(guān)鍵組成部分,使企業(yè)能夠在線接受付款。它充當(dāng)客戶與商人之間的橋梁,安全地傳輸付款信息并促進交易。 為了

新研究聲稱AI比我們更好地'理解”情緒。特別是在情感上充滿電的情況下 新研究聲稱AI比我們更好地'理解”情緒。特別是在情感上充滿電的情況下 Jul 03, 2025 pm 05:48 PM

在我們認(rèn)為人類始終超越機器的領(lǐng)域的另一個挫折中,研究人員現(xiàn)在建議AI比我們更好地理解情感。研究人員發(fā)現(xiàn)人工智能證明了一個

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

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

您的設(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ū)動的“使用機器學(xué)習(xí)算法來跟蹤一個人的使用方式,Devi的方式

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

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

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

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

See all articles