利用CSS3虛擬元素實現逐漸發光的方格邊框實現詳解

來源:互聯網
上載者:User
這篇文章主要給大家介紹了利用CSS3虛擬元素實現逐漸發光的方格邊框的相關資料,文中給出了詳細的範例程式碼供大家參考學習,對大傢具有一定的參考學習價值,需要的朋友們下面來一起看看吧。

本文介紹的是一個使用虛擬元素來實現邊框逐漸發光的代碼,主要用到scale和opacity這兩個屬性。下面來看看詳細的介紹:

如下:

HTML代碼:

<p class="light"> <img src="http://tva2.sinaimg.cn/crop.0.0.180.180.180/6830a53bjw8f2qo4xzc2zj20500500t0.jpg"/> <p class="light-inner">  <p>前端開發部落格</p>  <p>關注前端開發</p> </p></p>

CSS代碼:

.light{ background: #fff; width: 180px; height: 180px; margin: 100px auto; position: relative; text-align: center; color: #333; transform:translate3d(0,0,0);}.light-inner{ padding: 60px 30px 0; pointer-events: none; position: absolute; left: 0; top: 0; bottom: 0; right: 0; text-align: center; transition: background 0.35s; backface-visibility: hidden;}.light-inner:before, .light-inner:after{ display: block; content: ""; position: absolute; left: 30px; top: 30px; right: 30px; bottom: 30px; border: 1px solid #fff; opacity: 0; transition: opacity 0.35s, transform 0.35s;}.light-inner:before{ border-left: 0; border-right: 0; transform:scaleX(0,1);}.light-inner:after{ border-top: 0; border-bottom: 0; transform: scaleY(1,0);}.light:hover .light-inner{ background: #458fd2}.light:hover .light-inner:before, .light:hover .light-inner:after{ opacity: 1; transform: scale3d(1,1,1);}.light-inner p{ transition: opacity .35s, transform 0.35s; transform: translate3d(0,20px,0); color: #fff; opacity: 0; line-height: 30px;}.light:hover .light-inner p{ transform: translate3d(0,0,0); opacity: 1;}

實現步驟:

發光的方格,主要是通過.light-inner的虛擬元素:before和:after來實現

上下的邊框是從中間往兩邊逐漸展開:scaleX(0)到scaleX(1)

左右的邊框是從中間往上下兩邊展開:scaleY(0)到scaleY(1)

形成了一個四方形從中間向邊角逐漸發光的效果:opacity:0到opacity:1。

其它就沒什麼技巧了。

scale介紹

scale(<number>[, <number>]):指定對象的2D scale(2D縮放)。第一個參數對應X軸,第二個參數對應Y軸。如果第二個參數未提供,則預設取第一個參數的值

scaleX(<number>):指定對象X軸的(水平方向)縮放

scaleY(<number>):指定對象Y軸的(垂直方向)縮放

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.