cari
Rumahhujung hadapan webhtml tutorial第 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>
Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Mengapa tag HTML penting untuk pembangunan web?Mengapa tag HTML penting untuk pembangunan web?May 02, 2025 am 12:03 AM

Htmltagsareessentialforwebdevelopmentastastheystructureandhancewebpages.1) theDefinelayout, semantik, dan interactivity.

Terangkan kepentingan menggunakan gaya pengekodan yang konsisten untuk tag dan atribut HTML.Terangkan kepentingan menggunakan gaya pengekodan yang konsisten untuk tag dan atribut HTML.May 01, 2025 am 12:01 AM

Gaya pengekodan HTML yang konsisten adalah penting kerana ia meningkatkan kebolehbacaan, kemampuan dan kecekapan kod. 1) Gunakan tag dan atribut huruf kecil, 2) Pastikan lekukan yang konsisten, 3) Pilih dan tentukan sebut harga tunggal atau berganda, 4) Elakkan mencampurkan gaya yang berbeza dalam projek, 5) Gunakan alat automasi seperti Prettier atau Eslint untuk memastikan konsistensi dalam gaya.

Bagaimana untuk melaksanakan Carousel Multi-Project di Bootstrap 4?Bagaimana untuk melaksanakan Carousel Multi-Project di Bootstrap 4?Apr 30, 2025 pm 03:24 PM

Penyelesaian untuk melaksanakan Carousel Multi-Project dalam Bootstrap4 Melaksanakan Carousel Multi-Project di Bootstrap4 bukanlah tugas yang mudah. Walaupun bootstrap ...

Bagaimanakah laman web rasmi DeepSeek mencapai kesan menembusi acara tatal tetikus?Bagaimanakah laman web rasmi DeepSeek mencapai kesan menembusi acara tatal tetikus?Apr 30, 2025 pm 03:21 PM

Bagaimana untuk mencapai kesan penembusan peristiwa menatal tetikus? Apabila kami melayari web, kami sering menghadapi beberapa reka bentuk interaksi khas. Sebagai contoh, di laman web rasmi DeepSeek, � ...

Cara mengubahsuai gaya kawalan main balik video HTMLCara mengubahsuai gaya kawalan main balik video HTMLApr 30, 2025 pm 03:18 PM

Gaya kawalan main balik lalai video HTML tidak dapat diubahsuai secara langsung melalui CSS. 1. Buat kawalan tersuai menggunakan JavaScript. 2. Mencantikkan kawalan ini melalui CSS. 3. Pertimbangkan keserasian, pengalaman pengguna dan prestasi, menggunakan perpustakaan seperti video.js atau PLYR dapat memudahkan proses.

Masalah apa yang akan disebabkan oleh menggunakan Pilih asli di telefon anda?Masalah apa yang akan disebabkan oleh menggunakan Pilih asli di telefon anda?Apr 30, 2025 pm 03:15 PM

Masalah yang berpotensi dengan menggunakan pilihan asli pada telefon bimbit semasa membangunkan aplikasi mudah alih, kami sering memenuhi keperluan untuk memilih kotak. Biasanya, pemaju ...

Apakah kelemahan menggunakan pilihan asli di telefon anda?Apakah kelemahan menggunakan pilihan asli di telefon anda?Apr 30, 2025 pm 03:12 PM

Apakah kelemahan menggunakan pilihan asli di telefon anda? Apabila membangunkan aplikasi pada peranti mudah alih, sangat penting untuk memilih komponen UI yang betul. Banyak pemaju ...

Bagaimana untuk mengoptimumkan pengendalian perlanggaran perayauan orang ketiga di dalam bilik menggunakan tiga.js dan octree?Bagaimana untuk mengoptimumkan pengendalian perlanggaran perayauan orang ketiga di dalam bilik menggunakan tiga.js dan octree?Apr 30, 2025 pm 03:09 PM

Gunakan tiga.js dan octree untuk mengoptimumkan pengendalian perlanggaran perayauan orang ketiga di dalam bilik. Gunakan octree dalam tiga.js untuk melaksanakan perayauan orang ketiga di dalam bilik dan tambahkan perlanggaran ...

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual