学习要点:
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>

htmltagsareSterenceforwebdevelovementasyStheStructureanhandhancewebpages.1)theydefineLayout、semantics、and-interactivity.2)semanticagsimprovecessibility.3)opeusofusofagscanoptimizeperformanceandensurecross-brows-compativeation。

コードの読みやすさ、保守性、効率を向上させるため、一貫したHTMLエンコーディングスタイルは重要です。 1)低ケースタグと属性を使用します。2)一貫したインデントを保持し、3)シングルまたはダブルの引用符を選択して固執する、4)プロジェクトのさまざまなスタイルの混合を避け、5)きれいなスタイルやEslintなどの自動化ツールを使用して、スタイルの一貫性を確保します。

Bootstrap4にマルチプロジェクトカルーセルを実装するソリューションBootstrap4にマルチプロジェクトカルーセルを実装するのは簡単な作業ではありません。ブートストラップですが...

マウススクロールイベントの浸透の効果を実現する方法は? Webを閲覧すると、いくつかの特別なインタラクションデザインに遭遇することがよくあります。たとえば、DeepSeekの公式ウェブサイトでは、...

HTMLビデオのデフォルトの再生コントロールスタイルは、CSSを介して直接変更することはできません。 1. JavaScriptを使用してカスタムコントロールを作成します。 2。CSSを介してこれらのコントロールを美化します。 3. video.jsやPLYRなどのライブラリを使用すると、互換性、ユーザーエクスペリエンス、パフォーマンスを検討してください。プロセスを簡素化できます。

携帯電話でネイティブセレクトを使用する際の潜在的な問題は、モバイルアプリケーションを開発するときに、ボックスを選択する必要があることがよくあります。通常、開発者...

お使いの携帯電話でネイティブ選択を使用することの欠点は何ですか?モバイルデバイスでアプリケーションを開発する場合、適切なUIコンポーネントを選択することが非常に重要です。多くの開発者...

Three.JSとOctreeを使用して、部屋でのサードパーソンローミングの衝突処理を最適化します。 3つのjsでoctreeを使用して、部屋でサードパーソンローミングを実装し、衝突を追加してください...


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ホットトピック









