前端基礎——5、CSS border屬性與漸變色(詳解與實戰)

前端基礎——5、CSS border屬性與漸變色詳解

  • CSS border屬性與漸變色(詳解與實戰)
    • 一、border屬性全面解析
      • 1. 基礎三屬性
      • 2. 復合寫法
      • 3. 高級特性
      • 附加.border-style詳解
      • 使用示例
      • 效果:
  • CSS 漸變終極指南:線性漸變與徑向漸變的深度解析
    • 一、線性漸變(Linear Gradient)
      • 1. 基礎語法
      • 2. 方向控制
        • 關鍵詞方向:
        • 角度控制:
      • 3. 色標控制
        • 基礎色標:
        • 硬邊過渡:
        • 顏色提示(Color Hint):
      • 4. 高級應用
        • 透明漸變:
        • 動態漸變:
    • 二、徑向漸變(Radial Gradient)
      • 1. 基礎語法
      • 2. 形狀與位置
        • 形狀定義:
        • 位置控制:
      • 3. 大小控制
        • 關鍵詞尺寸:
      • 4. 高級應用
        • 同心圓效果:
        • 波點背景:
        • 3D 球體效果:
    • 三、重復漸變
      • 1. 重復線性漸變
      • 2. 重復徑向漸變
    • 四、實戰應用示例
      • 1. 漸變按鈕
      • 2. 漸變文字
      • 3. 漸變遮罩
    • 五、瀏覽器兼容性
        • 兼容性提示:
    • 六、性能優化建議
    • 七、調試技巧
  • 案例: 漸變邊框實現方案
    • 方案1:border-image
        • 參數說明:
    • 方案2:偽元素疊加
    • 方案3:背景裁剪
  • 進階特效示例
      • 1. 動態漸變邊框
      • 2. 漸變陰影效果
      • 3. 3D立體邊框

CSS border屬性與漸變色(詳解與實戰)

一、border屬性全面解析

1. 基礎三屬性

/* 邊框樣式(必需) */
border-style: solid | dashed | dotted | double | groove | ridge | inset | outset;
/* 邊框寬度 */
border-width: 2px; /* 統一寬度 */
border-width: 1px 4px; /* 上下 | 左右 *//* 邊框顏色 */
border-color: #ff6b6b; /* 統一顏色 */
border-color: red blue green; /* 上 | 左右 | 下 */

2. 復合寫法

/* 完整格式:width style color */
border: 3px dashed rgba(255, 107, 107, 0.8);/* 多方向控制 */
border-top: 2px solid #4ecdc4;
border-right: 4px dotted #ffe66d;

3. 高級特性

/* 圓角邊框 */
border-radius: 10px; 
border-radius: 50% 20% 30% 40%; /* 四個角分別設置 *//* 單獨設置邊角 */
border-top-left-radius: 15px 30px; /* 水平半徑 / 垂直半徑 *//* 透明邊框 */
border: 2px solid transparent;

附加.border-style詳解

border-style 是 CSS 中用于定義邊框樣式的屬性,可以為 <div> 或其他元素的邊框指定不同的視覺效果。以下是 border-style 所有可能值的介紹及其效果:

  1. none
    ? 效果:無邊框(默認值)。

? 說明:邊框不顯示,也不會占據空間。

? 示例:

border-style: none;

  1. hidden
    ? 效果:隱藏邊框,但保留邊框的寬度。

? 說明:與 none 類似,但在某些布局場景(如表格)中會阻止邊框沖突。

? 示例:

border-style: hidden;

  1. solid
    ? 效果:實線邊框。

? 說明:最常見的邊框樣式,線條連續無間隔。

? 示例:

border-style: solid;

  1. dotted
    ? 效果:點狀邊框。

? 說明:由一系列小圓點組成,點的間距和大小由瀏覽器決定。

? 示例:

border-style: dotted;

  1. dashed
    ? 效果:虛線邊框。

? 說明:由短線段組成的虛線,線段長度和間距由瀏覽器決定。

? 示例:

border-style: dashed;

  1. double
    ? 效果:雙實線邊框。

? 說明:顯示兩條平行的實線,中間有空白區域。總寬度 = 上邊框寬度 + 空白寬度 + 下邊框寬度。

? 示例:

border-style: double;

  1. groove
    ? 效果:3D 凹槽效果。

? 說明:根據 border-color 的顏色值,模擬光照下的凹槽效果(亮色在左上方,暗色在右下方)。

? 示例:

border-style: groove;

  1. ridge
    ? 效果:3D 凸起效果。

? 說明:與 groove 相反,模擬光照下的凸起效果(亮色在右下方,暗色在左上方)。

? 示例:

border-style: ridge;

  1. inset
    ? 效果:3D 內嵌效果。

? 說明:元素整體看起來像是嵌入頁面中,類似按鈕按下的效果。

? 示例:

border-style: inset;

  1. outset
    ? 效果:3D 外凸效果。

? 說明:與 inset 相反,元素看起來像是凸出頁面,類似按鈕未按下的效果。

? 示例:

border-style: outset;

使用示例

        .son{width: 100px;height: 100px;background-color: #456bff;border-top: 10px  solid #000 ;border-right: 15px dotted #b70c0c ;border-bottom: 20px dashed #b3aa0d;border-left: 25px double #e66465;margin: 0 auto;}.son1{width: 100px;height: 100px;padding:0px 10px 20px 30px;margin: 30px 20px 10px 0px;background-color: #456bff;border-top: 10px  groove #000;border-right: 15px ridge #b70c0c;border-bottom: 20px inset #b3aa0d;border-left: 25px outset #e66465;}

效果:

在這里插入圖片描述
在這里插入圖片描述

注意事項

  1. 瀏覽器兼容性:某些樣式(如 grooveridgeinsetoutset)的 3D 效果在不同瀏覽器中可能有細微差異。
  2. 組合使用:可以為四個方向(上、右、下、左)單獨設置不同的樣式:
    border-style: solid dotted double dashed; /* 上 右 下 左 */
    
  3. 視覺效果依賴顏色:3D 效果(如 groove)需要合適的 border-color 對比度才能明顯。

希望這些說明能幫助你選擇合適的邊框樣式!如果需要進一步調整效果,可以結合 border-widthborder-color 屬性。


CSS 漸變終極指南:線性漸變與徑向漸變的深度解析

一、線性漸變(Linear Gradient)

1. 基礎語法

background: linear-gradient([方向或角度], [顏色1] [位置], [顏色2] [位置], ...
);

2. 方向控制

關鍵詞方向:
/* 基本方向 */
linear-gradient(to right, red, blue)      /* 從左到右 */
linear-gradient(to bottom, red, blue)     /* 從上到下 */
linear-gradient(to top right, red, blue)  /* 對角線 *//* 反向漸變 */
linear-gradient(to left, red, blue)       /* 從右到左 */
角度控制:
/* 0deg = 從下到上 */
linear-gradient(45deg, red, blue)         /* 45度對角線 */
linear-gradient(180deg, red, blue)        /* 從上到下 */

角度對照表

  • 0deg ? 向上
  • 90deg ? 向右
  • 180deg ? 向下
  • 270deg ? 向左

3. 色標控制

基礎色標:
/* 兩色均勻漸變 */
linear-gradient(to right, red, blue)/* 三色分段 */
linear-gradient(to right, red 0%, green 50%, blue 100%)

兩色過渡
三色過渡

硬邊過渡:
/* 條紋效果 */
linear-gradient(to right, red 0%, red 30%,blue 30%, blue 60%,green 60%, green 100%
)

在這里插入圖片描述

顏色提示(Color Hint):
/* 中間過渡區域控制 */
linear-gradient(to right, red 20%, /* 中間過渡區域 */50%, blue 80%
)

在這里插入圖片描述

4. 高級應用

透明漸變:
/* 透明到實色 */
linear-gradient(to bottom, rgba(255,0,0,0), rgba(255,0,0,1)
)/* 疊加效果 */
background: linear-gradient(45deg, rgba(255,0,0,0.3), transparent),linear-gradient(-45deg, rgba(0,0,255,0.3), transparent);

在這里插入圖片描述
在這里插入圖片描述

動態漸變:
@keyframes gradient-flow {0% { background-position: 0% 50%; }50% { background-position: 100% 50%; }100% { background-position: 0% 50%; }
}.animated-bg {background: linear-gradient(45deg, red, blue, green);background-size: 400% 400%;animation: gradient-flow 5s ease infinite;
}

在這里插入圖片描述

二、徑向漸變(Radial Gradient)

1. 基礎語法

background: radial-gradient([形狀] [位置], [顏色1] [位置], [顏色2] [位置], ...
);

2. 形狀與位置

形狀定義:
/* 默認橢圓 */
radial-gradient(red, blue)/* 正圓 */
radial-gradient(circle, red, blue)/* 顯式尺寸 */
radial-gradient(100px 50px, red, blue)  /* 水平半徑 | 垂直半徑 */
位置控制:
/* 中心位置 */
radial-gradient(circle at center, red, blue)/* 自定義位置 */
radial-gradient(circle at 20% 30%, red, blue)
radial-gradient(at right bottom, red, blue)

3. 大小控制

關鍵詞尺寸:
radial-gradient(closest-side at 30% 30%, red, blue
)  /* 漸變結束于最近邊 */radial-gradient(farthest-corner at 20% 40%, red, blue
)  /* 漸變結束于最遠角 */

在這里插入圖片描述
在這里插入圖片描述

尺寸關鍵字

  • closest-side
  • farthest-side
  • closest-corner
  • farthest-corner

4. 高級應用

同心圓效果:
radial-gradient(circle, red 0%, red 10%, blue 10%, blue 20%, green 20%, green 30%
)

在這里插入圖片描述

波點背景:
background: radial-gradient(circle at 50% 50%, rgba(255,255,255,0.2) 10%,transparent 11%),#09f;
background-size: 30px 30px;

在這里插入圖片描述

3D 球體效果:
.sphere {width: 200px;height: 200px;border-radius: 50%;background: radial-gradient(circle at 30% 30%,white 0%,#09f 50%,darkblue 100%);box-shadow: inset -10px -10px 20px rgba(0,0,0,0.2);
}

在這里插入圖片描述


三、重復漸變

1. 重復線性漸變

repeating-linear-gradient(45deg,red 0px, red 10px,blue 10px, blue 20px
)  /* 條紋背景 *//* 動態斜紋 */
repeating-linear-gradient(-45deg,transparent 0px, transparent 20px,rgba(255,0,0,0.3) 20px,rgba(255,0,0,0.3) 40px
)

在這里插入圖片描述
在這里插入圖片描述

2. 重復徑向漸變

repeating-radial-gradient(circle,red 0%, red 10%,blue 10%, blue 20%
)  /* 同心圓波紋 *//* 掃描雷達效果 */
repeating-radial-gradient(circle,transparent 0%,transparent 2%,rgba(0,255,0,0.3) 2%,rgba(0,255,0,0.3) 5%
)

在這里插入圖片描述
在這里插入圖片描述


四、實戰應用示例

1. 漸變按鈕

.btn-gradient {padding: 12px 24px;background: linear-gradient(45deg, #ff6b6b, #4ecdc4);border: none;border-radius: 8px;color: white;transition: 0.3s;
}.btn-gradient:hover {background: linear-gradient(45deg, #ff8787, #6bd3cc);box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

在這里插入圖片描述

2. 漸變文字

.gradient-text {background: linear-gradient(90deg, red, blue);-webkit-background-clip: text;background-clip: text;color: transparent;font-size: 48px;
}

3. 漸變遮罩

.image-overlay {position: relative;
}.image-overlay::after {content: '';position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: linear-gradient(to top,rgba(0,0,0,0.8) 0%,transparent 60%);
}

在這里插入圖片描述


五、瀏覽器兼容性

特性ChromeFirefoxSafariEdge
基礎漸變26+16+6.1+12+
重復漸變26+16+6.1+12+
漸變動畫43+16+12.1+79+
兼容性提示:
  1. 始終添加 -webkit- 前綴:
    background: -webkit-linear-gradient(...);
    background: linear-gradient(...);
    
  2. IE9 及以下使用濾鏡降級:
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000', endColorstr='#0000ff', GradientType=1
    );
    

六、性能優化建議

  1. 避免過度使用:復雜漸變會影響重繪性能
  2. 固定背景尺寸:使用 background-size 限制漸變區域
  3. 硬件加速:對動畫漸變使用 transform: translateZ(0)
  4. 緩存漸變:重復使用相同漸變時定義CSS變量
    :root {--main-gradient: linear-gradient(45deg, red, blue);
    }
    

七、調試技巧

  1. 使用瀏覽器開發者工具:
    • 實時調整色標位置
    • 可視化角度/位置
  2. 測試不同分辨率下的顯示效果
  3. 使用 CSS Gradient Generator 快速生成代碼

通過掌握這些漸變技巧,您將能輕松創建從簡約到復雜的視覺效果。立即動手實踐,讓您的網頁設計更加生動!🚀

希望這篇指南能幫助您全面掌握CSS漸變技術!如有更多問題,歡迎隨時交流討論。

案例: 漸變邊框實現方案

方案1:border-image

.box {width: 200px;height: 200px;border: 4px solid;border-image: linear-gradient(45deg, #ff6b6b, #4ecdc4) 1;border-radius: 10px; /* 注意:border-radius 需要配合 overflow: hidden */
}

在這里插入圖片描述

參數說明:
  • border-image-source: 漸變色
  • border-image-slice: 切割比例(默認1)

方案2:偽元素疊加

.gradient-border {width:100px;height:100px;position: relative;background: white;border-radius: 12px;
}.gradient-border::before {content: '';position: absolute;top: -2px;left: -2px;right: -2px;bottom: -2px;background: linear-gradient(45deg, #ff6b6b, #4ecdc4);border-radius: 14px; /* 比主體大2px */z-index: -1;
}

在這里插入圖片描述

方案3:背景裁剪

.gradient-box {width:100px;height:100px;padding: 2px; /* 邊框寬度 */background: linear-gradient(45deg, #ff6b6b, #4ecdc4);border-radius: 12px;/* 內部內容背景 */> .content {width:100px;height:100px;background: white;border-radius: 10px;}
}

在這里插入圖片描述


進階特效示例

1. 動態漸變邊框

@keyframes border-glow {0% { border-color: #ff6b6b; }50% { border-color: #4ecdc4; }100% { border-color: #ffe66d; }
}.animated-border {width:100px;height:100px;border: 2px solid;animation: border-glow 2s infinite;
}

在這里插入圖片描述

2. 漸變陰影效果

.glow-box {position: relative;
}.glow-box::after {content: '';position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: linear-gradient(45deg, #ff6b6b, #4ecdc4);filter: blur(20px);z-index: -1;opacity: 0.5;
}

在這里插入圖片描述

3. 3D立體邊框

.3d-border {width:100px;height:100px;border: 4px solid;border-color: #ff6b6b           /* 上 */#4ecdc4           /* 右 */#ffe66d           /* 下 */rgba(0,0,0,0.3);  /* 左 */box-shadow: 2px 2px 4px rgba(0,0,0,0.1),inset 1px 1px 3px rgba(255,255,255,0.5);
}

在這里插入圖片描述

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

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

相關文章

企業出海降本:如何將應用從 AWS EC2 快速無縫遷移至DigitalOcean Droplet

企業出海已經成為目前最熱門的趨勢。然而不論你是做跨境電商&#xff0c;還是短劇出海&#xff0c;或處于最熱門的AI 賽道&#xff0c;你都需要使用海外的云主機或GPU云服務。海外一線的云服務平臺盡管覆蓋區域廣泛&#xff0c;但是往往費用成本較高。所以降本始終是企業出海關…

解決Spring Boot多模塊自動配置失效問題

前言 在Spring Boot多模塊項目中&#xff0c;模塊間配置不生效是一個復雜但可解決的問題&#xff0c;尤其涉及自動配置類、依賴沖突、條件注解以及IDE配置。 一、問題背景與場景 1.1 場景描述 假設存在兩個模塊&#xff1a; 模塊A&#xff1a;提供通用配置&#xff08;如跨…

WEBSTORM前端 —— 第2章:CSS —— 第4節:盒子模型

目錄 1.畫盒子 2.Pxcook軟件 3.盒子模型——組成 4.盒子模型 ——邊框線 5.盒子模型——內外邊距 6.盒子模型——尺寸計算 7.清除默認樣式 8.盒子模型——元素溢出 9.外邊距問題 ①合并現象 ②塌陷問題 10.行內元素——內外邊距問題 11.盒子模型——圓角 12.盒子…

Kafka和flume整合

需求1&#xff1a;利用flume監控某目錄中新生成的文件&#xff0c;將監控到的變更數據發送給kafka&#xff0c;kafka將收到的數據打印到控制臺&#xff1a; 在flume/conf下添加.conf文件&#xff0c; vi flume-kafka.conf # 定義 Agent 組件 a1.sourcesr1 a1.sinksk1 a1.c…

Idea 如何配合 grep console過濾并分析文件

這里寫自定義目錄標題 [grep console插件]()右擊打開文件目錄&#xff0c;選擇 tail in console 同時可以添加自己的快捷鍵。 ![新的改變](https://i-blog.csdnimg.cn/direct/03423e27cf6c40c5abd2d53982547b61.png) 隨后會在idea的菜單欄中出現tail菜單。這里&#xff0c;接下…

怎樣學習Electron

學習 Electron 是一個很好的選擇&#xff0c;特別是如果你想構建跨平臺的桌面應用程序&#xff0c;并且已經有前端開發經驗。以下是一個循序漸進的學習指南&#xff0c;幫助你從零開始掌握 Electron。 1. 基礎知識 HTML/CSS/JavaScript 確保你對這些基礎技術有扎實的理解&am…

MySQL 大數據量分頁查詢優化指南

問題分析 當對包含50萬條記錄的edu_test表進行分頁查詢時&#xff0c;發現隨著分頁越深入&#xff0c;查詢時間越長&#xff1a; limit 0,10&#xff1a;0.05秒limit 200000,10&#xff1a;0.14秒limit 499000,10&#xff1a;0.21秒 通過EXPLAIN分析發現&#xff0c;limit o…

【仿真】Ubuntu 22.04 安裝MuJoCo 3.3.2

官方GIthub下載: https://github.com/google-deepmind/mujoco/releases 官網&#xff1a;MuJoCo — Advanced Physics Simulation 文檔&#xff1a;Overview - MuJoCo Documentation 主要參考&#xff1a;Ubuntu 22.04 安裝Mujoco 3.22 - RobotStudent的文章 - 知乎 簡…

最新字節跳動運維云原生面經分享

繼續分享最新的go面經。 今天分享的是組織內部的朋友在字節的go運維工程師崗位的云原生方向的面經&#xff0c;涉及Prometheus、Kubernetes、CI/CD、網絡代理、MySQL主從、Redis哨兵、系統調優及基礎命令行工具等知識點&#xff0c;問題我都整理在下面了 面經詳解 Prometheus …

PyQt6實例_pyqtgraph散點圖顯示工具_代碼分享

目錄 描述&#xff1a; 效果&#xff1a; 代碼&#xff1a; 返回結果對象 字符型橫坐標 通用散點圖工具 工具主界面 使用舉例 描述&#xff1a; 1 本例結合實際應用場景描述散點圖的使用。在財報分析中&#xff0c;需要將數值放在同行業中進行比較&#xff0c;從而判…

純C協程框架NtyCo

原文是由寫的&#xff0c;寫的真的很好&#xff0c;原文鏈接&#xff1a;純c協程框架NtyCo實現與原理-CSDN博客 1.為什么會有協程&#xff0c;協程解決了什么問題&#xff1f; 網絡IO優化 在CS&#xff0c;BS的開發模式下&#xff0c;服務器的吞吐量是一個受關注的參數&#x…

信息系統項目管理師——第10章 項目進度管理 筆記

10項目進度管理 1.規劃進度管理&#xff1a;項目章程、項目管理計劃&#xff08;開發方法、范圍管理計劃&#xff09;、事業環境因素、組織過程資產——專家判斷、數據分析&#xff08;備選方案分析&#xff09;、會議——進度管理計劃 2.定義活動&#xff1a;WBS進一步分解&am…

通過門店銷售明細表用SQL得到每月每個門店的銷冠和按月的同比環比數據

假設我在Snowflake里有銷售表&#xff0c;包含ID主鍵、門店ID、日期、銷售員姓名和銷售額&#xff0c;需要統計出每個月所有門店和各門店銷售額最高的人&#xff0c;不一定是一個人&#xff0c;以及他所在的門店ID和月總銷售額。 統計每個月份下&#xff0c;各門店內銷售額最高…

移遠通信LG69T賦能零跑B10:高精度定位護航,共赴汽車智聯未來

當前&#xff0c;汽車行業正以前所未有的速度邁向智能化時代&#xff0c;組合輔助駕駛技術已然成為車廠突出重圍的關鍵所在。高精度定位技術作為實現車輛精準感知與高效協同的基石&#xff0c;其重要性日益凸顯。 作為全球領先的物聯網及車聯網整體解決方案供應商&#xff0c;移…

jmeter-Beashell獲取http請求體json

在JMeter中&#xff0c;使用BeanShell處理器或BeanShell Sampler來獲取HTTP請求體中的JSON數據是很常見的需求。這通常用于在測試計劃中處理和修改請求體&#xff0c;或者在響應后進行驗證。以下是一些步驟和示例代碼&#xff0c;幫助你使用BeanShell來獲取HTTP請求體中的JSON數…

若干查找算法

一、順序查找 1.原理 2.代碼 #if 0 const int FindBySeq(const vector<int>& ListSeq, const int KeyData) {int retrIdx -1;int size ListSeq.size();for(int i 0; i < size; i) {if (ListSeq.at(i) KeyData){retrIdx i;break;}}return retrIdx; } #else c…

Uniapp(vue):生命周期

目錄 一、Vue生命周期二、Uniapp中頁面的生命周期三、執行順序比較一、Vue生命周期 setup():是在beforeCreate和created之前運行的,所以可以用setup代替這兩個鉤子函數。onBeforeMount():已經完成了模板的編譯,但是組件還未掛載到DOM上的函數。onMounted():組件掛載到DOM完…

Prometheus監控

1、docker - prometheusgrafana監控與集成到spring boot 服務_grafana spring boot-CSDN博客 2、【IT運維】普羅米修斯基本介紹及監控平臺部署&#xff08;PrometheusGrafana&#xff09;-CSDN博客 3、Prometheus監控SpringBoot-CSDN博客 4、springboot集成普羅米修斯-CSDN博客…

C#進階學習(十四)反射的概念以及關鍵類Type

目錄 本文末尾有相關類中的總結&#xff0c;如有需要直接跳到最后即可 前置知識&#xff1a; 1、程序集&#xff08;Assembly&#xff09; 2、元數據&#xff08;Metadata&#xff09; 3、中間語言&#xff08;IL, Intermediate Language&#xff09; 中間語言&#xff08;…

Kotlin中的also、apply、invoke用法詳解

以下是 Kotlin 中作用域函數(let、run、with、also、apply)和 invoke 操作符的完整總結,結合代碼示例和對比說明,幫助您理解它們的用法和區別。 一、作用域函數:簡化對象操作 作用域函數用于在對象的上下文中執行代碼塊,并根據函數的不同返回對象本身或 lambda 的結果。…