搜尋
首頁web前端html教學第 23 章 CSS3 边框图片效果 - 水之原

学习要点:

1.属性初探

2.属性解释

3.简写和版本

 

主讲教师:李炎恢

 

本章主要探讨 HTML5 中 CSS3 中边框图片背景的效果,通过这个新属性让边框更加的丰富多彩。

 

一.属性解释

CSS3 提供了一个新的属性集合,用这几个属性可以嵌入图片形式的边框。这样,边框就可以自定义了。

1.border-image-source      //引入背景图片地址
2.border-image-slice         //切割引入背景图片
3.border-image-width       //边框图片的宽度
4.border-image-repeat     //边框背景图片的排列方式
5.border-image-outset     //边框背景向外扩张
6.border-image               //上面五个属性的简写方式

 

二.属性解释 

要实现边框背景,我们对图片也有一定的要求,否则效果不能完全体现出来。图片可以通过九宫格的切分来了解它。我们使用 W3C 官网上教学的图片来讲解一下。

如上图所示,九宫格并不一定要求每一个格子大小都相同。当然,如果相同的话,制作边框背景就相对容易一点。比如如下这张图片:

首先,用 Photoshop 软件分析一下这个标准九宫格的总体大小和每个格子的大小。最终得出图片总大小为 81px 正方形,四个角的大小为 27px 的正方形,其余五个角也是 27px。

那么,第一步:先创建一个盒子区域,大小为 400x400 的矩形。然后设置引入边框图像。

//引入边框图像

<span style="color: #800000;">border-image-source: url(border.png);</span>

单单只有这句话,webkit 引擎下的浏览器会在盒子区块的四个角看到一丁点图像的影子。而其他浏览器什么都看不到。这是由于没有设置边框背景图像的宽度导致的。

//设置边框图像宽度,上右下左,可以设置四个值

<span style="color: #800000;">border-image-width: 81px;</span>

这里设置的是边框图像的宽度,而不是边框宽度。当你设置边框宽度,你会发现,文本会偏移。而边框图像的宽度不会挤压文本。

//设置边框的宽度

<span style="color: #800000;">border-width: 20px;</span>

以上设置完毕后,支持边框背景图片的浏览器会在四个角落铺上这张图片的完整形式。这个时候需要通过引入切割属性来配置背景图片的显示方式。

//首先,边框图像宽度设置为 27px 和一个单格宽高一致 

<span style="color: #800000;">border-image-width: 27px;</span>

//设置切割属性的大小 

<span style="color: #800000;">border-image-slice: 27;</span>

这里的 27 不需要设置 px 像素,因为它默认就是像素。设置 27 之后,我们会发现边框的四个角正好是橘红色的四个角。那么你可以逐步放大或逐步放下这个值,来体验一下它的变化。

//从 27 逐步放大到 81,四个角都慢慢缩小,各自显示一个完整的图像

<span style="color: #800000;">border-image-slice: 81;</span>

//从 27 逐步缩小到 0,发现四个角都慢慢变大,配合 fill 整体显示一个完整图像

<span style="color: #800000;">border-image-slice: 0 fill;</span>

上面只是单独设置了一个像素表示四个边切割的大小,你也可以设置百分比、浮点值或者分别设置四个变的大小。

//33.5%差不多 27

<span style="color: #800000;">border-image-slice: 33.5%;</span>

//上下设置 27,左右设置 0

<span style="color: #800000;">border-image-slice: 27 0;</span>

如果想让边框背景向外扩张,那么可以进行扩张设置。

//向外扩张 20px,也可以是浮点值,比如 2.2

<span style="color: #800000;">border-image-outset: 20px;</span>

四个角设定好之后,我们要设定四个变的显示排列方式。使用 border-image-repeat 属性,有四个值提供使用,分别如下表:

属性

说明

stretch 

指定用拉伸方式填充边框背景图。默认值。

repeat

指定用平铺方式来填充边框背景图。当图片碰到边界时,如果超过则被截断。

round

指定用平铺方式来填充边框背景图。图片会根据边框的尺寸动态调整图片的大小,直至正好可以铺满整个边框。

space

指定用平铺方式来填充边框背景图。图片会根据边框的尺寸动态调整图片的之间的间距,直至正好可以铺满整个边框。

//拉伸方式填充,当然,通过上右下左设置四个边均可

<span style="color: #800000;">border-image-repeat: stretch;</span>

//平铺填充,超过则被截断

<span style="color: #800000;">border-image-repeat: repeat;</span>

//平铺填充,动态调整图片大小直至铺满

<span style="color: #800000;">border-image-repeat: round;</span>

//平铺填充,动态调整图片的间距直至铺满 

<span style="color: #800000;">border-image-repeat: space;</span>

//另一个按钮的小例子 

<span style="color: #800000;">div </span>{<span style="color: #ff0000;">
    width</span>:<span style="color: #0000ff;"> 400px</span>;<span style="color: #ff0000;">
    height</span>:<span style="color: #0000ff;"> 40px</span>;<span style="color: #ff0000;">
    border-image-source</span>:<span style="color: #0000ff;"> url(button.png)</span>;<span style="color: #ff0000;">
    border-image-width</span>:<span style="color: #0000ff;"> 10px</span>;<span style="color: #ff0000;">
    border-image-slice</span>:<span style="color: #0000ff;"> 10 fill</span>;<span style="color: #ff0000;">
    border-image-repeat</span>:<span style="color: #0000ff;"> stretch</span>;
}

 

三.简写和版本

//border-image 简写格式很简单,具体如下:

<span style="color: #800000;">border-image: ||  [ / | / ? /  ]? || </span><span style="font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.5; background-color: #ffffff;"> </span>

//以上是手册上摘录的,转换成实际格式如下: 

<span style="color: #800000;">border-image: url(border.png) 27/27px round;</span><span style="font-family: verdana, Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.5; background-color: #ffffff;"> </span>

对于支持的浏览器及版本如下表:

 

Opera

Firefox

Chrome

Safari

IE

部分支持需带前缀

11.5~12.1

3.5 ~ 14

4 ~ 14

3.1 ~ 5.1

支持需带前缀

支持不带前缀

15+

15+

15+

6+

11.0+

//兼容加上前缀

<span style="color: #800000;">-webkit-border-image: url(border.png) 27/27px round;
-moz-border-image: url(border.png) 27/27px round;
-o-border-image: url(border.png) 27/27px round;
border-image: url(border.png) 27/27px round;</span>
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
為什麼HTML標籤對Web開發很重要?為什麼HTML標籤對Web開發很重要?May 02, 2025 am 12:03 AM

htmltagsareessentialforwebdevelopmentastheyandendenhancewebpages.1)semantictagsimproveaccessibilityandseo.2)semanteLayOut,語義和互動性。 3)poseriblesibilityandseoandseo.3)poseriblesoftagscanoftagscanoftagscanoptagscanoptimizeperefeneandimizeanDenSuroceRecRoscRoss-BrowserCrowserCercerComercompatibility。

說明將一致的編碼樣式用於HTML標籤和屬性的重要性。說明將一致的編碼樣式用於HTML標籤和屬性的重要性。May 01, 2025 am 12:01 AM

一致的HTML編碼風格很重要,因為它提高了代碼的可讀性、可維護性和效率。 1)使用小寫標籤和屬性,2)保持一致的縮進,3)選擇並堅持使用單引號或雙引號,4)避免在項目中混合使用不同風格,5)利用自動化工具如Prettier或ESLint來確保風格的一致性。

如何在 Bootstrap 4 中實現多項目輪播?如何在 Bootstrap 4 中實現多項目輪播?Apr 30, 2025 pm 03:24 PM

在Bootstrap4中實現多項目輪播的解決方案在Bootstrap4中實現多項目輪播並不是一件簡單的事情。雖然Bootstrap...

deepseek官網是如何實現鼠標滾動事件穿透效果的?deepseek官網是如何實現鼠標滾動事件穿透效果的?Apr 30, 2025 pm 03:21 PM

如何實現鼠標滾動事件穿透效果?在我們瀏覽網頁時,經常會遇到一些特別的交互設計。比如在deepseek官網上,�...

HTML 視頻的播放控件樣式怎麼修改HTML 視頻的播放控件樣式怎麼修改Apr 30, 2025 pm 03:18 PM

無法直接通過CSS修改HTML視頻的默認播放控件樣式。 1.使用JavaScript創建自定義控件。 2.通過CSS美化這些控件。 3.考慮兼容性、用戶體驗和性能,使用庫如Video.js或Plyr可簡化過程。

在手機上使用原生select會帶來哪些問題?在手機上使用原生select會帶來哪些問題?Apr 30, 2025 pm 03:15 PM

在手機上使用原生select的潛在問題在開發移動端應用時,我們常常會遇到選擇框的需求。通常情況下,開發者傾...

在手機上使用原生select的弊端是什麼?在手機上使用原生select的弊端是什麼?Apr 30, 2025 pm 03:12 PM

在手機上使用原生select的弊端是什麼?在移動設備上開發應用時,選擇合適的UI組件是非常重要的。許多開發者�...

如何使用Three.js和Octree優化房間內第三人稱漫遊的碰撞處理?如何使用Three.js和Octree優化房間內第三人稱漫遊的碰撞處理?Apr 30, 2025 pm 03:09 PM

使用Three.js和Octree優化房間內第三人稱漫遊的碰撞處理在Three.js中使用Octree實現房間內的第三人稱漫遊並添加碰�...

See all articles

熱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

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

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

記事本++7.3.1

記事本++7.3.1

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

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!