(中級)用CSS人造三角形
本文節選自《CSS設計指南(第3版》。
第1章完全免費試讀,電子書線上熱賣中:http://www.ituring.com.cn/book/1111以下內容節選自第6章“介面元件”。
現在,我在考慮怎麼讓彈出層和圖片的關係更加明確。嗯,可以給彈出層左邊新增一個三角箭頭,讓它指向圖片。這就涉及利用盒子三角形對接的邊框來建立三角形了。下面我用一個div
來演示這個技術。
圖6-23 使用寬邊框建立三角形
以下是圖6-23所示效果的程式碼。
div {
border:12px solid;
border-color:transparent red transparent transparent;
height:0px;
width:0px;
}
如圖6-23所示,通過加寬盒子的邊框,將盒子的寬和高都設定為0,同時將其他三個邊框設定為transparent
,就可以用CSS造出一個三角形。現在,我把這個技術與::before
偽元素結合起來。大家知道,::before
和::after
這兩個偽元素是用於新增文字或圖示等少量內容的。不過,完全可以為它們生成的內容設定任何樣式,就像給標記中其他元素設定樣式一樣。在這個例子中,就是要把偽元素生成內容的盒子,通過CSS製作成一個三角形,並把它放到彈出層的左邊。
figcaption::after { /*紅色三角形的盒子*/
content:""; /*需要有內容,這裡是一個空字串*/
position:absolute; /*相對於彈出層定位*/
border:12px solid;
border-color:transparent red transparent transparent;
right:100%; top:17px; /*相對於盒子邊框定位三角形*/
height:0px; width:0px; /*收縮邊框創造三角形*/
}
圖6-24 一個小三角形,就從視覺上把彈出層和相關圖片聯絡起來了
好了,程式碼生成的三角形已經被絕對定位到了彈出層左側,而彈出層本身又相對於圖片定位,如圖6-24所示。這麼20來行CSS,就能顯示無數個圖片的彈出層! 誰說程式設計沒有創造性來著?要注意的是,::before
偽元素的content
屬性中必須有點內容,否則就不能顯示生成的元素。因為我們並不真需要什麼內容,所以就用一對雙引號指定了一個空字串給它。這個練習好玩吧?肯定比表單好玩多了,是不是?
相關文章
- 用CSS製作三角形.CSS
- css樣式中三角形的應用CSS
- CSS 三角形效果CSS
- 人造情感(emotion)
- 用CSS畫一個帶陰影的三角形CSS
- 用CSS實現三角形和平行四邊形CSS
- 用 CSS 實現三角形與平行四邊形CSS
- (中級) CSS中的“正常”(normal)值CSSORM
- 純css畫三角形CSS
- CSS繪製三角形CSS
- 純css繪製三角形CSS
- CSS三角形和餅圖CSS
- CSS三角形效果詳解CSS
- CSS 頂部三角形矩形CSS
- CSS實現三角形效果CSS
- 理解純CSS畫三角形CSS
- (中級)用CSS3過渡設計搜尋表單CSSS3
- 超級大反派降臨:當黑客可以摧毀人造衛星黑客
- CSS實用技巧(中)CSS
- CSS 實現三角形,非 HackCSS
- CSS 三角形箭頭的矩形CSS
- CSS小技巧——畫個三角形CSS
- css-製作三角形方法CSS
- CSS空心三角形箭頭效果CSS
- (中級)用CSS3表元實現多欄-中欄流動佈局CSSS3
- css空心三角形箭頭矩形效果CSS
- (中級)CSS層疊規則要點CSS
- CSS 魔法系列:純 CSS 繪製三角形(各種角度)CSS
- CSS實現帶陰影的三角形CSS
- CSS帶有三角形箭頭的矩形CSS
- CSS一個盒子如何變成三角形?CSS
- CSS3各種方向三角形效果CSSS3
- CSS各個方向的三角形程式碼CSS
- 利用div和css製作三角形效果CSS
- css三角形箭頭程式碼例項CSS
- CSS矩形一側三角形箭頭效果CSS
- CSS 頂部帶有三角形的矩形CSS
- 如何用純CSS繪製三角形--02CSS