css+js实现平滑折叠堆积下拉菜单效果代码

代码语言:html

所属分类:布局界面

代码描述:css+js实现平滑折叠堆积下拉菜单效果代码

代码标签: css js 平滑 折叠 堆积 下拉 菜单

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

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  

  
  
  
<style>
* {
  --hl: 0;
  --sel: 0;
  margin: 0;
  border: none;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
}

html, body, div, ul, .visual-item, .ico {
  display: grid;
}

html {
  height: 100%;
}

body {
  perspective: 25em;
  perspective-origin: 50% calc(50% - 12.5em);
  background: #000;
}

/* when there's better :has() support, 
 * replace selector with :has(> .visual-item) */
.component, [id*=menu] {
  grid-gap: 0.5em;
}

div, ul {
  transform-style: preserve-3d;
}

.component {
  place-self: center;
  padding: 0.5em;
  font: clamp(.625em, 5vw, 1.125em) monospace;
}

[aria-expanded], [id*=menu] {
  --hid: 0 ;
}

[aria-expanded=false], [id*=menu][inert] {
  --hid: 1 ;
}

button {
  --highlight:
  	0 0 calc(var(--hl)*7px) hsl(180, 90%, 50%);
  box-shadow: var(--highlight);
}
button[disabled] {
  opacity: 0.375;
}
button:focus {
  outline: none;
}
button:not([disabled]) {
  cursor: pointer;
}
button:not([disabled]):is(:focus, :hover) {
  --hl: 1 ;
}

:not(li) > .toggler::after {
  width: 0.625em;
  aspect-ratio: 1;
  border: solid 0 currentcolor;
  border-width: .........完整代码请登录后点击上方下载按钮下载查看

网友评论0