span移动位置_CSS实现反光+导航栏下标移动+发光按钮+加载效果+海洋球(动态液体)...

b站看到一个up主(阿阳热爱前端)很厉害,各种css写出惊艳的特效,试着自己尝试实现出来。掌握了基本的设计思路,可以自己写出来。动画和变换,过渡用得很多。还有选择器等等都需要用到。这是up主的主页:

哔哩哔哩 ( ゜- ゜)つロ 乾杯~ Bilibili​space.bilibili.com 知乎视频​www.zhihu.com
zhihu-card-default.svg

首先是导航栏,实现下标的移动而不是以往的下标突然出现在对应选项下面,需要有个元素例如li或者div等都可当下标,设置对应初始位置,这里用到position属性还有对应要设置距离相对于页面哪一边(left,top,right,bottom),每当鼠标移到对应元素,设置对应下标的距离,这里使用到(~),设置transition才会有渐变效果。

玻璃反光(这里一束光我使用的是一个div实现的)是通过设置移动translate设置,还有动画animation属性(要定义一个动画),即可完成。还有使用到overflow属性,光束超出即截断隐藏。

发光按钮,首先发光是需要通过设置阴影,box-shadow来加持下效果。按钮边框移动我用四个span实现的,线条设置对应方向颜色渐变(背景颜色),设置动画效果是translate对应

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是实现一个类似于Vivo官网的导航栏的 HTML + CSS + JS 代码: HTML: ```html <nav class="navbar"> <a href="#" class="navbar-logo">Vivo</a> <ul class="navbar-menu"> <li><a href="#">首页</a></li> <li><a href="#">产品</a></li> <li><a href="#">服务</a></li> <li><a href="#">社区</a></li> <li><a href="#">关于</a></li> </ul> <div class="navbar-search"> <input type="text" placeholder="搜索"> <button>搜索</button> </div> <button class="navbar-toggle"> <span class="navbar-toggle-icon"></span> </button> </nav> ``` CSS: ```css .navbar { display: flex; justify-content: space-between; align-items: center; padding: 20px; background-color: #fff; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); z-index: 999; } .navbar-logo { font-size: 24px; font-weight: bold; color: #333; text-decoration: none; } .navbar-menu { display: flex; justify-content: flex-end; align-items: center; margin: 0; padding: 0; list-style: none; } .navbar-menu li { margin-left: 20px; } .navbar-menu li a { font-size: 16px; color: #333; text-decoration: none; } .navbar-menu li a:hover { color: #f00; } .navbar-search { display: none; } .navbar-search input[type="text"] { border: none; padding: 10px; margin-right: 10px; border-radius: 5px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } .navbar-search button { border: none; padding: 10px; background-color: #f00; color: #fff; border-radius: 5px; cursor: pointer; } .navbar-toggle { display: none; border: none; background-color: transparent; cursor: pointer; } .navbar-toggle-icon { display: block; width: 20px; height: 2px; background-color: #333; margin: 3px 0; transition: all 0.3s ease-in-out; } .navbar-toggle-icon:first-child { margin-top: 0; } .navbar-toggle-icon:last-child { margin-bottom: 0; } .navbar-fixed { position: fixed; top: 0; left: 0; width: 100%; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } .navbar-fixed .navbar-search { display: block; } .navbar-fixed .navbar-menu { display: flex; flex-direction: column; justify-content: center; align-items: center; position: fixed; top: 70px; left: 0; width: 100%; height: calc(100vh - 70px); background-color: #fff; transition: all 0.3s ease-in-out; z-index: 998; } .navbar-fixed .navbar-menu li { margin-left: 0; margin-bottom: 20px; } .navbar-fixed .navbar-menu li a { font-size: 24px; color: #333; text-decoration: none; } .navbar-fixed .navbar-menu li a:hover { color: #f00; } .navbar-fixed .navbar-toggle { display: block; } .navbar-fixed .navbar-toggle-icon:first-child { transform: rotate(45deg) translate(6px, 6px); } .navbar-fixed .navbar-toggle-icon:last-child { transform: rotate(-45deg) translate(6px, -6px); } .navbar-fixed .navbar-toggle-icon:nth-child(2) { opacity: 0; } ``` JavaScript: ```javascript var navbar = document.querySelector('.navbar'); var navbarOffsetTop = navbar.offsetTop; var navbarToggle = document.querySelector('.navbar-toggle'); function onScroll() { if (window.pageYOffset >= navbarOffsetTop) { navbar.classList.add('navbar-fixed'); } else { navbar.classList.remove('navbar-fixed'); } } window.addEventListener('scroll', onScroll); navbarToggle.addEventListener('click', function() { navbar.classList.toggle('navbar-menu-open'); }); ``` 以上代码实现了一个类似于Vivo官网的导航栏,具有响应式布局和下拉菜单功能。当页面滚动时,导航栏会固定在页面顶部并且搜索框和下拉菜单会出现。在移动设备上,用户可以点击菜单按钮打开下拉菜单。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值