[css]切角

使用css實現一個切角的功能,有以下幾種方案:

<div class="box"></div>

方案一:linear-gradient

linear-gradient配合backgroud-image可以實現背景漸變的效果。linear-gradient的漸變過渡區的占比是總的空間(高度或寬度)減去上下兩個著色塊空間占比剩下的空間,所以如果后一個顏色的百分比比前一個顏色小的話,會自動將當前顏色值的百分比設置為前面顏色中的最大百分比值,也就是說

background:linear-gradient(red 50%,orange 40%
);

其實相當于

background:linear-gradient(red 50%,orange 50%
);

其效果就是過渡區沒有空間,即沒有過度效果,兩個顏色之間是一條直線。
所以可以使用這種方式實現切角效果:

div{margin: 50px;width: 200px;height: 100px;
}
.box{background:linear-gradient(135deg,transparent 10px,lightskyblue 0) left top,linear-gradient(-135deg,transparent 10px,lightskyblue 0) right top,linear-gradient(-45deg,transparent 10px,lightskyblue 0) right bottom,linear-gradient(45deg,transparent 10px,lightskyblue 0) left bottom;background-size: 50% 50%;background-repeat: no-repeat;
}

在這里插入圖片描述

方案二:clip-path

clip-path: polygon可以將圖形進行切割。圖形的左上角為(0,0)坐標,根據坐標進行切割。
所以假設需要切一個20px的角,可以設置:

.box{width: 200px;height: 100px;background-color: lightskyblue;clip-path: polygon(20px 0,calc(100% - 20px) 0,100% 20px, 100% calc(100% - 20px),calc(100% - 20px) 100%, 20px 100%,0 calc(100% - 20px), 0 20px);
}

在這里插入圖片描述

邊框

上述兩種方案如果加上邊框,邊框還是矩形,無法實現切角效果。
結合clip-path和linear-gradient可以實現加上邊框的效果。
首先把linear-gradient的第一個顏色設成跟border同一個顏色,獲得如下效果:

.box {background: linear-gradient(-45deg, #289eef 8px, lightskyblue 0) bottom right,linear-gradient(45deg, #289eef 8px, lightskyblue 0) bottom left,linear-gradient(135deg, #289eef 8px, lightskyblue 0) top left,linear-gradient(-135deg, #289eef 8px, lightskyblue 0) top right;background-size: 50% 51%;background-repeat: no-repeat;border: solid 1px #289eef;}

在這里插入圖片描述
使用clip-path把角切掉,這里注意取值的計算,如果linear-gradient的分割線是8px,88 + 88再開根號,那么clip-path的取值應該是11px。

.box {clip-path: polygon(11px 0, calc(100% - 11px) 0,100% 11px, 100% calc(100% - 11px),calc(100% - 11px) 100%, 11px 100%,0 calc(100% - 11px), 0 11px);background: linear-gradient(-45deg, #289eef 8px, lightskyblue 0) bottom right,linear-gradient(45deg, #289eef 8px, lightskyblue 0) bottom left,linear-gradient(135deg, #289eef 8px, lightskyblue 0) top left,linear-gradient(-135deg, #289eef 8px, lightskyblue 0) top right;background-size: 50% 51%;background-repeat: no-repeat;border: solid 1px #289eef;}

在這里插入圖片描述

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

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

相關文章

分享一個可以測試離線服務器性能的腳本

在日常運維工作中&#xff0c;經常會遇到系統性能莫名跟不上業務需求的情況&#xff1a;服務器響應變慢、應用加載卡頓、資源占用異常飆升等問題頻繁出現&#xff0c;卻難以快速問題根源究竟在CPU過載、內存泄漏、磁盤I/O阻塞還是網絡帶寬瓶頸。這種時候&#xff0c;特別需要一…

Python Pandas.unique函數解析與實戰教程

Python Pandas.unique 函數解析與實戰教程 摘要 本文章旨在全面地解析 pandas 庫中的 unique 函數。pandas.unique 是一個用于從一維數組型(array-like)對象中提取唯一值的高效工具。我們將從其核心功能、函數簽名、參數詳解、返回值類型,到關鍵行為特性(如順序保留、缺失…

排序算法入門:直接插入排序詳解

這里寫目錄標題介紹原理代碼實現分析介紹 直接插入排序是一種簡單直觀的排序算法&#xff0c;適用于小規模數據或基本有序的數據集。其核心思想是構建有序序列&#xff0c;對于未排序數據&#xff0c;在已排序序列中從后向前掃描&#xff0c;找到相應位置并插入。 原理 我們…

ClickHouse MergeTree引擎:從核心架構到三級索引實戰

摘要 MergeTree是ClickHouse最核心的存儲引擎&#xff0c;采用列式存儲LSM-Tree架構設計&#xff0c;支持高效的數據寫入、合并和查詢。本文將全面解析MergeTree引擎的基礎概念、數據流、核心架構、索引系統以及常見問題。 基礎篇&#xff1a; 一、MergeTree引擎基礎概念 1. 定…

電腦手機熱點方式通信(上)

電腦連接手機熱點時的無線鏈路情況&#xff1a; 電腦上網時&#xff08;從服務器下載數據&#xff0c;或者上傳指令、數據&#xff09;&#xff0c;首先電腦與手機之間基于WiFi協議在2.4G頻段或者5G頻段通信&#xff0c;然后手機與基站之間再基于4G LTE或者5G NR協議在2412MHz…

MySQL CPU占用過高排查指南

MySQL CPU 占用過高時&#xff0c;排查具體占用資源的表需結合系統監控、數據庫分析工具和 SQL 診斷命令。&#x1f50d; ?一、快速定位問題根源??確認 MySQL 進程占用 CPU?使用 top 或 htop 命令查看系統進程&#xff0c;確認是否為 mysqld 進程導致 CPU 飆升。若 MySQL 進…

軟件交付終極閘口:驗收測試全解析

驗收測試&#xff1a;軟件交付的關鍵環節 目錄 驗收測試&#xff1a;軟件交付的關鍵環節 一、驗收測試&#xff1a;軟件交付的終極閘口 核心目標與作用 在 SDLC 中的位置 二、驗收測試類型詳解&#xff1a;精準匹配業務場景 三、驗收測試全流程解析&#xff1a;從計劃到…

深度學習核心:卷積神經網絡 - 原理、實現及在醫學影像領域的應用

&#x1f9d1; 博主簡介&#xff1a;CSDN博客專家、CSDN平臺優質創作者&#xff0c;高級開發工程師&#xff0c;數學專業&#xff0c;10年以上C/C, C#,Java等多種編程語言開發經驗&#xff0c;擁有高級工程師證書&#xff1b;擅長C/C、C#等開發語言&#xff0c;熟悉Java常用開發…

多線程(二) ~ 線程核心屬性與狀態

文章目錄一. 線程創建&#xff08;start&#xff09;&#xff08;一&#xff09;繼承Thread類&#xff0c;重寫run&#xff08;二&#xff09;繼承Runnable類&#xff0c;重寫run&#xff08;三&#xff09;Thread匿名內部類重寫&#xff08;四&#xff09;Runnable匿名內部類重…

Linux---編輯器vim

一、vim的基本概念1.三種模式①命令模式控制屏幕光標的移動&#xff0c;字符、字或行的刪除&#xff0c;移動復制某區段及進入插入模式或者進去底行模式②插入模式可進行文本輸入&#xff0c;按Esc回到命令行模式③底行模式文件保存或退出&#xff0c;也可以進行文件替換&#…

如何在 Ubuntu 24.04 或 22.04 LTS Linux 上安裝 Guake 終端應用程序

通過本教程的簡單步驟,在 Ubuntu 24.04 或 22.04 LTS Jammy JellyFish 上安裝 Guake 終端以運行命令。 Guake(基于 Quake)是一個基于 Python 的終端模擬器。Guake 的行為類似于 Quake 中的終端:通過某個按鍵(熱鍵)按下時,窗口會從屏幕頂部滾下來,再次按下相同的按鍵時…

谷歌Gemini 2.5重磅應用:多模態研究助手Multi-Modal Researcher,實現全網自動研究與AI播客生成

在人工智能賦能科研與內容創作的浪潮中,谷歌基于其最新大模型 Gemini 2.5 推出了突破性工具 Multi-Modal Researcher。這一系統通過整合多模態數據(文本、視頻、實時網絡信息),實現了從自動研究到內容生成的全流程自動化。用戶只需輸入研究主題或YouTube視頻鏈接,系統即可…

防御綜合實驗

一、實驗拓補圖二、實驗需求及配置需求一設備接口VLAN接口類型SW2GE0/0/2VLAN 10AccessGE0/0/3VLAN 20AccessGE0/0/1VLAN List : 10 20Trunk[SW2]vlan 10 [SW2]vlan 20 [SW2]interface GigabitEthernet 0/0/2 [SW2-GigabitEthernet0/0/2]port link-type access [SW2-GigabitEt…

堆----2.前 K 個高頻元素

347. 前 K 個高頻元素 - 力扣&#xff08;LeetCode&#xff09; /** 桶排序: 首先遍歷數組,使用HashMap統計每個元素出現的次數 創建一個大小為length 1的List數組,下標代表元素出現次數,出現次數一致的元素放在同一個數組中 倒數遍歷List數組即可得得到前K個高頻元素 細節注…

如何分析Linux內存性能問題

一、Linux中的buffer與cache的區別 Linux的內存管理與監控_linux服務器虛假內存和真實內存怎么區分-CSDN博客文章瀏覽閱讀66次。本文主要是關于【Linux系統的物理內存與虛擬內存講解】【重點對虛擬內存的作用與用法進行了講解說明】【最后還對如何新增擴展、優化、刪除內存交換…

二次型 線性代數

知識結構總覽首先是我們的二次型的定義&#xff0c;就是說什么樣的才算是一個二次型。然后就是如何把二次型化為標準型&#xff0c;最后就是正定二次型的定義和判斷的一些條件。二次型的定義二次型其實是一種函數表達的方式&#xff0c;如上&#xff0c;含義其實就是每個項都是…

云原生三劍客:Kubernetes + Docker + Spring Cloud 實戰指南與深度整合

在當今微服務架構主導的時代&#xff0c;容器化、編排與服務治理已成為構建彈性、可擴展應用的核心支柱。本文將深入探討如何將 Docker&#xff08;容器化基石&#xff09;、Kubernetes&#xff08;編排引擎&#xff09;與 Spring Cloud&#xff08;微服務框架&#xff09; 無縫…

vue讓elementUI和elementPlus標簽內屬性支持rem單位

vue讓elementUI和elementPlus標簽內屬性支持rem單位 如 Element Plus 的 el-table 默認不直接支持使用 rem 作為列寬單位 解決方法: 將 rem 轉換為像素值&#xff08;基于根元素字體大小&#xff09; // 計算rem對應的像素值 const calcRem (remValue) > {// 獲取根元素(ht…

基于OAuth2與JWT的微服務API安全實戰經驗分享

引言 在微服務架構中&#xff0c;API 安全成為了保護服務免受未授權訪問和攻擊的關鍵要素。本文結合真實生產環境案例&#xff0c;以實戰經驗為出發點&#xff0c;分享基于 OAuth2 JWT 的微服務 API 安全方案&#xff0c;從業務場景、技術選型、實現細節、踩坑及解決方案&…

scrapy庫進階一

scrapy 庫復習 scrapy的概念&#xff1a;Scrapy是一個為了爬取網站數據&#xff0c;提取結構性數據而編寫的應用框架 scrapy框架的運行流程以及數據傳遞過程&#xff1a; 爬蟲中起始的url構造成request對象–>爬蟲中間件–>引擎–>調度器調度器把request–>引擎…