下面以2017年新年祝福語為例給大家展示下效果。
純CSS3實現的鼠標懸停時邊框旋轉的效果:
實現代碼如下,代碼中注釋已經比較詳細,就不再多說了:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> body { width: 40rem; height: 30rem; font-size: 62.50%; /* 把body的字體設置為10px以方便使用rem時的計算 */ } .container { width: 100%; height: 100%; background: #0f0; text-align: center; } /* 設置content元素的屬性 */ /* 此元素的寬和高必須相等,即設置border-radius: 50%;后應該是一個圓 */ /* 使用rem相對于body的字體尺寸設置了寬和高 */ .content { display: inline-block; margin-top: 5rem; width: 20rem; height: 20rem; border: solid 15px rgba(255, 255, 255, 1); /* 此處設置邊框,使用rgba的方式是為了后面隱藏時方便,只需要設置a的值為0即可隱藏 */ border-radius: 50%; box-sizing: border-box; /* 使用此屬性防止邊框撐開盒子,border-box會讓邊框占用盒子里面的空間 */ transition: all 2s; /* 該元素的所有屬性的變化會在2s內完成 */ } /* 使用偽類before設置需要轉動的邊框 */ /* 因為如果元素邊框轉動,內容也會跟著轉動 */ /* 此處要的效果是只有邊框轉動而內容不轉動 */ .content:before { display: inline-block; width: 100%; height: 100%; border-radius: 50%; box-sizing: border-box; content: ''; } /* 設置鼠標懸停在content元素上時content屬性的變化 */ .content:hover { /*border: solid 15px rgba(255, 255, 255, 0);*/ } /* 設置鼠標懸停在content上時content的before偽類屬性的變化 */ .content:hover:before { border: dashed 30px #fff; animation: whirl 9s linear infinite; /* 執行動畫whirl,執行一次的周期是9s,執行期間的速度曲線為linear,無限循環 */ } /* 設置文本內容顯示的樣式 */ .con-text { margin: -60% auto; width: 80%; font-size: 3rem; /* 以下三個屬性為了讓文字超出寬度時顯示省略號,必須同時使用才有效果 */ overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } /* 動畫whirl,從0度旋轉到360度 */ @keyframes whirl { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } </style> </head> <body> <section class="container"> <div class="content" title="新年好新年好新年好"> <p class="con-text">新年好新年好新年好</p> </div> </section> </body> </html>
以上所述是小編給大家介紹的純CSS3制作的鼠標懸停時邊框旋轉,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。