.mainlevel ul {
    display: none !important; /* 加上 !important 防止被其他样式覆盖 */
    position: absolute;
    background: #fff; /* 确保有背景色 */
    z-index: 999;
    min-width: 150px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);}

/* 2. 设置二级菜单位置（在一级下方） */
.mainlevel > ul {
    top: 100%;
    left: 0;}

/* 3. 设置三级菜单位置（在二级右侧） */
/* 选择器含义：ul 里面的 li 里面的 ul (即第三层) */
.mainlevel ul li ul {
    top: 0;       /* 顶部对齐 */
    left: 100%;   /* 向右偏移 100% */
    margin-left: 0;}

/* 4. 【交互】鼠标悬停在一級 li 上，显示直接子级 ul (二级菜单) */
.mainlevel:hover > ul {
    display: block !important;}

/* 5. 【交互】鼠标悬停在二级 li 上，显示其子级 ul (三级菜单) */
/* 这是解决你问题的核心：只有 hover 了 li，里面的 ul 才变成 block */
.mainlevel ul li:hover > ul {
    display: block !important;}

/* 辅助样式：确保 li 是相对定位，以便绝对定位的子菜单参考它 */
.mainlevel, 
.mainlevel ul li {
    position: relative;
    list-style: none;}
