CSS3五角星效果詳解
分享一段程式碼例項,他利用CSS3實現了五角星效果。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> * { margin: 0; padding: 0; box-sizing: border-box; } /*三個小三角組成*/ .starFive { width: 0; height: 0; margin: 100px auto; position: relative; border-left: 60px solid transparent; border-right: 60px solid transparent; border-bottom: 36px solid #7abb15; transform: rotate(35deg); } .starFive:before { position: absolute; content: ''; width: 0; height: 0; border-left: 20px solid transparent; border-right: 20px solid transparent; border-bottom: 50px solid #7abb15; top: -26px; left: -38px; transform: rotate(-35deg); } .starFive:after { position: absolute; content: ''; width: 0; height: 0; border-left: 60px solid transparent; border-right: 60px solid transparent; border-bottom: 36px solid #7abb15; top: 3px; left: -67px; transform: rotate(-70deg); } </style> </head> <body> <div class="starFive"></div> </body> </html>
上面程式碼實現了五角星效果,下面介紹一下它的實現過程。
一.程式碼註釋:
[CSS] 純文字檢視 複製程式碼* { margin: 0; padding: 0; box-sizing: border-box; }
簡單的初始化處理。
首先將所有元素的內邊距和外邊距設定為0。
最後設定採用怪異盒模型來解析元素,其實在本例中並沒有什麼用處。
[CSS] 純文字檢視 複製程式碼.starFive { width: 0; height: 0; margin: 100px auto; position: relative; border-left: 60px solid transparent; border-right: 60px solid transparent; border-bottom: 36px solid #7abb15; transform: rotate(35deg); }
通過邊框生成一個三角形,具體參閱CSS三角形效果詳解一章節。
這個五角星效果,其實是三個三角形以恰當的位置重貼生成的,CSS程式碼修改如下:
[CSS] 純文字檢視 複製程式碼* { margin: 0; padding: 0; box-sizing: border-box; } /*三個小三角組成*/ .starFive { width: 0; height: 0; margin: 100px auto; position: relative; border-left: 60px solid red; border-right: 60px solid blue; border-bottom: 36px solid #7abb15; transform: rotate(35deg); }
將其他CSS程式碼刪除,只保留上面這些,並且修改每一個邊框的顏色,效果截圖如下:
紅和藍色部分在實際程式碼中被設定為透明。
知道了這個原理,那麼實現五角星效果就比較容易了,下面不多介紹。
二.相關閱讀:
(1).box-sizing參閱CSS3 box-sizing一章節。
(2).相對定位參閱CSS position:relative 相對定位一章節。
(3).transform參閱CSS3 transform一章節。
(4).:before參閱CSS E::before 偽物件選擇符一章節。
相關文章
- css3過渡效果詳解CSSS3
- CSS3對勾效果詳解CSSS3
- CSS3開關門效果詳解CSSS3
- CSS3動態月食效果詳解CSSS3
- CSS3打字效果詳解CSSS3
- CSS3叉號按鈕效果詳解CSSS3
- CSS3旋轉大風車效果詳解CSSS3
- CSS3扇形旋轉效果詳解CSSS3
- CSS3郵票鋸齒邊框效果詳解CSSS3
- 「CSS3 」動畫詳解CSSS3動畫
- css3動畫效果抖動解決CSSS3動畫
- css3過渡詳解CSSS3
- CSS3圓角詳解CSSS3
- CSS3圖案詳解CSSS3
- 教你怎麼使用css3給圖片新增漸變效果(程式碼詳解)CSSS3
- CSS3象棋效果CSSS3
- css3系列之詳解perspectiveCSSS3
- jQuery 放大鏡效果詳解jQuery
- JavaScript 打字機效果詳解JavaScript
- JavaScript抽獎效果詳解JavaScript
- jQuery彈幕效果詳解jQuery
- JavaScript 秒錶效果詳解JavaScript
- jQuery div拖拽效果詳解jQuery
- jQuery抖動效果詳解jQuery
- css3中transition屬性詳解CSSS3
- CSS3之多列布局columns詳解CSSS3
- CSS3元素居中詳解CSSS3
- CSS3 文字效果CSSS3
- CSS3空心圓效果CSSS3
- CSS3呼吸燈效果CSSS3
- CSS3 矩形切角效果CSSS3
- CSS3哭臉效果CSSS3
- CSS3翻轉效果CSSS3
- JavaScript 雪花飄舞效果詳解JavaScript
- JavaScript省市級聯效果詳解JavaScript
- JavaScript選項卡效果詳解JavaScript
- CSS3的content屬性詳解CSSS3
- CSS3動畫效果下拉導航選單效果CSSS3動畫