目錄
border-image屬性和價值:快速刷新
圖像源
切片圖像
中心填充
重複
啟動
實踐中border-image :Mike Worth的網站
裝飾按鈕
文章滾動
主頁覆蓋
結論
關於安迪·克拉克
首頁 web前端 css教學 重新訪問CSS邊界圖像

重新訪問CSS邊界圖像

Apr 22, 2025 am 10:08 AM

重新訪問CSS邊界圖像

我上一篇文章“重新訪問CSS多列佈局”指出,自從我的第一本書《超越CSS 》出版以來已經過去了近二十年。本書探索了當時的新聞CSS屬性及其應用程序。十年後,基於此建造的五週年紀念版五週年版,引入了border-image屬性。

(注意:已更新的,可以自由使用的在線版本,超越CSS進行了重新訪問,存在。我的書店可從我的書店使用hardboiled的Web Design 。)

border-image財產的潛力使我興奮。即使在表格中,它也可以使圖像集成到元素邊界中(除非應用邊框崩潰)。

儘管經常使用, border-image仍未得到充分利用。它的尷尬語法要怪嗎?也許對實踐創造性實現的解釋不足?可能兩者。

最近在艾美獎的遊戲作曲家邁克·沃思(Mike Worth)的網站上的最新工作是一個圖形豐富的項目,廣泛展示了border-image

border-image屬性和價值:快速刷新

大多數解釋始於這種常見的速記:

 <code>border-image: \[source\] [slice]/\[width]/[outset\] [repeat]</code>
登入後複製

但是,了解單個屬性更簡單。

圖像源

首先,定義圖像源(位圖,向量或CSS梯度):

 <code>border-image-source: url('/img/scroll.png');</code>
登入後複製

對於SVG,存在幾個選項:外部文件:

 <code>border-image-source: url('/img/scroll.svg');</code>
登入後複製

數據URI(儘管SVG和HTML的XML性質較少推薦):

 <code>border-image-source: url('data:image/svg xml;base64,…');</code>
登入後複製

直接嵌入SVG代碼(避免額外的HTTP請求):

 <code>border-image-source: url('data:image/svg xml;utf8,…');</code>
登入後複製

或者,使用CSS梯度:

 <code>border-image-source: conical-gradient(…);</code>
登入後複製

(提示:記住: border-image在背景和box-shadow之上呈現,但在內容之下。)

切片圖像

指定源後,切片將圖像劃分以放置在邊界的九個區域中。這通常使新來者感到困惑。

雖然簡單的等級切片很常見, border-image處理複雜形狀。無形的切割線將圖像分為九個部分,類似於圖形編輯器中的切片指南。

border-image-slice定義了切片大小,指定了距每個邊緣的距離。這可能是一個值:

 <code>border-image-slice: 65</code>
登入後複製

頂部/底部和左/右值組合:

 <code>border-image-slice: 115 65;</code>
登入後複製

或單個值(順時針:上,右,底部,左):

 <code>border-image-slice: 65 65 115 125;</code>
登入後複製

左上圖的圖像部分轉到左上角,依此類推。位圖圖像假設像素單元; SVG受益於明確的高度和寬度:

<code><svg height="600px" width="600px"> …</svg></code>
登入後複製

相應地設置邊界寬度:

 <code>border-image-width: 65px 65px 115px 125px;</code>
登入後複製

中心填充

中心通常被忽略,但fill關鍵字利用它:

 <code>border-image-slice: 65px 65px 115px 125px fill;</code>
登入後複製

重複

控製圖像如何沿邊緣重複或伸展:

  • stretch :伸展平穩。
  • repeat :重複紋理圖像。
  • round :重複整個零件,調整圖像的大小。
  • space :重複整個零件,添加空間。

單個邊緣設置是可能的:

 <code>border-image-repeat: stretch round;</code>
登入後複製

啟動

使用邊框圖像庫將圖像擴展到border-image-outset以外:

 <code>border-image-outset: 10px;</code>
登入後複製

或指定個人銷售:

 <code>border-image-outset: 20px 10px;</code>
登入後複製

實踐中border-image :Mike Worth的網站

邁克·沃思(Mike Worth)的網站受到90年代動畫的啟發,使用了border-image以實現效率和視覺影響。

裝飾按鈕

使用SVG和border-image創建了Stone平板電腦風格的按鈕:

 <code>button { border-image-repeat: stretch; border-image-slice: 10 10 10 10 fill; border-image-source: url('data:image/svg xml;utf8,…'); border-image-width: 20px; }</code>
登入後複製

文章滾動

使用單個SVG和border-image實現了紙滾動效果,避免了偽元素:

 <code>article { border-image-slice: 150 95 150 95 fill; border-image-width: 150px 95px 150px 95px; border-image-repeat: stretch round; border-image-source: url('data:image/svg xml;utf8,…'); }</code>
登入後複製

主頁覆蓋

交互式疊加層使用的border-image在懸停在懸停上添加彩色梯度:

 <code>section:hover::before { opacity: .5; border-image: fill 0 linear-gradient(rgba(0,0,255,.25),rgba(255,0,0,1)); }</code>
登入後複製

結論

border-image是有效地創建具有視覺驚人設計的強大工具。應更廣泛地探索其潛力。邁克·沃思(Mike Worth)的網站展示了其創建複雜邊界,裝飾元素和動態覆蓋的能力。嘗試border-image以增強您的設計。

(注意: Mike Worth的網站於2025年4月啟動;可用Codepen示例。)

關於安迪·克拉克

安迪·克拉克(Andy Clarke)是一位開創性的網頁設計師,以其創意和視覺上令人驚嘆的作品而聞名。他撰寫了幾本有影響力的書籍,包括超越CSS硬煮的網頁設計網絡的藝術指導,並提供了流行的Web設計合同模板,合同殺手。

以上是重新訪問CSS邊界圖像的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

帶有粘性定位的堆疊卡和一點點的雜物 帶有粘性定位的堆疊卡和一點點的雜物 Apr 03, 2025 am 10:30 AM

前幾天,我發現了科里·金尼文(Corey Ginnivan)網站上的這一點,當您滾動時,彼此之間的卡片堆放集。

Google字體可變字體 Google字體可變字體 Apr 09, 2025 am 10:42 AM

我看到Google字體推出了新設計(Tweet)。與上一次大型重新設計相比,這感覺更加迭代。我幾乎無法分辨出區別

如何使用HTML,CSS和JavaScript創建動畫倒計時計時器 如何使用HTML,CSS和JavaScript創建動畫倒計時計時器 Apr 11, 2025 am 11:29 AM

您是否曾經在項目上需要一個倒計時計時器?對於這樣的東西,可以自然訪問插件,但實際上更多

為什麼Flex佈局中的紫色斜線區域會被誤認為是'溢出空間”? 為什麼Flex佈局中的紫色斜線區域會被誤認為是'溢出空間”? Apr 05, 2025 pm 05:51 PM

關於Flex佈局中紫色斜線區域的疑問在使用Flex佈局時,你可能會遇到一些令人困惑的現象,比如在開發者工具(d...

如何通過CSS選擇第一個類名為item的子元素? 如何通過CSS選擇第一個類名為item的子元素? Apr 05, 2025 pm 11:24 PM

在元素個數不固定的情況下如何通過CSS選擇第一個指定類名的子元素在處理HTML結構時,常常會遇到元素個數不�...

HTML數據屬性指南 HTML數據屬性指南 Apr 11, 2025 am 11:50 AM

您想了解的有關HTML,CSS和JavaScript中數據屬性的所有信息。

使Sass更快的概念證明 使Sass更快的概念證明 Apr 16, 2025 am 10:38 AM

在一個新項目開始時,Sass彙編發生在眼睛的眨眼中。感覺很棒,尤其是當它與browsersync配對時,它重新加載

在前端開發中,如何使用CSS和JavaScript實現類似Windows 10設置界面的探照燈效果? 在前端開發中,如何使用CSS和JavaScript實現類似Windows 10設置界面的探照燈效果? Apr 05, 2025 pm 10:21 PM

在前端開發中如何實現類似Windows...

See all articles