成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

提升布局能力!理解 CSS 的多種背景及使用場景和技巧

開發 前端
CSS background是最常用的CSS屬性之一。然而,并不是所有開發人員都知道使用多種背景。這段時間都在關注使用多種背景場景。在本文中,會詳細介紹background-image`屬性,并結合圖形來解釋多個背景使用方式以及其實際好處。

CSS background是最常用的CSS屬性之一。然而,并不是所有開發人員都知道使用多種背景。這段時間都在關注使用多種背景場景。在本文中,會詳細介紹background-image`屬性,并結合圖形來解釋多個背景使用方式以及其實際好處。

[[338005]]

如果你還了解 CSS background 屬性,可以去先 MDN 查看相關的知識。

介紹

CSS background屬性是以下屬性的簡寫:

background-clip, background-color, background-image, background-origin, background-position, background-repeat, background-size 和 background-attachment.

對于本文,將重點介紹background-image,background-position和background-size。你準備好了嗎?讓我們開始吧!

考慮下面的例子:

  1. .element { 
  2.   background: url(cool.jpg) top left/50px 50px no-repeat; 

背景圖片位于元素的左上角,大小為50px * 50px。了解并記住位置和大小的順序很重要。

 

在上圖中,background-position后面是background-size。它們的順序是不能調換的,否則無效,如下所示:

  1. .element { 
  2.  /* 警告:無效的CSS */ 
  3.  background: url(cool.jpg) 50px 50px/top left no-repeat; 

Background Position元素的定位相對于background-origin屬性設置的定位層。我喜歡background-position的靈活性,它有多種定位元素的方式:

  • 關鍵字值(top,right,bottom,left,center)
  • 百分比值,如: 50%
  • 長度值,如:20px, 2.5rem
  • 邊緣偏移值,如:top 20px left 10px

 

坐標系統從左上角開始,默認值為0% 0%。

值得一提的是,top left的值與left top的值相同。瀏覽器足夠聰明,可以確定其中哪個個用于x軸,哪個用于y軸。

  1. .element { 
  2.  background: url(cool.jpg) top left/50px 50px no-repeat; 
  3.  /* 上面與下面相同 */ 
  4.  background: url(cool.jpg) left top/50px 50px no-repeat; 

Background Size

對于background-size屬性,第一個是width,第二個是height。

 

不必使用兩個值,你可以使用一個值,它表示寬度和高度都一樣。

 

現在,我已經了解了CSS background的工作原理,下面來探討下如何使用多個背景。

多個背景

background屬性可以具有一層或多層,以逗號分隔。如果多個背景的大小相同,則其中一個將覆蓋另一個背景。

  1. .element { 
  2.  background: url(cool.jpg) top left/50px 50px no-repeat, 
  3.  url(cool.jpg) center/50px 50px no-repeat; 

 

在上圖中,我們有兩個背景層。每個位置都不同。這是多背景的基本用法,讓我們研究一個更高級的示例。

放置順序

當放置多個背景時,其中一個背景占據其父級的全部寬度和高度時,放置順序可能會有點亂,考慮下面例子:

  1. .hero { 
  2.   min-height: 350px; 
  3.   background: url('table.jpg') center/cover no-repeat, 
  4.     url('konafa.svg') center/50px no-repeat;  

 

我們有一個盤子和一張桌子的圖片,你認為哪個會在上面?

答案就是桌子。在CSS中,第一個背景可以放置在第二個背景上,第二個背景可以放置在第三個背景上,依此類推。通過替換背景的順序,可以得到預期的結果。

 

用例和范例

遮罩層

通常,我們可能需要某部分的頂部放置一個遮罩層,以便使文本易于閱讀。通過堆疊兩個背景可以輕松完成此操作。

  1. .hero { 
  2.  background: linear-gradient(rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15)), 
  3.     url("landscape.jpg") center/cover; 

 

好的是,我們可以使用與上述相同的方法對元素應用色彩。考慮以下:

  1. .hero { 
  2.  background: linear-gradient(135deg, rgba(177, 234, 77, 0.25), rgba(69, 149, 34, 0.25), 
  3.     url("landscape.jpg") center/cover; 

 

用 CSS 繪圖

使用 CSS 漸變繪制的可能性是無限的。你可以使用linear-gradient或radial-gradient等。接著,我們來看看如何使用它兩兄弟繪制筆記本電腦。

 

拆解筆記本電腦,看看我們需要使用什么漸變。

 

拆解筆記本電腦的時,更容易考慮如何使用多個 CSS 背景來實現它。

接下來是圖紙。首先是將每個漸變定義為CSS變量及其大小。我喜歡使用CSS變量,因為它可以減少代碼的復雜性,使代碼更簡潔,更易于閱讀。

  1. :root { 
  2.   --case: linear-gradient(#222, #222); 
  3.   --case-size: 152px 103px; 
  4.  
  5.   --display: linear-gradient(#fff, #fff); 
  6.   --display-size: 137px 87px; 
  7.  
  8.   --reflection: linear-gradient(205deg, #fff, rgba(255, 255, 255, 0)); 
  9.   --reflection-size: 78px 78px; 
  10.  
  11.   --body: linear-gradient(#888, #888); 
  12.   --body-size: 182px 9px; 
  13.  
  14.   --circle: radial-gradient(9px 9px at 5px 5.5px, #888 50%, transparent 50%); 
  15.   --circle-size: 10px 10px; 

現在我們定義了漸變及其大小,下一步是放置它們。考慮下圖,以獲得更好的視覺解釋。

 

顯示影像

如前所述,應該首先定義需要在頂部的元素。在我們的情況下,顯示影像應該是第一個漸變。

 

顯示 LCD

顯示屏位于x軸中心,距y軸6px。

 

顯示 外殼

外殼位于顯示器下方,位于x軸的中心,距y軸的位置為0px。

 

主體

這是圖形中最有趣的組件。首先,主體是一個矩形,每個側面(左側和右側)有兩個圓圈。

 

最終結果

  1. :root { 
  2.   --case: linear-gradient(#222, #222); 
  3.   --case-size: 152px 103px; 
  4.   --case-pos: center 0; 
  5.  
  6.   --display: linear-gradient(#fff, #fff); 
  7.   --display-size: 137px 87px; 
  8.   --display-pos: center 6px; 
  9.  
  10.   --reflection: linear-gradient(205deg, #fff, rgba(255, 255, 255, 0)); 
  11.   --reflection-size: 78px 78px; 
  12.   --reflection-pos: top right; 
  13.  
  14.   --body: linear-gradient(#888, #888); 
  15.   --body-size: 182px 9px; 
  16.   --body-pos: center bottom; 
  17.  
  18.   --circle: radial-gradient(9px 9px at 5px 5.5px, #888 50%, transparent 50%); 
  19.   --circle-size: 10px 10px; 
  20.   --circle-left-pos: left bottom; 
  21.   --circle-right-pos: right bottom; 
  22.  
  23. .cool { 
  24.   width: 190px; 
  25.   height: 112px; 
  26.  
  27.   background-image: var(--reflection), var(--display), var(--case), var(--circle), var(--circle), var(--body); 
  28.  
  29.   background-size: var(--reflection-size), var(--display-size), var(--case-size), var(--circle-size), var(--circle-size), var(--body-size); 
  30.  
  31.   background-position: var(--reflection-pos), var(--display-pos), var(--case-pos), var(--circle-left-pos), var(--circle-right-pos), var(--body-pos); 
  32.  
  33.   background-repeat: no-repeat; 
  34.  
  35.   /*outline: solid 1px;*/ 

混合多種背景

混合使用多個背景時會令人興奮。考慮一下您在CSS中有一個背景圖像,并且想要將其變成黑白圖像。

  1. .hero { 
  2.   background: linear-gradient(#000, #000), 
  3.   url("landscape.jpg") center/cover; 
  4.   background-blend-mode: color; 

 

人才們的 【三連】 就是小智不斷分享的最大動力,如果本篇博客有任何錯誤和建議,歡迎人才們留言,最后,謝謝大家的觀看。

作者:Ahmad shaded 譯者:前端小智 來源:sitepoint

 

原文:https://css-tricks.com/css-basics-using-multiple-backgrounds/

本文轉載自微信公眾號「大遷世界」,可以通過以下二維碼關注。轉載本文請聯系大遷世界公眾號。 

 

責任編輯:武曉燕 來源: 大遷世界
相關推薦

2019-04-03 13:00:27

CSSBFC前端

2022-02-13 23:10:46

Golang語言變量

2010-09-02 11:18:46

CSSfloatposition

2010-09-01 11:34:33

CSS布局

2018-05-22 09:47:07

2020-07-13 13:00:24

CSS變量技巧

2023-05-16 07:47:18

RabbitMQ消息隊列系統

2024-01-12 13:38:54

業務購物ToC

2025-04-24 10:40:46

CatalogFlink SQL元數據

2024-04-11 13:41:47

2022-07-29 07:48:15

HTTP常用狀態碼

2010-09-01 10:27:12

CSS

2010-09-07 15:31:21

DIV CSS表單

2021-06-06 23:40:53

線程池使用場景

2024-11-27 08:15:50

2021-12-28 14:10:41

開發技能代碼

2020-02-14 13:50:32

JavaScript前端技術

2020-07-23 07:27:50

編程學習技術

2010-09-13 16:13:47

DIV CSS表單

2010-08-26 10:26:44

CSS
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费欧美视频 | 夜夜夜久久久 | 尤物视频在线免费观看 | 亚洲视频第一页 | 欧美黄视频 | 亚洲第一av | 一区二区三区视频在线免费观看 | 国产免费又色又爽又黄在线观看 | 黑人中文字幕一区二区三区 | 欧美 日本 国产 | 亚洲综合一区二区三区 | 日韩a在线 | 国产99热| 日韩网站在线观看 | 亚洲一区国产精品 | 九九热精品视频 | 精品福利在线 | 国产美女精品 | 亚洲性人人天天夜夜摸 | 在线观看免费av网 | 国产精品jizz在线观看老狼 | 老牛影视av一区二区在线观看 | 日韩成人免费中文字幕 | 一区二区三区在线播放视频 | 日韩精品成人 | 夜夜草天天草 | 国产av毛片 | 亚洲一区二区中文字幕 | 欧美精品一区三区 | 欧美日本韩国一区二区 | 亚洲精品免费在线 | 亚洲国产二区 | 中文字幕在线第一页 | 黄色一级在线播放 | 天天干天天干 | 欧美成人免费在线 | 欧美日韩免费一区二区三区 | 国产重口老太伦 | 亚洲国产一区二区三区四区 | 欧美激情第一区 | 国产精品视频网 |