談一些有趣的CSS題目(一)-- 左邊豎條的實作方法
開本系列,討論一些有趣的 CSS 題目,拋開實用性而言,一些題目為了拓寬一下解決問題的思路,此外,涉及一些容易忽視的 CSS 細節。
解題不考慮相容性,題目天馬行空,想到什麼說什麼,如果解題中有你感覺到生僻的 CSS 屬性,趕緊去補習一下吧。
不斷更新,不斷更新,不斷更新,重要的事情說三次。
匯總在我的 Github ,發到博客希望得到更多的解法。
題目1、下面這個圖形,只使用一個標籤,可以有多少種實作方式:
假設我們的單一標籤是一個 div
:
<div></div>
定義如下通用CSS
:
div{ position:relative; width:200px; height:60px; background:#ddd; }
法一:border
這個應該是最最容易想到的了
div{ border-left:5px solid deeppink; }
法二:使用偽元素
一個標籤,算上 before
與 after
偽元素,其實算是有三個標籤,這也是許多單標籤作圖的基礎,本題中,使用偽元素可以輕易完成。
div::after{ content:""; width:5px; height:60px; position:absolute; top:0; left:0; background:deeppink; }
法三:外 box-shadow
盒陰影 box-shadow
大部分人只是用了生成陰影,其實陰影可以有多重陰影,陰影不可以不虛化,這就需要去了解一下 box-shaodw
的每一個參數具體作用。使用 box-shaodw
解題
div{ box-shadow:-5px 0px 0 0 deeppink; }
法四:內 box-shadow
盒陰影還有一個參數 inset
,用來設定內陰影,也可以完成:
div{ box-shadow:inset 5px 0px 0 0 deeppink; }
法五:drop-shadow
drop-shadow
是 CSS3 新增濾鏡 filter
中的其中一個濾鏡,也可以產生陰影,不過它的數值參數個數只有 3 個,比之 box-shadow 少一個。
div{ filter:drop-shadow(-5px 0 0 deeppink); }
法六:漸變 linearGradient
靈活使用 CSS3 的漸變可以完成大量想不到的圖形,CSS3 的漸變分為線性漸變和徑向漸變,本題使用線性漸變,可以輕易解題:
div{ background-image:linear-gradient(90deg, deeppink 0px, deeppink 5px, transparent 5px); }
法七:輪廓 outline
這個用的比較少,outline (輪廓)是繪製於元素周圍的一條線,位於邊框邊緣的外圍,可起到突出元素的作用。這個方法算是下之選。
div{ height:50px; outline:5px solid deeppink; } div{ position:absolute; content:""; top:-5px; bottom:-5px; right:-5px; left:0; background:#ddd; }
法八、捲軸
這個方法由 小火柴的藍色理想 提供,透過改變滾動條樣式實現:
div{ width:205px; background:deeppink; overflow-y:scroll; } div::-webkit-scrollbar{ width: 200px; background-color:#ddd; }
拋開實用性,光是模擬出這個樣式的話,這個方法真的讓人眼睛一亮。
上述就是想到的 8 種方法,不排除有沒想到的,希望有其他的方法可以在評論中提出,具體 8 種實現可以戳這裡看看:
codepen-單標籤左邊豎條的實作方式
所有題目匯總在我的 Github ,發到博客希望得到更多的解法。
到此本文結束,如果還有什麼疑問或建議,可以多多交流,原創文章,文筆有限,才疏學淺,文中若有不正之處,萬望告知。

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

HTML適合初學者學習,因為它簡單易學且能快速看到成果。 1)HTML的學習曲線平緩,易於上手。 2)只需掌握基本標籤即可開始創建網頁。 3)靈活性高,可與CSS和JavaScript結合使用。 4)豐富的學習資源和現代工具支持學習過程。

HTML定義網頁結構,CSS負責樣式和佈局,JavaScript賦予動態交互。三者在網頁開發中各司其職,共同構建豐富多彩的網站。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

GiteePages靜態網站部署失敗:404錯誤排查與解決在使用Gitee...

AnexampleOfAstartingTaginHtmlis,beginSaparagraph.startingTagSareEssentialInhtmlastheyInitiateEllements,defiteTheeTheErtypes,andarecrucialforsstructuringwebpages wepages webpages andConstructingthedom。

實現圖片點擊後周圍圖片散開並放大效果許多網頁設計中,需要實現一種交互效果:點擊某張圖片,使其周圍的...

網頁批註功能的Y軸位置自適應算法本文將探討如何實現類似Word文檔的批註功能,特別是如何處理批註之間的間�...

HTML、CSS和JavaScript是Web開發的三大支柱。 1.HTML定義網頁結構,使用標籤如、等。 2.CSS控製網頁樣式,使用選擇器和屬性如color、font-size等。 3.JavaScript實現動態效果和交互,通過事件監聽和DOM操作。
