這次帶給大家實作多背景模擬動態邊框,實現多背景模擬動態邊框的注意事項有哪些,下面就是實戰案例,一起來看一下。
首先來看看要實現的效果圖
實作方法如下
我首先想到的是border屬性,可是border屬性不能設定長度。如果用border實現,需要用其他元素來模擬,比較麻煩。後來突然想起以前在網路上看到有人用CSS3的多背景來模擬邊框,就試了一下。
css3 背景
CSS3對於background做了一些修改,最明顯的一個就是採用設定多背景,不但增加了4個新屬性,並且也對目前的屬性進行了調整增強。
1、 多個背景圖片
在css3裡面,你可以再一個標籤元素應用多個背景圖片。代碼類似與css2.0版本的寫法,但引用圖片之間需用“,”逗號隔開。第一個圖片是定位在元素最上面的背景,後面的背景圖片依序在它下面顯示,如下:
background-image: url(top-image.jpg), url(middle-image.jpg), url(bottom-image.jpg);
2、新屬性:Background Clip
這個討論讓我們回到文章開始提到的關於背景被border邊框遮擋的問題。 background-clip的加入讓我們完全能夠控制背景顯示的位置。
屬性值如下:
background-clip: border; 背景在border邊框下開始顯示
background-clip: padding; 背景在padding下開始顯示,而不是padding border邊框下開始
background-clip: content; 背景在內容區域下開始顯示,而不是border邊框下開始或padding下開始。
background-clip: no-clip; 預設屬性值,類似與background-clip: border;
3、新屬性: Background Origin
#此屬性需要與background-position搭配使用。你可以用background-position計算定位是從border,padding或content boxes內容區域算起。 (類似background-clip)
background-origin:border; 從border邊框位置算起
background-origin:padding; 從padding位置上算起##padding
background-origin:content; 從content-box內容區域位置算起; background-clip和background-origin的差異www.CSS3.info網站給做了很好的分析解說。4、新屬性:Background Size
Background Size屬性用來重設你的背景圖片。 有幾個屬性值: background-size: contain; 縮小背景圖片使其適應標籤元素(主要是像素方面的比率) background-size: cover; 讓背景圖片放大延伸到整個標籤元素大小(主要是像素方面的比率) background-size: 100px 100px; 標明背景圖片縮放的尺寸大小 50% 100%; 百分比是根據內容標籤元素大小,來縮放圖片的尺寸大小你可以去CSS 3 specifications網站看一下簡單的案例說明。5、新屬性:Background Break
css3裡標籤元素能被分在不同區域(如:讓內聯元素span跨多行),background- break屬性能夠控制背景在不同區域顯示。 屬性值: Background-break: continuous; 此屬性是預設值,忽略區域之間的間隔空隙(給它們應用圖片就好像把它們看成一個區域一樣) Background-break: bounding-box; 重新考慮區域之間的間隔Background-break: each-box; 对每一个独立的标签区域进行背景的重新划分。
6、背景颜色的调整
background-color属性在css3版本里面稍微做了增强,除了指定background color背景颜色之外,还可以对不使用的标签元素背景图片进行去色处理。
background-color: green / blue;此例子里,这背景颜色可能是绿色,然而,如果底部背景图片无效的话,蓝色将代替绿色来显示。如果你没有指定某个颜色的话,它将其视为透明。
7、背景重复的调整
css2里当设置背景的时候,它经常被标签元素截取而显示不全,css3介绍了2个新属性来修复此问题。 space:图片以相同的间距平铺且填充整个标签元素 round:图片自动缩放直到适应且填充整个标签元素
CSS 3 specifications网站对background-repeat: space的使用就是一个现成的例子。
8、Background Attachment 的调整
Background Attachment有了一个新属性值:local,当标签元素滚动时它才有效(如设置overflow:scroll;),当background-attachment设置为scroll时,背景图片是不随内容滚条滚动的。现在,有了background-attachment:local,就可以做到让背景随元素内容滚动而滚动了。
css3 多背景模拟元素边框
我们这里主要使用了background-img、background-size 和 background-position 三个属性。
background-image: [background-image], [background-image], [background-image]; background-position: [background-position], [background-position], [background-position]; background-repeat: [background-repeat], [background-repeat], [background-repeat];
简写形式如下:
background: [background-image] [background-position] [background-repeat], [background-image] [background-position] [background-repeat], [background-image] [background-position] [background-repeat];
现在我们用多背景来模拟一个元素的边框
/*CSS*/ .exammple { background: linear-gradient(0, #108b96 2px, #108b96 2px) no-repeat, linear-gradient(-90deg, #108b96 2px, #108b96 2px) no-repeat, linear-gradient(-180deg, #108b96 2px, #108b96 2px) no-repeat, linear-gradient(-270deg, #108b96 2px, #108b96 2px) no-repeat; background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%; background-position: left top, right top, right bottom, left bottom; }
<p></p>
我们用四个渐变的背景来模拟四个边框(为什么我们要用渐变而不是直接的Color呢?这是由于Css的多背景只能是background-image, background-color不支持多个值,所有即便是纯色的边框,我们也只能使用渐变)。
接下来我们让边框动起来
/*CSS*/ .exammple { transition: ease-in .3s; background: linear-gradient(0, #108b96 2px, #108b96 2px) no-repeat, linear-gradient(-90deg, #108b96 2px, #108b96 2px) no-repeat, linear-gradient(-180deg, #108b96 2px, #108b96 2px) no-repeat, linear-gradient(-270deg, #108b96 2px, #108b96 2px) no-repeat; background-size: 0 2px, 2px 0, 0 2px, 2px 0; background-position: left top, right top, right bottom, left bottom; } .exammple:hover { background-size: 100% 2px, 2px 100%, 100% 2px, 2px 100%; }
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
以上是實現多背景模擬動態邊框的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Wufoo一直在集成方面非常出色。他們與特定應用程序(例如廣告系列顯示器,MailChimp和Typekit)進行集成,但他們也


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

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

記事本++7.3.1
好用且免費的程式碼編輯器

Atom編輯器mac版下載
最受歡迎的的開源編輯器