整合營銷服務商

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

          免費咨詢熱線:

          在網頁設計過程中正確理解css圓角邊框及背景圖

          建企業網站時使用CSS邊框圓角是很容易的事,但要設置邊框圓角的漸變效果就需要費些功夫了,需要正確理解幾個CSS屬性的含義,background-origin,background-clip,background-size這幾個是必須用到的,調整好性能的數值就可以靈活運用了。

          想要實現CSS圓角漸變并匹配內容背景圖可以參考以下代碼:

          <style>
          div {
           width: 500px;
           height: 300px;
           margin: 10px;
           padding: 30px;
           border-radius: 50px; /*設置圓角*/
           border:50px solid transparent; /*設置邊框顏色透明,確保背景漸變色顯示*/
           background-origin:border-box; /*從邊框開始背景圖*/
           background-clip:padding-box,border-box; /*設置第一個背景和第二個背景的范圍*/
           background-size:cover;
           /*由于背景圖像不能設置純色,所以可以使用下面的方式設置純色*/
           background-image:linear-gradient(#fff, #fff),linear-gradient(#FC0, #F30); 
          }
          .a1{display:block;height:280px;background-image:url(/images/school.jpg);
          background-repeat:no-repeat;background-size:contain;}
          </style>
          
          <div>
          <span class="a1">邊框漸變色從內邊框到邊框,背景圖像單獨設置不重復。</span>
          </div>

          background-origin表示的是背景起始位置,其三個值如下,依次是

          border-box 從邊框開始;
          padding-box(默認) 從內邊距開始;
          content-box 從內容開始。

          background-origin: border-box | padding-box(默認) | content-box

          background-clip表示的是背景填充位置,其四個值如下,依次是

          border-box(默認) 填充至邊框;
          padding-box 填充至內邊距;
          content-box 填充之內容;
          text 作為字體前景色。

          background-clip: border-box(默認) | padding-box | content-box | text

          background-size表示的是背景尺寸,其五個值如下,依次是

          contain 將圖像擴大至適應最短的邊,剩余部分默認重復圖像
          cover 將圖像擴大至適應最長的邊,圖像可能顯示不完整
          length 兩個值依次設置圖像寬和高,未設置則為auto
          percentage 兩個百分比依次設置圖像寬和高,未設置則為auto
          auto 默認設置

          次看到一個網站有這個效果,模仿了下。效果差不多;效果描述:網頁中的背景圖隨鼠標移上去會發生某個方向的偏移

          鼠標靠瀏覽器右側移上圖片部分,背景圖會往左移動,靠左側移上圖片,則相反.

          實現代碼:

          js:

          信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%的努力都在這里

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


          主站蜘蛛池模板: 另类一区二区三区| 日本不卡一区二区三区| 无码人妻一区二区三区在线水卜樱 | 3d动漫精品啪啪一区二区中文 | 精品成人一区二区三区免费视频| 男人的天堂精品国产一区| 亚洲一区爱区精品无码| 亚洲av无码一区二区三区人妖 | 亚洲日韩中文字幕无码一区| 日本一区二区三区免费高清在线| 日本一区午夜爱爱| 无码视频免费一区二三区| 久久久久人妻一区二区三区| 日本大香伊一区二区三区| 国产一区二区在线观看| 色综合视频一区中文字幕| 一区二区精品在线| 亚洲成AV人片一区二区| 国产福利电影一区二区三区,亚洲国模精品一区 | 亚洲爆乳精品无码一区二区| 一区二区视频免费观看| 日韩一区二区三区电影在线观看| 亚洲精品国产suv一区88| 日韩免费一区二区三区在线播放| 久久久精品人妻一区二区三区四| 无码乱人伦一区二区亚洲| 日本在线电影一区二区三区| 亚洲香蕉久久一区二区三区四区| 波多野结衣免费一区视频 | 精品一区二区三区色花堂| 国产精品视频一区| 激情爆乳一区二区三区| 蜜桃视频一区二区三区在线观看| 白丝爆浆18禁一区二区三区| 无码精品视频一区二区三区| 国产精品亚洲一区二区三区在线观看 | 秋霞日韩一区二区三区在线观看| 无码人妻久久一区二区三区| 亚洲国产成人久久一区久久| 日本无码一区二区三区白峰美| 无码国产精品一区二区免费模式|