css+js实现放大镜式滑动导航条点击切换效果代码

代码语言:html

所属分类:菜单导航

代码描述:css+js实现放大镜式滑动导航条点击切换效果代码

代码标签: css js 放大镜 滑动 导航条 点击 切换

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">


    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">



    <style>
        * {
        	border: 0;
        	box-sizing: border-box;
        	margin: 0;
        	padding: 0;
        }
        :root {
        	--hue: 223;
        	--bg: hsl(var(--hue),10%,90%);
        	--fg: hsl(var(--hue),10%,10%);
        	--primary: hsl(var(--hue),90%,55%);
        	--red: hsl(3,90%,55%);
        	--orange: hsl(33,90%,55%);
        	--purple: hsl(283,90%,55%);
        	--trans-dur: 0.3s;
        	--trans-dur2: 0.6s;
        	font-size: calc(16px + (20 - 16) * (100vw - 320px) / (1280 - 320));
        }
        a,
        body {
        	transition:
        		background-color var(--trans-dur),
        		color var(--trans-dur);
        }
        body {
        	background-color: var(--bg);
        	color: var(--fg);
        	font: 1em/1.5 sans-serif;
        	height: 100vh;
        	display: grid;
        	place-items: center;
        }
        .nav {
        	--pos1: 3%;
        	--pos2: 0%;
        	--pos3: 0%;
        	--pos4: 0%;
        	background-color: hsl(0,0%,95%);
        	border-radius: 2em;
        	box-shadow:
        		0.75em 0.75em 3em hsla(0,0%,0%,0.15) inset,
        		0 0.05em 0 hsla(0,0%,0%,0.05) inset,
        		0 -0.15em 0 hsla(0,0%,0%,0.1) inset,
        		0.75em 0.75em 1em hsla(0,0%,0%,0.1);
        	display: flex;
        	padding: 0 1.5em;
        	position: relative;
        	width: calc(100% - 1.5em);
        	max-width: 24.375em;
        	height: 5.25em;
        	transition:
        		background-color var(--trans-dur),
        		box-shadow var(--trans-dur);
        }
        .nav__fake-icons,
        .nav__glass {
        	pointer-events: none;
        }
        .nav__fake-icon,
        .nav__item-icon {
        	display: block;
        	width: 1.5em;
        	height: 1.5em;
        }
        .nav__fake-icons {
        	background-color: hsl(0,0%,95%);
        	box-shadow: 0.75em 0.75em 3em hsla(0,0%,0%,0.15) inset;
        	clip-path: circle(2em at 2em 50%);
        	display: flex;
        	justify-content: space-between;
        	align-items: center;
        	padding: 0 1.5em;
        	position: absolute;
        	top: 0;
        	left: 0;
        	width: 100%;
        	height: 100%;
        	transition:
        		background-color var(--trans-dur),
        		clip-path var(.........完整代码请登录后点击上方下载按钮下载查看

网友评论0