整合營銷服務商

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

          免費咨詢熱線:

          CSS各種邊框背景大全

          信IDWEB_wysj(點擊關注) ◎ ◎ ◎ ◎ ◎◎◎◎◎一┳═┻︻▄

          (頁底留言開放,歡迎來吐槽)

          ● ● ●

          1、半透明邊框

          難題:直接設置一個半透明的邊框不起作用。

          解決方案:padding-box盒模型border:10px solid rgba(255,255,255,.5);background: white;background-clip: padding-box;

          2、多重邊框

          背景知識:box-shadow 的基本用法

          box-shadow: X軸偏移量 Y軸偏移量 [模糊半徑] [擴展半徑] [陰影顏色] [投影方式];

          解決方案一:

          利用box-shadow的屬性擴張半徑background: 
          yellowgreen;box-shadow: 0 0 0 10px #655, 0 0 0 15px deeppink, 0 2px 5px 15px rgba(0,0,0,.6);
          特點:box-shadow 方案只能模擬實線邊框,會貼合元素的圓角
          解決方案二:outline 方案background: yellowgreen;border: 10px solid #655;outline: 5px solid deeppink;特點:實現的“邊框”不會貼合元素的圓角,可以實現虛線邊框

          3、靈活的背景定位

          示例:實現一個背景圖在div右下角,距離右邊10px 下邊10px 如圖;

          解決方案一:background-position擴展方案background: #58a url(code-pirate.svg) no-repeat bottom right;background-position: right 10px bottom 10px;
          解決方案二:background-origin 方案padding: 10px;background: url("code-pirate.svg") no-repeat #58a bottom right; /* 或 100% 100% */background-origin: content-box;
          解決方案三:calc 方案background: url("code-pirate.svg") no-repeat;background-position: calc(100% - 20px) calc(100% - 10px);

          4、邊框內圓角

          兩個div很容易實現,那么一個div呢?

          解決方案:利用box-shadow和outlinebackground: tan;border-radius: .8em;padding: 1em;outline: .6em solid #655;box-shadow: 0 0 0 .4em #655; 

          box-shadow的寬要小于outline寬度值,大于 (Math.sqrt(2)-1)r(這里的 r 表示 border-radius)

          5、條紋背景

          背景知識:CSS 線性漸變,background-size

          案例一:等寬的雙色水平條紋

          background: linear-gradient(#fb3 50%, #58a 0);background-size: 100% 30px;

          案例二:不等寬的雙色水平條紋

          background: linear-gradient(#fb3 30%, #58a 0);background-size: 100% 30px;

          案例三:三色水平條紋

          background: linear-gradient(#fb3 33.3%, #58a 0, #58a 66.6%, yellowgreen 0);background-size: 100% 45px;

          案例四:垂直條紋

          background: linear-gradient(to right, /* 或 90deg */ #fb3 50%, #58a 0);background-size: 30px 100%;

          案例五:斜向條紋

          失敗方案:改變 background-size 的值和漸變的方向background: linear-gradient(45deg, #fb3 50%, #58a 0);background-size: 30px 30px;

          正確方案:做到無縫拼接(60度的條紋不好做)background: linear-gradient(45deg, #fb3 25%, #58a 0, #58a 50%, #fb3 0, #fb3 75%, #58a 0);background-size: 30px 30px;

          優化方案:重復漸變做60度條紋background: repeating-linear-gradient(60deg, #fb3, #fb3 15px, #58a 0, #58a 30px);height:100%;

          案例六:靈活的同色系斜向條紋

          在大多數情況下,我們想要的條紋圖案并不是由差異極大的幾種顏色組成的,這些顏色往往屬于同一色系。

          失敗方案:沒有任何瀏覽器支持下面這個特性background: repeating-linear-gradient(60deg, #fb3 0 15px, #58a 0 30px);正確方案:不再為每種條紋單獨指定顏色,而是把最深的顏色指定為背景色,同時把半透明白色的條紋疊加在背景色之上來得到淺色條紋background: #58a;background-image: repeating-linear-gradient(30deg, hsla(0,0%,100%,.1), hsla(0,0%,100%,.1) 15px, transparent 0, transparent 30px);

          6、復雜的背景圖案

          背景知識:CSS 漸變,“條紋背景”

          CSS3 圖案庫lea.verou.me/css3patterns

          7、偽隨機背景

          背景知識:CSS 漸變,“條紋背景”,“復雜的背景圖案”

          大自然不會以“無縫”貼片的方式重復自己......

          蟬原則:通過質數來增加隨機真實性

          蟬漸變圖案:條紋圖案把不同尺寸的漸變圖案疊加起來,并使用質數來增加隨機的真實感

          background: hsl(20, 40%, 90%);background-image: linear-gradient(90deg, #fb3 11px, transparent 0), linear-gradient(90deg, #ab4 23px, transparent 0), linear-gradient(90deg, #655 41px, transparent 0);background-size: 41px 100%, 61px 100%, 83px 100%;

          8、連續的圖像邊框

          背景知識:CSS 漸變,基本的 border-image,“條紋背景”,基本的 CSS 動畫案例一:一個元素有一圈裝飾性的邊框,基本上就是一張圖片被裁剪進了邊框所在的方環區域。不僅如此,我們還希望這個元素的尺寸在擴大或縮小時,這幅圖片都可以自動延伸并覆蓋完整的邊框區域。

          最簡單的辦法是使用兩個HTML 元素:一個元素用來把我們的石雕圖片設為背景,另一個元素用來存放內容,并設置純白背景,然后覆蓋在前者之上。問題來了:如果只用一個元素,我們能做到這個效果嗎?

          解決方案:padding: 1em;border: 1em solid transparent;background:linear-gradient(white, white) padding-box,url(stone-art.jpg) border-box 0 / cover;

          案例二;老式信封樣式的邊框

          案例三:螞蟻行軍邊框

          @keyframes ants { to { background-position: 100% } }.marching-ants {padding: 1em;border: 1px solid transparent;background:linear-gradient(white, white) padding-box,repeating-linear-gradient(-45deg, black 0, black 25%, white 0, white 50%) 0 / .6em .6em;animation: ants 12s linear infinite;}

          案例四:邊框的裁切效果,用來模擬傳統的腳注

          border-top: .2em solid transparent;border-image: 100% 0 0 linear-gradient(90deg, currentColor 4em, transparent 0);padding-top: 1em;

          干貨!免費領取騰訊高級講師網頁設計教程


          點我領取

          ???

          關注網頁設計自學平臺,99%的努力都在這里

          ▼無法識別二維碼可以點「閱讀原文」噢!

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

          在了解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鏈接樣式

          、CSS背景屬性

          1.背景顏色(background-color)

          屬性值:transparent(透明的)或color(顏色)
          

          2.背景圖片(background-image)

          屬性值:none(沒有)或url(使用絕對或相對地址指定背景圖像)
          

          優點:非常便于控制位置(精靈圖也是一種運用場景)

          3.背景平鋪(background-repeat)

          屬性值:repeat|no-repeat|repeat-x|repeat-y
          

          背景圖片會壓住背景顏色

          4.背景圖片位置(background-position)

          background-position:x y;
          
          1. x坐標和y坐標可使用方位名詞或精確單位
          2. 方位名詞
            a. x可為left | center | right ,y可為top | center | bottom
            b. top left 和 left top 效果一致(與順序無關)
            c. 若只指定一個方位名詞,另一個值忽略,則第二個值默認為居中對齊
          3. 精確單位
            a.先x坐標后y坐標
            b.若只指定一個值,則為x,另一個值為垂直居中
          4. 混合單位:若混合使用,第一個值為水平x,第二個值為垂直y

          5.背景圖片固定(background-attachment)

          屬性值:scroll(隨內容滾動)|  fixed(背景固定)
          

          6.背景復合寫法(background)

          background:背景顏色 背景圖片地址 背景平鋪 背景圖像滾動 背景圖片位置
          

          7.背景色半透明(CSS3提供了背景顏色半透明的效果)

          • background:rgba(0,0,0,.3);
          • red green blue alpha(透明度 范圍0~1)
          • 習慣把0.3的0省掉
          • 背景半透明是指盒子背景半透明,盒子里面的內容不受影響

          主站蜘蛛池模板: 无码AⅤ精品一区二区三区| 国产一区二区在线观看app| 农村乱人伦一区二区| 久久精品无码一区二区三区免费 | 国产美女精品一区二区三区| 福利在线一区二区| 亚洲国产一区二区视频网站| 日韩人妻无码一区二区三区久久99 | 视频一区二区三区人妻系列| 一区二区不卡久久精品| 麻豆精品久久久一区二区| 亚欧在线精品免费观看一区| 中文字幕一区二区精品区| 玩弄放荡人妻一区二区三区| 国产在线观看一区二区三区| 国产免费一区二区三区不卡| 91福利一区二区| 日韩在线视频一区| 国产精品一区三区| 99精品国产高清一区二区| 精品少妇人妻AV一区二区| 影院成人区精品一区二区婷婷丽春院影视 | 久久精品中文字幕一区| 国产精品亚洲一区二区三区在线观看| 亚洲视频在线观看一区| 日韩一区二区久久久久久| 国产在线精品一区二区不卡麻豆 | 国产日本亚洲一区二区三区| 中文字幕在线一区| 国产精品被窝福利一区| 国产高清在线精品一区二区| 国产午夜精品一区二区三区| 韩国一区二区视频| 亚洲片一区二区三区| 亚洲一区二区三区国产精品无码| 日本一区二区高清不卡| 亚洲熟妇av一区| 国产在线精品一区二区中文| 免费高清av一区二区三区| 久久免费区一区二区三波多野| 国产伦精品一区二区三区免.费|