찾다
웹 프론트엔드CSS 튜토리얼编写纯 CSS 弹出菜单的原理及实现 By shawl.qiu_经验交流

编写纯 CSS 弹出菜单的原理及实现 By shawl.qiu


摘要: 
本文介绍了使用 CSS 编写适用于 Opera, Firefox, IE 的多风格弹出菜单

说明:
编写 CSS 弹出菜单的要点不外乎当鼠标移到目标上时, 显示出隐藏的标签. 
要隐藏的标签使用 display:none; 属性进行隐藏. 
触发显示隐藏标签主要使用 :hover 属性, 并用 display:block; 显示隐藏的标签.

但由于浏览器对 CSS 的支持并非一致.
对于 Opera 或者 Firefox, 我们可以编写出纯 CSS 菜单, 他们支持任何标签的 :hover 属性.
而对于 IE 浏览器, :hover 只对 a 标签起作用, 但我们可以使用脚本的 onmouseover, onmouseout 模拟出其他标签的 :hover 属性.
因此编写适用于 IE 的 CSS 弹出菜单必须使用到少许的脚本.

目录:
1. 编写直排右侧弹出的 CSS 菜单. 
1.1 真正的基于 Opera, Firefox 纯 CSS 弹出菜单
1.2 兼容 IE, Opera, Firefox 的 CSS 弹出菜单(脚本实现)

2. 编写横排底部弹出的 CSS 菜单. 
2.1 真正的基于 Opera, Firefox 纯 CSS 弹出菜单
2.2 兼容 IE, Opera, Firefox 的 CSS 弹出菜单(脚本实现)

3. 结论

4. 预览

shawl.qiu
2006-10-01
http://blog.csdn.net/btbtd

1. 编写直排右侧弹出的 CSS 菜单. 

1.1 真正的基于 Opera, Firefox 纯 CSS 弹出菜单
    linenum
  1. nbsp;HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2. http://www.w3.org/TR/html4/loose.dtd">
  3. Untitled Document
  4.     
  5.         
    level
  6.         
  7.             
    level_ title
  8.             level_ title 1
  9.             level_ title 2
  10.             level_ title 3
  11.             level_ title 4
  12.             level_ title 5
  13.         
  •     
  •     
  •         
    level 1
  •         
  •             
    level_ title
  •             level_ title 1
  •             level_ title 2
  •             level_ title 3
  •             level_ title 4
  •             level_ title 5
  •         
  •     
  •     
  •         
    level 2
  •         
  •             
    level_ title
  •             level_ title 1
  •             level_ title 2
  •             level_ title 3
  •             level_ title 4
  •             level_ title 5
  •         
  •     
  •     
  •         
    level 3
  •         
  •             
    level_ title
  •             level_ title 1
  •             level_ title 2
  •             level_ title 3
  •             level_ title 4
  •             level_ title 5
  •         
  •     
  •     
  •         
    level 4
  •         
  •             
    level_ title
  •             level_ title 1
  •             level_ title 2
  •             level_ title 3
  •             level_ title 4
  •             level_ title 5
  •         
  •     

  • 1.2 兼容 IE, Opera, Firefox 的 CSS 弹出菜单(脚本实现)
      linenum
    1. nbsp;HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    2. http://www.w3.org/TR/html4/loose.dtd">
    3. Untitled Document
    4. <script> <LI>//<![CDATA[ <LI>if (navigator.appName=="Microsoft Internet Explorer") { <LI> function fPmVerticalRightOut() { <LI> var getItem = document.getElementById("pmVerticalRightOut").getElementsByTagName("div"); <LI> for (var i=0; i<getItem.length; i++) { <LI> getItem[i].onmouseover=function() { <LI> if( this.className=="level"){ <LI> this.className="levelIe"; <LI> } <LI> } <LI> getItem[i].onmouseout=function() { <LI> if( this.className=="levelIe"){ <LI> this.className="level"; <LI> } <LI> }//css popup menu script by shawl.qiu <LI> } <LI> } <LI> window.onload=fPmVerticalRightOut; <LI>} <LI>//]]> <LI></script>
    5.     
    6.         
      level
    7.         
    8.             
      level_ title
    9.             level_ title 1
    10.             level_ title 2
    11.             level_ title 3
    12.             level_ title 4
    13.             level_ title 5
    14.         
    15.     
    16.     
    17.         
      level 1
    18.         
    19.             
      level_ title
    20.             level_ title 1
    21.             level_ title 2
    22.             level_ title 3
    23.             level_ title 4
    24.             level_ title 5
    25.         
    26.     
    27.     
    28.         
      level 2
    29.         
    30.             
      level_ title
    31.             level_ title 1
    32.             level_ title 2
    33.             level_ title 3
    34.             level_ title 4
    35.             level_ title 5
    36.         
    37.     
    38.     
    39.         
      level 3
    40.         
    41.             
      level_ title
    42.             level_ title 1
    43.             level_ title 2
    44.             level_ title 3
    45.             level_ title 4
    46.             level_ title 5
    47.         
    48.     
    49.     
    50.         
      level 4
    51.         
    52.             
      level_ title
    53.             level_ title 1
    54.             level_ title 2
    55.             level_ title 3
    56.             level_ title 4
    57.             level_ title 5
    58.         
    59.     

    2. 编写横排底部弹出的 CSS 菜单. 

    2.1 真正的基于 Opera, Firefox 纯 CSS 弹出菜单
      linenum
    1. nbsp;HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    2. http://www.w3.org/TR/html4/loose.dtd">
    3. Untitled Document
    4.     
    5.         
      level
    6.         
    7.             
      level_ title
    8.             level_ title 1
    9.             level_ title 2
    10.             level_ title 3
    11.             level_ title 4
    12.             level_ title 5
    13.         
    14.     
    15.     
    16.         
      level 1
    17.         
    18.             
      level_ title
    19.             level_ title 1
    20.             level_ title 2
    21.             level_ title 3
    22.             level_ title 4
    23.             level_ title 5
    24.         
    25.     
    26.     
    27.         
      level 2
    28.         
    29.             
      level_ title
    30.             level_ title 1
    31.             level_ title 2
    32.             level_ title 3
    33.             level_ title 4
    34.             level_ title 5
    35.         
    36.     
    37.     
    38.         
      level 3
    39.         
    40.             
      level_ title
    41.             level_ title 1
    42.             level_ title 2
    43.             level_ title 3
    44.             level_ title 4
    45.             level_ title 5
    46.         
    47.     
    48.     
    49.         
      level 4
    50.         
    51.             
      level_ title
    52.             level_ title 1
    53.             level_ title 2
    54.             level_ title 3
    55.             level_ title 4
    56.             level_ title 5
    57.         
    58.     

    2.2 兼容 IE, Opera, Firefox 的 CSS 弹出菜单(脚本实现)
      linenum
    1. nbsp;HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    2. " http://www.w3.org/TR/html4/loose.dtd">
    3. Untitled Document
    4. <script> <LI>//<![CDATA[ <LI>if (navigator.appName=="Microsoft Internet Explorer") { <LI> function fPmHorizontalBottomOut() { <LI> var getItem = document.getElementById("pmHorizontalBottomOut").getElementsByTagName("div"); <LI> for (var i=0; i<getItem.length; i++) { <LI> getItem[i].onmouseover=function() { <LI> if( this.className=="level"){ <LI> this.className="levelIe"; <LI> } <LI> } <LI> getItem[i].onmouseout=function() { <LI> if( this.className=="levelIe"){ <LI> this.className="level"; <LI> } <LI> }//css popup menu script by shawl.qiu <LI> } <LI> } <LI> window.onload=fPmHorizontalBottomOut; <LI>} <LI>//]]> <LI></script>
    5.     
    6.         
      level
    7.         
    8.             
      level_ title
    9.             level_ title 1
    10.             level_ title 2
    11.             level_ title 3
    12.             level_ title 4
    13.             level_ title 5
    14.         
    15.     
    16.     
    17.         
      level 1
    18.         
    19.             
      level_ title
    20.             level_ title 1
    21.             level_ title 2
    22.             level_ title 3
    23.             level_ title 4
    24.             level_ title 5
    25.         
    26.     
    27.     
    28.         
      level 2
    29.         
    30.             
      level_ title
    31.             level_ title 1
    32.             level_ title 2
    33.             level_ title 3
    34.             level_ title 4
    35.             level_ title 5
    36.         
    37.     
    38.     
    39.         
      level 3
    40.         
    41.             
      level_ title
    42.             level_ title 1
    43.             level_ title 2
    44.             level_ title 3
    45.             level_ title 4
    46.             level_ title 5
    47.         
    48.     
    49.     
    50.         
      level 4
    51.         
    52.             
      level_ title
    53.             level_ title 1
    54.             level_ title 2
    55.             level_ title 3
    56.             level_ title 4
    57.             level_ title 5
    58.         
    59.     


    3. 结论
    以上例子可以看出, 如果已经编写出一个可用的CSS弹出菜单例子, 那要编写出弹出位置在其他地方的 CSS 弹出菜单的话, 只须小小修改一下就 OK. 

    4. 预览

    4.1 1.2 兼容 IE, Opera, Firefox 的 CSS 弹出菜单(脚本实现) 的预览
    성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    'Podcast 구독'링크는 어디에서 링크해야합니까?'Podcast 구독'링크는 어디에서 링크해야합니까?Apr 16, 2025 pm 12:04 PM

    한동안 iTunes는 팟 캐스팅에서 큰 개 였으므로 "Podcast 구독"을 링크 한 경우 다음과 같습니다.

    브라우저 엔진 다양성브라우저 엔진 다양성Apr 16, 2025 pm 12:02 PM

    우리는 그들이 2013 년에 크롬에 갔을 때 오페라를 잃었습니다. 올해 초 크롬 (Chrome)에 갔을 때 Edge와 같은 거래를했습니다. Mike Taylor는 이러한 변화를 "감소 적으로"불렀습니다

    웹 공유에 대한 UX 고려 사항웹 공유에 대한 UX 고려 사항Apr 16, 2025 am 11:59 AM

    Trashy Clickbait 사이트에서 가장 8 월 출판물에 이르기까지 공유 버튼은 웹 전체에서 오랫동안 어디서 유비쿼터스되었습니다. 그럼에도 불구하고 이것들은 논쟁의 여지가 있습니다

    Weekly Platform News : Apple은 웹 구성 요소, 프로그레시브 HTML 렌더링, 자체 호스팅 중요한 리소스를 배포합니다.Weekly Platform News : Apple은 웹 구성 요소, 프로그레시브 HTML 렌더링, 자체 호스팅 중요한 리소스를 배포합니다.Apr 16, 2025 am 11:55 AM

    이번 주에 Apple은 웹 구성 요소, Instagram이 Insta-Loading 스크립트의 방법 및 자조적 자체 호스팅 리소스를 생각하기위한 음식을 웹 구성 요소에 들어갑니다.

    Git Pathspecs 및 사용 방법Git Pathspecs 및 사용 방법Apr 16, 2025 am 11:53 AM

    GIT 명령의 문서를 살펴 보았을 때 많은 사람들이 옵션이 있음을 알았습니다. 나는 처음에 이것이 단지 a라고 생각했다

    제품 이미지를위한 컬러 피커제품 이미지를위한 컬러 피커Apr 16, 2025 am 11:49 AM

    어려운 문제가 어려운 것 같지 않습니다. 우리는 종종 수천 가지 색상의 제품 샷을 가지고 있으므로 우리는 다음과 같이 뒤집을 수 있습니다. 우리도 아닙니다

    Dark Mode는 React 및 Temprovider로 전환합니다Dark Mode는 React 및 Temprovider로 전환합니다Apr 16, 2025 am 11:46 AM

    웹 사이트에 어두운 모드 옵션이있을 때 좋아합니다. 다크 모드는 웹 페이지를 더 쉽게 읽을 수있게하고 눈이 더 편안하다고 느끼도록 도와줍니다. 많은 웹 사이트를 포함합니다

    HTML 대화 요소와 함께 일부 실습HTML 대화 요소와 함께 일부 실습Apr 16, 2025 am 11:33 AM

    이것은 처음으로 HTML 요소를보고 있습니다. 나는 그것을 잠시 동안 알고 있었지만 아직 스핀을 위해 그것을 가져 갔다. 그것은 꽤 시원하고 있습니다

    See all articles

    핫 AI 도구

    Undresser.AI Undress

    Undresser.AI Undress

    사실적인 누드 사진을 만들기 위한 AI 기반 앱

    AI Clothes Remover

    AI Clothes Remover

    사진에서 옷을 제거하는 온라인 AI 도구입니다.

    Undress AI Tool

    Undress AI Tool

    무료로 이미지를 벗다

    Clothoff.io

    Clothoff.io

    AI 옷 제거제

    AI Hentai Generator

    AI Hentai Generator

    AI Hentai를 무료로 생성하십시오.

    인기 기사

    R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
    1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. 최고의 그래픽 설정
    1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
    1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. 채팅 명령 및 사용 방법
    1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

    뜨거운 도구

    Atom Editor Mac 버전 다운로드

    Atom Editor Mac 버전 다운로드

    가장 인기 있는 오픈 소스 편집기

    PhpStorm 맥 버전

    PhpStorm 맥 버전

    최신(2018.2.1) 전문 PHP 통합 개발 도구

    스튜디오 13.0.1 보내기

    스튜디오 13.0.1 보내기

    강력한 PHP 통합 개발 환경

    WebStorm Mac 버전

    WebStorm Mac 버전

    유용한 JavaScript 개발 도구

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

    신 수준의 코드 편집 소프트웨어(SublimeText3)