鮮為人知的CSS實用技巧

大家好,我是若川。持續組織了8個月源碼共讀活動,感興趣的可以?點此加我微信ruochuan12?參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》?包含20余篇源碼文章。歷史面試系列。另外:目前建有江西|湖南|湖北籍前端群,可加我微信進群。

今天來看幾個鮮為人知但很實用的 CSS 技巧!

1. 毛玻璃特效

可以使用 CSS 中的 backdrop-filter 屬性來實現毛玻璃特效:

.login?{backdrop-filter:?blur(5px);
}

實現效果如下:

f2e95669ffc96f1110ce778b8185e7db.png

backdrop-filter 屬性可以為一個元素后面區域添加圖形效果(如模糊或顏色偏移)。因為它適用于元素_背后_的所有元素,為了看到效果,必須使元素或其背景至少部分透明。

2. 將文本設為大寫或小寫

大寫或小寫字母可以不必在 HTML中設置。可以在 CSS 中使用text-transform屬性來強制任何文本為大寫或小寫。

/*?大寫?*/
.upper?{text-transform:?uppercase;
}/*?小寫?*/
.lower?{text-transform:?lowercase;
}

效果如下:

ae385d7c11794f749dd189753b00eccc.png

text-transform 屬性專門用于控制文本的大小寫,當值為uppercase時會將文本轉為大寫,當值為capitalize時會將文本轉化為小寫,當值為capitalize時會將每個單詞以大寫字母開頭。

3. 實現首字下沉

我們可以使用::first-letter來實現文本首字母的下沉:

p.texts:first-letter?{font-size:?200%;color:?#8A2BE2;
}

:first-letter選擇器用來指定元素第一個字母的樣式,它僅適用于在塊級元素中。效果如下:

ee866ecd49b0a7ce63b79063ef63686c.png

4. 實現正方形

我們可以通過CSS中的縱橫比來實現一個正方形,這樣只需要設置一個寬度即可:

.square?{background:?#8A2BE2;width:?25rem;aspect-ratio:?1/1;
}

aspect-ratio 媒體屬性可以用來測試視口的寬高比。當然上述例子比較簡單,來看看MDN中給出的縱橫比的示例:

/*?最小寬高比?*/
@media?(min-aspect-ratio:?8/5)?{div?{background:?#9af;?/*?blue?*/}
}/*?最大寬高比?*/
@media?(max-aspect-ratio:?3/2)?{div?{background:?#9ff;??/*?cyan?*/}
}/*?明確的寬高比,?放在最下部防止同時滿足條件時的覆蓋*/
@media?(aspect-ratio:?1/1)?{div?{background:?#f9a;?/*?red?*/}
}

這里通過媒體查詢在頁面視口不同縱橫比時,顯示不同的背景顏色。關于縱橫比,還有很多用途等著你去探索!

5. 圖片文字環繞

shape-outside 是一個允許設置形狀的 CSS 屬性。它還有助于定義文本流動的區域:

.any-shape?{width:?300px;float:?left;shape-outside:?circle(50%);
}
3fda29f69670d2ffdb3f9b399153400c.png

shape-outside 屬性定義了一個可以是非矩形的形狀,相鄰的內聯內容應圍繞該形狀進行包裝。默認情況下,內聯內容包圍其邊距框; shape-outside提供了一種自定義此包裝的方法,可以將文本包裝在復雜對象周圍而不是簡單的框中。

6. :where() 簡化代碼

當對多個元素應用相同的樣式時,CSS 可能如下:

.parent?div,
.parent?.title,
.parent?#article?{color:?red;
}

這樣代碼看起來可讀性不是很好,:where() 偽類這時就派上用場了。**:where()** 偽類函數接受選擇器列表作為它的參數,將會選擇所有能被該選擇器列表中任何一條規則選中的元素。

上面的代碼使用:where()就可以這么寫:

.parent?:where(div,?.title,?#article)?{color:?red;
}

代碼是不是看起來簡潔了很多?

7. 實現平滑滾動

可以使用CSS的scroll-behavior屬性來實現在網頁上進行平滑滾動,而無需編寫復雜的 JavaScript 或使用插件。可以用于頁面錨點之間的滾動或者返回頂部等功能。

html?{scroll-behavior:?smooth;
}

當用戶手動導航或者 CSSOM scrolling API 觸發滾動操作時,CSS 屬性 scroll-behavior 為一個滾動框指定滾動行為,其他任何的滾動,例如那些由于用戶行為而產生的滾動,不受這個屬性的影響。在根元素中指定這個屬性時,它反而適用于視窗。當該屬性的值為smooth時就可以實現頁面的平滑滾動。

8. 懸停放大

想要實現圖片的懸停方法效果,使用下面的CSS代碼即可:

img:hover?{transform:?scale(1.5);
}

transform屬性應用于元素的2D或3D轉換。這個屬性允許將元素旋轉,縮放,移動,傾斜等。當值為scale就可以實現元素的 2D 縮放轉換。

9. 背景混合模式

在CSS中可以使用 background-blend-mode 來實現元素背景的混合:

.blend-1?{background-image:?url(https://duomly.nyc3.digitaloceanspaces.com/articles/coding/alps-lake.jpg);width:?100vw;height:?500px;background-size:?cover;
}?.blend-2?{background-image:?url(https://duomly.nyc3.digitaloceanspaces.com/articles/coding/alps-lake.jpg);width:?100vw;height:?500px;background-color:?#20126f;background-size:?cover;background-blend-mode:?overlay;
}

實現的效果如下:

be95687472edb6d473e636f9c26230bd.png

上面的圖片是單純的一張圖片背景,下面的圖片是背景圖片和背景顏色混合而成的。background-blend-mode 屬性就用于定義了背景層的混合模式(圖片與顏色)。支持的背景混合模式:正常|乘法|屏幕|疊加|變暗|變亮|顏色減淡|飽和度|顏色|亮度;

10. 自定義光標

我們可以通 CSS 中的cursor屬性來自定義光標的樣式,只需要指定自定義光標的圖片路徑即可:

body{??cursor:?url("path-to-image.png"),?auto;
}

除此之外, cursor還內置了很多鼠標樣式供我們選擇:

d5cf67c695985b2c17b771386c2b4914.png

ae9a1c5d90c5f627db227e3a27ea38b0.gif

·················?若川簡介?·················

你好,我是若川,畢業于江西高校。現在是一名前端開發“工程師”。寫有《學習源碼整體架構系列》20余篇,在知乎、掘金收獲超百萬閱讀。
從2014年起,每年都會寫一篇年度總結,已經堅持寫了8年,點擊查看年度總結。
同時,最近組織了源碼共讀活動,幫助4000+前端人學會看源碼。公眾號愿景:幫助5年內前端人走向前列。

f70fc2f13df3e6841306f9b97b4baeaa.png

掃碼加我微信 ruochuan12、拉你進源碼共讀

今日話題

目前建有江西|湖南|湖北?籍 前端群,想進群的可以加我微信 ruochuan12?進群。分享、收藏、點贊、在看我的文章就是對我最大的支持~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/274648.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/274648.shtml
英文地址,請注明出處:http://en.pswp.cn/news/274648.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

獵鷹spacex_我如何重新創建SpaceX儀表板UI

獵鷹spacexA couple of weeks ago, SpaceX Crew Dragon launched from Kennedy Space Center to transport astronauts Robert L. Behnken and Douglas G. Hurley to the ISS. Lots of things were revolutionary about this launch, but the one that caught my attention was…

Base64 編碼原來這么簡單

大家好,我是若川。持續組織了8個月源碼共讀活動,感興趣的可以 點此加我微信ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。另外…

spring事物 設計模式_是什么使事物變得美麗,以及如何在設計中使用它

spring事物 設計模式What do you think about the phrase “beautiful design”? You like it, don’t care or does it make you wince?w ^帽子你想想那句“美麗的設計”? 您喜歡它,不在乎還是讓自己畏縮了? For many, “beautiful” is …

直接插入排序(Straight Insertion Sort)

將一個數組,按當前元素的大小,插入到前面已經排好序的數據中的適當位置中,依次直到全入插入完全.下面是一個數組在經過插入排序時的變化情況(t表次數times)Init---{7, 4, 3, 2, 5, 6, 1} 初始t1----{4, 7, 3, 2, 5, 6, 1} 將第1個元素按其大小插到前面排好序的數列的相應位置…

歷時一個月!50+Vue經典面試題詳解,值得收藏!

大家好,我是若川。持續組織了8個月源碼共讀活動,感興趣的可以 點此加我微信ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。另外…

頁面滾動時觸發圖片逐幀播放_如何在滾動效果上創建逐幀運動圖像

頁面滾動時觸發圖片逐幀播放A step by step guide on how to create that dynamic image background you see everywhere.有關如何創建隨處可見的動態圖像背景的逐步指南。 內容 (Content) Introduction 介紹 Result demo 結果演示 Prerequisite 先決條件 Step by step guide …

hdu 4391 Paint The Wall 線段樹 +優化 2012 Multi-University Training Contest 10 )

http://acm.hdu.edu.cn/showproblem.php?pid4391題意:刷墻, 以開始 有 n個節點,每個節點有一種顏色 ,m 次詢問m次 輸入 a,l,r,z 如果 a1 將 l到 r 刷為 z 顏色,如果 a2 詢問 l 到…

前端監控的搭建步驟,別再一頭霧水了!

大家好,我是若川。持續組織了8個月源碼共讀活動,感興趣的可以 點此加我微信ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。另外…

1812:網格_指導設計:網格的歷史

1812:網格The grid has long played a central role in the development of art and design due to its organizational nature; acting as a matrix for controlling the placement of elements. In art: Foreground and background. In design: Image and type. And so on.網…

HDU ACM 1728 逃離迷宮 (廣搜BFS)

http://acm.hdu.edu.cn/showproblem.php?pid1728 題意:給出一張圖,轉彎數k,起點(x1,y1),(x2,y2)判斷能不能最多只轉k個彎時從起點走到終點 輸入時注意起點與終點是先y后x的 思路:用point[4][2]表示方向向量,每次遍歷遍歷一行或者一列,遍歷時要注意遇到遍歷過的點要跳過去,繼續…

Element使用的async-validator表單校驗庫源碼超詳細解析

大家好,我是若川。持續組織了8個月源碼共讀活動,感興趣的可以 點此加我微信ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。另外…

從零手寫 Vue 之響應式系統

大家好,我是若川。持續組織了8個月源碼共讀活動,感興趣的可以 點此加我微信ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。另外…

WPF 分頁控件應用

效果圖&#xff1a; 前臺代碼&#xff1a; <UserControl x:Class"Layout.UI.Comm.Pager"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc"http:/…

李寧品牌重塑_邁伊多品牌重塑的幕后

李寧品牌重塑This post was originally published on the Maido blog.這篇文章最初發表在 Maido博客上 。 You might notice that we’ve had a little facelift at Maido. Or you might not — and that’s totally fine. What we launched at the end of last year was not r…

搭建前端監控,如何采集異常數據?

大家好&#xff0c;我是若川。持續組織了近一年的源碼共讀活動&#xff0c;感興趣的可以 點此加我微信ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。…

產品經理如何提高創造力_如何提高產品設計師的創造力

產品經理如何提高創造力When David Kelley, Bill Moggridge, and Mike Nuttall founded IDEO, a consulting firm that would become one of the most innovative companies of the late 90s, they brought a new perspective in product development.當大衛凱利(David Kelley)…

Github上8個很棒的Vue項目

大家好&#xff0c;我是若川。持續組織了近一年的源碼共讀活動&#xff0c;感興趣的可以 點此加我微信ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。…

域名解析文件hosts文件是什么?如何修改hosts文件?

如何修改hosts文件&#xff1f; hosts文件的位置&#xff1a;xp,2000等系統在 C:\windows\system32\drivers\etc 文件夾中找到Hosts文件并用記事本打開(Windows 9x/Me系統在C:\Windows文件夾中找)按照 ip地址 域名 的格式添加單獨的一行記錄。例如72.14.219.190 www.hbcms.net…

python 投資組合_成功投資組合的提示

python 投資組合Lately, I’ve had some free time during my job transition and have been reviewing a few of my friends’ design portfolios. Gradually, I found some common themes around the feedback I’ve given. And it occurred to me that others might find so…

Github上8個很棒的React項目

大家好&#xff0c;我是若川。持續組織了近一年的源碼共讀活動&#xff0c;感興趣的可以 點此加我微信ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列。…