国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

使用CSS變量實現炫酷驚人的懸浮效果

2024-07-11 08:59:56
字體:
來源:轉載
供稿:網友

最近,我從 Grover網站上發現以一個好玩兒的懸停動畫,也有了些自己的靈感。這個動畫是將鼠標移動到訂閱按鈕上移動光標會顯示相應的彩色漸變。這個想法很簡單,但是它能使這個按鈕脫穎而出,人們一下子就注意到它了,增加了點擊的概率。

怎樣才能達到這個效果,使我們的網站脫穎而出呢?其實,它并不像你想象的那么難!

追蹤位置

我們要做的第一件事就是獲取到鼠標的位置。

document.querySelector('.button').onmousemove = (e) => {  const x = e.pageX - e.target.offsetLeft  const y = e.pageY - e.target.offsetTop  e.target.style.setProperty('--x', `${ x }px`)  e.target.style.setProperty('--y', `${ y }px`)}
  1. 選擇元素,等待,直到用戶將鼠標移過它;
  2. 計算相對于元素的位置;
  3. 將坐標存在CSS的變量中。

是的,僅僅9行代碼就讓你能獲知用戶放置鼠標的位置,通過這個信息你能達到意想不到的效果,但是我們還是先來完成CSS部分的代碼。

動畫漸變

我們先將坐標存儲在CSS變量中,以便能夠隨時使用它們。

.button {  position: relative;  appearance: none;  background: #f72359;  padding: 1em 2em;  border: none;  color: white;  font-size: 1.2em;  cursor: pointer;  outline: none;  overflow: hidden;  border-radius: 100px;  span {    position: relative;  }  &::before {    --size: 0;      content: '';    position: absolute;    left: var(--x);    top: var(--y);    width: var(--size);    height: var(--size);    background: radial-gradient(circle closest-side, #4405f7, transparent);    transform: translate(-50%, -50%);    transition: width .2s ease, height .2s ease;  }  &:hover::before {    --size: 400px;  }}
  1. 用span包裹文本,以避免顯示在按鈕的上方。
  2. 將 width和height初始化為0px,當用戶懸停在按鈕上時,將其改為400px。不要忘了設置這種轉換以使其像風一樣:dash:瞬間出現;
  3. 利用坐標追蹤鼠標位置;
  4. 在background 屬性上應用 radial-gradient,使用closest-side circle。Closest-side能夠覆蓋整個面。

總結
 

以上所述是小編給大家介紹的使用CSS變量實現炫酷驚人的懸浮效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新龙县| 鄂尔多斯市| 凤台县| 广平县| 商丘市| 益阳市| 抚顺市| 马尔康县| 贵溪市| 兴国县| 和平县| 通化县| 兴义市| 迁西县| 鸡西市| 阳城县| 九龙县| 高淳县| 台中县| 宜春市| 通州区| 新宾| 达孜县| 鲁山县| 德昌县| 惠来县| 拉萨市| 宜黄县| 汾西县| 灵丘县| 临夏市| 巴彦县| 闸北区| 鹤岗市| 普兰县| 凌云县| 锡林浩特市| 苍梧县| 股票| 承德市| 西藏|