實用的CSS小技巧

前言

css一直都是一個玄學語言,很簡單也很靈活複雜。

有些異常的效果,很多有經驗的開發者也搞不明白該怎麼解釋。今天就來盤點那些好用意想不到效果的樣式。

打字機動畫效果

經常在網頁首頁我們可以看到類似這種打字效果的樣式,可以用 js 來實現,但是用 css 更加優雅。

實用的CSS小技巧

打字機效果

<!—— html程式碼 ——>

純css實現:單行文字的打字機動畫效果

/* css程式碼 */ 。typing { height: 80vh; display: flex; align-items: center; justify-content: center; } 。effect { width: 35ch; white-space: nowrap; overflow: hidden; border-right: 3px solid; font-family: monospace; font-size: 2em; animation: typingAnimation 2s steps(22), effect 。5s step-end infinite alternate; } @keyframes typingAnimation { from { width: 0; } } @keyframes effect { 50% { border-color: transparent; } }

給透明圖片陰影效果

對於png的圖片是帶有透明通道的(也就是

Alpha通道

),在這種情況下

你是否使用過

box-shadow

為圖片新增陰影?但是效果卻不是我們想要的,而正確的方式應該使用

drop-shadow

來為圖片新增陰影。

drop-shadow

的工作原理也很簡單,就是遵循給給定圖片的

Alpha

通道。因此陰影是基於圖片的內部形狀,而不是顯示在圖片外面的輪廓。

實用的CSS小技巧

兩者屬性的效果

attr() 展示 tooltip提示框

來實現這種提示框的效果我們第一反應可能就是使用 js 來實現彈框的效果,其實利用

attr()

屬性更加的簡單。我們使用

tooltip

樣式類來展示顯示的文字樣式,利用

:before

:after

偽類的 content 屬性填充內容,內容的變數就是

tooltip-data

屬性的值

實用的CSS小技巧

tooltip提示框效果

<!—— html程式碼 ——>

TOOLTIP 提示

滑鼠移動到 這裡 檢視提示。

/* css程式碼 */ 。wrap { text-align: center; } 。tooltip { position: relative; border-bottom: 1px dotted black; } 。tooltip:before { content: attr(tooltip-data); position: absolute; width: 250px; background-color: pink; color: #000; text-align: center; padding: 15px; font-size:16; line-height: 1。1; border-radius: 5px; z-index: 1; opacity: 0; transition: opacity 。5s; bottom: 125%; left: 50%; margin-left: -60px; } 。tooltip:after { content: “”; position: absolute; bottom: 75%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; opacity: 0; transition: opacity 。5s; border-color: pink transparent transparent transparent; } 。tooltip:hover:before, 。tooltip:hover:after { opacity: 1; }