引导思路:

    1.需要用到的元素:position  hover  (z-index)  或(overflow)或(display)等等。

     关键点就是div的溢出部分的处理。

    2.实现过程:

        2.1:就是要把你需要做的菜单的div,放在你触碰的那个div中

        2.2:给一个定位,让他到外面去(注意两个div之间要衔接起来)

        2.3:在你触碰的div设置具体的值(比如说,一开始(菜单div)的z-index是负数,当年触碰时(触碰div)z-index值变大)

                          如果要用z-index就需要注意poistion这个属性值。

    

下面是z-index的示例;

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
body{
width: 1024px;
height: 500px;
}
.all{
width:100%;
height: 200px; }
.head{
width: 600px;
height: 100px;
background-color: green; }
.head_wei{
width: 100px;
height: 100%;
background-color: pink;
position: relative; }
/*对你下拉外的div进行设置*/
.head_wei:hover{
z-index: 2;
}
.xiala{
width: 150px;
height: 180px;
background-color: pink;
position: relative;
top:100px;
z-index: -2;
} .hand{
width: 600px;
height: 200px;
background-color: gold;
z-index: 4;
}
</style>
</head>
<body>
<div class="all">
<div class="head">
<div class="head_wei">
<div class="xiala"></div>
</div>
</div>
<div class="hand"></div>
</div>
</body>
</html>

下面就是over-flow的示例(更上面的一样就是将z-index换成over-flow):

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
body{
width: 1024px;
height: 500px;
}
.all{
width:100%;
height: 200px; }
.head{
width: 600px;
height: 100px;
background-color: green; }
.head_wei{
width: 100px;
height: 100%;
background-color: pink;
position: relative;
overflow: hidden; }
/*对你下拉外的div进行设置*/
.head_wei:hover{
overflow: visible;
}
.xiala{
width: 150px;
height: 180px;
background-color: pink;
position: relative;
top:100px;
/*z-index: -2;*/
} .hand{
width: 600px;
height: 200px;
background-color: gold;
/*z-index: 4;*/
}
</style>
</head>
<body>
<div class="all">
<div class="head">
<div class="head_wei">
<div class="xiala"></div>
</div>
</div>
<div class="hand"></div>
</div>
</body>
</html>

  

css实现下拉菜单功能(多中实现方式即原理)的更多相关文章

  1. CSS+JS下拉菜单和纯CSS下拉菜单

    下拉菜单 (思路:先把二级定位到屏幕外,鼠标悬停重新定位回来:另一个就是ul浮动,li也浮动) 下拉菜单的一般思路就是把子导航嵌套在无序列表中,把列表定位到屏幕之外,当鼠标悬停在其父列表项上时,重新定 ...

  2. HTML+CSS写下拉菜单

    今天学习了使用HTML+CSS实现下拉菜单效果,在这个例子中,我学到了如下知识点: 设置背景图片(background-image.background-size) 如何让无序列表横向显示(float ...

  3. 用纯css实现下拉菜单的几种方式

    第一种:display:none和display:block切换 <!DOCTYPE html> <html lang="en"> <head> ...

  4. CSS的下拉菜单被挡住,修改Z-INDEX也不成功

    CSS的下拉菜单被挡住,修改Z-INDEX也不成功 做了一个鼠标放上去就出现的下拉菜单,但是这个下拉的内容被挡住了. Z-INDEX 是设置不同块的层次的,我修改了问题还是有. 后来发现是必须要把该便 ...

  5. CSS实现下拉菜单的几种方法

    PS:转自https://www.cnblogs.com/yewenxiang/p/6064117.html 第一种:display:none和display:block切换 1 <!DOCTY ...

  6. 纯CSS实现下拉菜单及下拉容器等(纯CSS实现导航条及导航下拉容器)

    虽然网上类似甚至相同的案例有很多,但是我还是写下,以记下笔记,也可供大家参考 希望大家可以指导批评~~ 首先我们以列表ul li 来开始我们菜单也可以说导航条的制作: 在页面中我们首先构建以下XHTM ...

  7. 纯洁CSS实现下拉菜单和下拉容器(纯洁CSS导航栏和导航下拉容器)

    虽然网上课程似即使案件大同小异,但我还是写,记笔记,也为您提供参考 我希望你能指导批评~~ 首先,我们必须列出ul li 开始我们的导航栏菜单也能说生产: 在下面的页面,我们先建XHTML结构体: & ...

  8. 纯css实现下拉菜单

    今天给大家分享一个纯html+css实现的下拉菜单.在此声明一点,源码并非出自本人之手,是同项目组一兄弟PLUTO写的.好东西嘛,所以果断拿出来和大家分享.如果有更好的想法或者建议,一定记得留言哦!好 ...

  9. html5 css练习 下拉菜单制作

    *{    margin: 0;    padding: 0;}li{    list-style-type: none;}a{    text-decoration: none;}.ul1{marg ...

随机推荐

  1. 对象大小对比之Comparable与Comparator

    一 概述 1.Comparable与Comparator使用背景 数值型数据(byte int short long float double)天生可对比大小,可排序,String实现了Compara ...

  2. 原生js实现雪花飘落效果

    雪花飘落的效果实现步骤:1.使用setInterval定时器每800毫秒创建一个雪花:2.把每一个雪花作为参数传进动态下落的方法中即可. <style> *{padding: 0;marg ...

  3. PLSQL Developer中几个功能

    1,登录后默认自动选中My Objects 默认情况下,PLSQL Developer登录后,Brower里会选择All objects,如果你登录的用户是dba,要展开tables目录,正常情况都需 ...

  4. Android 自定义Dialog中加EditText弹不出键盘跟Dialog遮挡键盘的问题

    先上两张图 第一张问题很明显,第二张是成功的图, 其实第一张是加了 //getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INP ...

  5. Win8 Pro 64 Install .net3.5 在线升级会遇到错误0x800F0906。

    很多人安装Win8后都遇到了无法升级.NET Framework 3.5.1的问题,在线升级会遇到错误0x800F0906. Uninstall Windows update kB: KB296682 ...

  6. 不要在using语句中调用WCF服务

    如果你调用WCF服务时,像下面的代码这样在using语句中进行调用,需要注意一个问题. using (CnblogsWcfClient client = new CnblogsWcfClient()) ...

  7. 深入JDK源码,这里总有你不知道的知识点!

    Java的基础知识有很多,但是我认为最基础的知识应该要属jdk的基础代码,jdk的基础代码里面,有分了很多基础模块,其中又属jdk包下面的lang包最为基础. 我们下面将总结和分析一下lang包下面最 ...

  8. Visual Studio 2012 未找到与约束 ContractName问题,及printf unsafe问题

    1.用VS 2012 创建c++项目失败,提示未找到与约束 ContractName .............的错误 解决办法:下载VS 2012 补丁,很小的一个补丁,不过很管用 地址:http: ...

  9. Django运行SQL语句

    1.Manager.raw(raw_query, params=None, translations=None) >>> for p in Person.objects.raw('S ...

  10. Vim中 ctags 跳转直接跳到第一个匹配行的问题

    意图 用ctags搜索代码时, 用 ctrl + ] 后,只有一个匹配项直接跳转,有多个则列出所有匹配项选择跳转 问题 在 vim 中使用 ctags 是一个很令人舒服的事情,但有时一些默认的配置和不 ...