整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          Web前端開發基礎知識,設置網頁背景圖,如何在網頁中插入圖片

          一、圖片的表現形式

          當我們在制作頁面的時候,通常會遇到圖片的三種表現形式,如下:

          1、內容圖片

          內容圖片是頁面中真正的內容,沒有內容圖片,就無法完整的理解頁面內容。如淘寶網上的商品展示圖片,這些圖片是網頁的一部分,它們能幫助你決定這個頁面的內容是否是你需要的。

          內容圖片

          2、布局圖片

          布局圖片出現在頁面背景中,要想理解頁面的內容,它們不是必須的。如蘋果官網的這個圖片,沒有這個圖片也能理解頁面上文字描述的內容是什么意思。

          布局圖片

          3、交互圖片

          圖中用紅色框起來的圖片會給你瀏覽頁面的時候帶來一些幫助,如搜索圖片,一看到就知道這里可以搜索想要的東西,購物車圖片可以看到選購的產品,箭頭圖片點擊可以看到更詳細的產品等。

          交互圖片

          二、創建內容圖片

          在HTML中我們用 img 標簽創建圖片,英文是image的縮寫。

          <img src="" alt="">

          內容圖片

          • img是空標簽,沒有結束標簽
          • src屬性的值是一個圖片的URL地址,地址可以是相對路徑,也可以是絕對路徑
          • alt屬性:填寫對這張圖片的簡單描述,增加圖片的可訪問性
          • 圖片應該被存放在單獨的文件夾中,如:images文件夾

          三、創建布局圖片

          布局圖片是在CSS中被創建出來的,使用CSS中的background屬性,如:

          1)background-color 定義背景顏色,設置背景圖片時,要始終設置背景顏色,確保背景圖片沒有成功時會顯示一個背景顏色

          2)background-image 可以指向一個相對路徑或者絕對路徑來添加圖片。

          3)background-repeat可以設置背景是否平鋪在容器中,包含四個關鍵字:

          • background-repeat:repeat 可以設置背景圖片橫向和縱向都平鋪。
          • background-repeat:no-repeat 設置圖片不平鋪,圖片默認顯示在容器的左上角
          • background-repeat:repeat-x 設置圖片只能在橫向平鋪
          • background-repeat:repeat-y 設置圖片只能在縱向平鋪

          4)background-position 屬性可以控制背景圖片顯示在什么位置,包含兩個關鍵字,如:

          background-position:top left 設置圖片顯示在容器的左上角,第一個關鍵字可以是top、center、bottom,第二個關鍵字可以是left、center、right

          CSS中和背景相關的屬性可以簡寫在一行中,如:

          background: #FF1298 url(images/logo.png) center right no-repeat;

          首先是圖片的顏色color,image,position,repeat,CSS屬性能用簡寫就盡量用簡寫,簡寫比分開寫性能更高。

          布局圖片

          四、創建用戶交互圖片

          Web上最常用的三種圖像格式

          1)Jpeg 可以展示一張照片或者復雜圖像

          • 可以表示多達1600萬種顏色,即所有的十六進制顏色
          • 不支持圖像透明
          • 不支持動畫
          • 擴展名為.jpg或.jpeg

          2)png最適合展示網頁插畫、logo和網頁小圖標

          • 可以表示上百萬種不同顏色的圖像
          • 包括png-8、png-24和png-32,取決于想表示多少種顏色
          • 可以設置顏色透明
          • 不支持動畫
          • 擴展名為.png

          3)gif適合展示網頁插畫、logo和網頁小圖標

          • 可以表示最多256種不同顏色
          • 可以設置顏色透明
          • 支持動畫
          • 擴展名是.gif

          建議:

          • 復雜顏色的圖像和照片則要使用jpeg格式
          • 動態圖像要使用gif格式
          • png格式的透明圖片要比gif格式的更平滑
          • 這三種圖像相對于其他格式的圖像文件比較小,適合web頁面高效展示

          一般情況下用戶交互圖片都是一些小圖標,所以使用png或gif作為用戶交互圖片;使用CSS的background屬性以背景圖片的形式為網頁添加用戶交互圖片;推薦把用戶交互圖片放在同一個文件中,可以提高網絡和服務器性能,如:

          交互圖片

          交互圖片

          具體如何操作呢?后續教頭會通過視頻給大家詳細演示,請繼續關注。

          這樣一個需求,就是在一個DIV中包含有一個Image標簽,但是在Div標簽中包含有一張背景圖片,設計圖上的樣子是這張背景圖片是有一個透明度的,但是如果直接使用opacity屬性設置的的話就會連Div中的內容的透明度也會受到影響,那么我們如何在HTML中設置div背景圖片的透明度呢?,可以通過以下幾種方法實現。

          方法一:使用偽元素

          這是在日常開發中被推薦使用的方法,通過這種方式實現不會影響到div中的其他內容的透明度只會影響它自己背景的透明度,詳細實現如下。

          <!DOCTYPE html>
          <html>
          <head>
              <style>
                  .container {
                      position: relative;
                      width: 300px;
                      height: 200px;
                      overflow: hidden;
                  }
          
                  .container::before {
                      content: "";
                      background-image: url('your-image.jpg');
                      background-size: cover;
                      background-position: center;
                      position: absolute;
                      top: 0;
                      left: 0;
                      right: 0;
                      bottom: 0;
                      opacity: 0.5; /* 調整透明度 */
                      z-index: 1;
                  }
          
                  .content {
                      position: relative;
                      z-index: 2;
                      color: white;
                  }
              </style>
          </head>
          <body>
              <div class="container">
                  <div class="content">
                      這里是內容
                  </div>
              </div>
          </body>
          </html>

          方法二:使用RGBA顏色疊加

          這種方式比較適合那種需要給背景圖片上添加蒙版的情況,但是筆者嘗試的時候,結果實在是不盡人意。所以還是選擇了上面的推薦方法,不過這種方式要比上面的那種方式實現起來要簡單很多。如下所示。

          <!DOCTYPE html>
          <html>
          <head>
              <style>
                  .container {
                      width: 300px;
                      height: 200px;
                      background: rgba(255, 255, 255, 0.5) url('your-image.jpg') no-repeat center center;
                      background-size: cover;
                  }
              </style>
          </head>
          <body>
              <div class="container">
                  這里是內容
              </div>
          </body>
          </html>

          方法三:使用CSS濾鏡

          這種方式實現會影響到整個的div的樣式,也就是說頁面中的內容的透明度也會受到影響,并且這種影響不會被其他樣式所改變。如下所示。

          <!DOCTYPE html>
          <html>
          <head>
              <style>
                  .container {
                      width: 300px;
                      height: 200px;
                      background: url('your-image.jpg') no-repeat center center;
                      background-size: cover;
                      filter: opacity(0.5); /* 調整透明度 */
                  }
              </style>
          </head>
          <body>
              <div class="container">
                  這里是內容
              </div>
          </body>
          </html>

          以上就是實現如何調整div的背景透明度,在一些特殊場景中我們還可以通過JS的方式來實現。上面的方法中,推薦使用的是偽元素方法,因為它在修改了div背景透明度之后,并不會影響到其他的元素,RGBA色彩添加則是局限于一些色彩華麗的地方使用,而對于一些單色調的內容來講這種方式實現效果不是太好。通過CSS過濾樣式,雖然是最直接的方式,但是如果在div內部有內容的情況下會影響到整個組件體系的樣式。

          在實際開發中,我們可以選擇合適的方式來實現這個需求。當然還有其他的實現方式,有興趣的讀者可以留言我們一起討論。

          如果網頁只有一種顏色,那是非常可怕的,顏色的設置豐富了網頁,就如同多彩繽紛的世界。

          在了解css顏色之前,我們回顧下計算機是如何顯示顏色的?計算機根據色光三原色的原理通過各種算法來顯示顏色。

          css 顏色 —— color

          網頁中使用顏色關鍵字、16進制字符、rgb、rgba等表示紅,綠,藍三種顏色混合色,如下示例,幾種寫法都是指同一個顏色(紅色):

          color:red;
          color: #ff0000;
          color: rgb(255,0,0)
          color: rgba(255,0,0,1)

          對于16進制形式,每2位表示一個顏色,從左到右分別是紅、綠、藍,每種顏色取值從00 到 FF。

          如下示例:

          color: #000000; /*黑色*/
          color: #ffffff; /*白色*/
          color: #ff0000; /*紅色*/
          color: #00ff00; /*綠色*/
          color: #0000ff; /*藍色*/

          對于rgb的表示法,由三個參數組成,分別是紅、綠、藍,每種顏色取值從0 到 255。

          如下示例:

          color: rgb(0,0,0); /*黑色*/
          color: rgb(255,255,255); /*白色*/
          color: rgb(255,0,0); /*紅色*/
          color: rgb(0,255,0); /*綠色*/
          color: rgb(0,0,255); /*藍色*/

          紅,綠,藍值從0到255的結合,給出了總額超過1600多萬不同的顏色(256 × 256 ×256)。

          但是現代大多數顯示器能夠顯示至少16384種顏色。所以在使用顏色時要格外注意,避免設置不能夠顯示的顏色,可以參考網頁安全色:https://www.w3school.com.cn/cssref/css_colors.asp。

          顏色除了有三原色紅綠藍組成,還有亮度層級,如下圖:

          rgba 中的a是指透明度,這個是css3新增加的屬性,通過rgba可以設置更加漂亮的顏色。

          css 背景 —— background

          通過background屬性可以設置元素的背景色、背景圖片,語法如下:

          background:bg-color bg-image position/bg-size bg-repeat bg-origin bg-clip bg-attachment initial|inherit;

          background 在一個聲明中設置所有的背景屬性,可以在這里設置如下屬性:

          • background-color —— 背景顏色。
          • background-image —— 使用的背景圖像
          • background-position —— 背景圖像的位置
          • background-size —— 背景圖片的大小
          • background-repeat —— 如何重復背景圖像
          • background-origin —— 背景圖片的定位區域
          • background-clip —— 背景的繪制區域
          • background-attachment —— 背景圖像是否固定或者隨著頁面的其余部分滾動。

          各值之間用空格分隔,不分先后順序。可以只有其中的某些值,例如 background:#FF0000 url(img.png)是允許的,但至少有一個值。

          建議使用background 簡寫屬性,這樣可以更好地兼容較老的瀏覽器,少寫很多代碼,當然你也可以分開使用,比如:

          background-color: #ff0000;
          background-image: url(img.png);
          background-repeat: no-repeat;
          background-size: 100% auto;

          1、背景顏色 —— background-color

          background-color 和之前講的的color 一樣,可以使用16進制、rgb、rgba等設置顏色。如下實例:

          <html>
          <head>
          <style type="text/css">
          body {background-color: yellow}
          h1 {background-color: #00ff00}
          h2 {background-color: transparent}
          p {background-color: rgb(250,0,255)}
          p.no2 {background-color: gray; padding: 20px;}
          </style>
          </head>
          <body>
          <h1>背景色1</h1>
          <h2>背景色2</h2>
          <p>背景色3</p>
          <p class="no2">背景色4</p>
          </body>
          </html>

          如下圖顯示:

          注意:background-color: transparent; 指透明色,不顯示任何顏色。

          2、背景圖片的使用——background-image

          給html元素添加背景圖片,在早期網頁制作中被廣泛應用,如今已不建議大量使用。如下實例:

          body {background-image:url(/static/bg.gif);}

          這里使用了一個125*125大小的圖片,如下:

          但是你會發現,整個網頁鋪滿了圖片,上面的代碼默認會鋪滿整個頁面從左到右,從上到下 。如果不想被平鋪,可以使用background-repeat 設置。

          背景圖片同時可以設置多個背景圖片,如下:

          background-image: url(/statics/bg1.gif), url(/statics/bg2.gif);

          多個圖像以逗號隔開,在頁面中多個圖片會疊加顯示,第一張圖片顯示在最頂端。

          如下效果:

          3、背景重復方式 —— background-repeat

          它有如下幾個屬性:

          repeat

          默認。背景圖像將在垂直方向和水平方向重復。

          repeat-x

          背景圖像將在水平方向重復。

          repeat-y

          背景圖像將在垂直方向重復。

          no-repeat

          背景圖像不重復。

          inherit

          從父元素繼承 background-repeat 屬性的設置。

          實例如下:

          4、背景圖的位置 —— background-position

          背景圖片默認顯示在左上角,語法如下:

          background-position: x y; // x 距離左邊距離,y距離頂部距離

          如果要改變它的位置,可以使用關鍵字:top、bottom、left、right 和 center;或者使用長度值,如 100px 或 5cm;也可以使用百分數值。

          x 可以取值 百分比| 數值| left | center | right。

          y 可以取值 百分比| 數值| top| center | bottom。

          當只設置一個值的時候,另一個會缺省為 center。

          使用關鍵字,將背景圖片水平居中,垂直居中:

          background-image:url('/statics/images/course/smiley.gif');
          background-repeat:no-repeat;
          background-attachment:fixed;
          background-position:center; 

          使用百分比%:

          background-image:url('/statics/images/course/smiley.gif');
          background-repeat:no-repeat;
          background-attachment:fixed;
          background-position: 50% 50%; 

          50% 50% 等同于 center center,顯示效果和上圖一樣。

          還可以使用具體數值,比如 px、em、cm等。

          background-image:url('/statics/images/course/smiley.gif');
          background-repeat:no-repeat;
          background-attachment:fixed;
          background-position: 50px 50px; 

          顯示效果如下:

          5、背景圖相對于容器的基準點 —— background-origin

          就是設置背景圖片相對于html元素什么位置作為初始坐標點,語法:

          background-origin: padding-box|border-box|content-box;

          幾種值得含義:

          padding-box

          背景圖像相對填充框的位置

          border-box

          背景圖像相對邊界框的位置

          content-box

          背景圖像相對內容框的位置

          如下實例:

          6、背景圖片大小 —— background-size

          默認會顯示背景圖原始尺寸,可以通過此屬性設置背景圖片在元素上的大小,語法:

          background-size: width height;

          寬度和高度可以使用 數值、百分比%、cover 及 contain ;

          數值:可以使用任何單位的數字,比如 px、em、cm等。如果設置一個值,第二個為"auto(自動)"。

          百分比%:相對于其所在html原始寬度和高度,如果設置一個值,第二個為"auto(自動)"。

          cover:把背景圖像擴展至足夠大,以使背景圖像完全覆蓋背景區域。背景圖像的某些部分也許無法顯示在背景定位區域中。

          contain:把背景圖像擴展至最大尺寸,以使其寬度和高度完全適應內容區域。

          如下示例:

          7、背景圖像是否固定或者隨著頁面的其余部分滾動

          background-attachment 屬性有以下幾個值:

          scroll

          背景圖片隨頁面的其余部分滾動。這是默認

          fixed

          背景圖像是固定的

          inherit

          指定background-attachment的設置應該從父元素繼承

          local

          背景圖片隨滾動元素滾動

          如設置一個固定的背景圖片,不跟隨頁面滾動:

          background-attachment:fixed;

          滾動滾動條,會發下背景圖片始終固定在屏幕那個位置。

          8、背景繪制區域 —— background-clip

          語法如下:

          background-clip: border-box|padding-box|content-box;

          border-box

          默認值。背景繪制在邊框方框內(剪切成邊框方框)。

          padding-box

          背景繪制在襯距方框內(剪切成襯距方框)。

          content-box

          背景繪制在內容方框內(剪切成內容方框)。

          這個屬性類似于 background-origin ,只不過它會裁剪背景圖片,如下示例:

          9、背景層的混合模式 —— background-blend-mode

          所謂混合模式就是將圖片與顏色或圖片與圖片進行混合,語法:

          background-blend-mode: normal|multiply|screen|overlay|darken|lighten|color-dodge|saturation|color|luminosity;

          屬性值:

          示例如下:

          正常模式

          luminosity 亮度模式

          color 顏色模式

          其它模式可以自己試試,看下有什么區別。

          到此,我們了解了顏色和背景的使用方法,尤其是背景的使用,由于它的屬性很多,可以簡寫也可以分開寫,要想完全掌握,還得多練習,每種屬性進行組合使用看看其效果。

          一般建議使用 background 簡寫方式,主要是可以少寫很多代碼。以上介紹難免有誤,或不齊全,歡迎指出錯誤,并補充。

          上篇:前端入門——css鏈接樣式


          主站蜘蛛池模板: 日本午夜精品一区二区三区电影| 亚洲一区AV无码少妇电影☆| 国产丝袜一区二区三区在线观看| 无码一区二区三区视频| 国产午夜精品一区二区三区嫩草 | 久久久无码精品人妻一区| 日本国产一区二区三区在线观看 | 国产精品成人99一区无码| 中文字幕日韩欧美一区二区三区| 亚洲av色香蕉一区二区三区| 国产在线视频一区二区三区| 亚洲色欲一区二区三区在线观看| 国产精品毛片一区二区三区| 国产高清一区二区三区 | 国产伦精品一区二区三区在线观看| 日韩国产一区二区| 福利一区二区三区视频在线观看| 麻豆高清免费国产一区| 国产一区二区三区电影| 国产内射999视频一区| 日本国产一区二区三区在线观看 | 国产亚洲日韩一区二区三区| 国产一区二区成人| 国产高清在线精品一区二区| 无码人妻一区二区三区在线| 精品无码国产一区二区三区麻豆| 国产精久久一区二区三区 | 亚洲AV噜噜一区二区三区| 久久久久人妻一区精品| 日本一区二区三区不卡视频| 日韩AV无码一区二区三区不卡毛片| 无码人妻精品一区二区三区蜜桃| 精品国产一区二区三区AV性色| 成人区精品一区二区不卡亚洲| 精品免费久久久久国产一区 | 美女视频一区二区| 国产99久久精品一区二区| 国产高清在线精品一区二区三区 | 91久久精一区二区三区大全| 亚洲国产精品一区二区三区在线观看| 亚洲av成人一区二区三区在线观看|