首页 >web前端 >html教程 >纯CSS写的弹出层问题_html/css_WEB-ITnose

纯CSS写的弹出层问题_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-24 12:09:001045浏览

我想要用图片作为一个链接,当鼠标移到图片上的时候就在图片的下面弹出相应的层。类似于淘宝上旺旺客服模块,当鼠标移到旺旺图标上的时候,就弹出底下对应的旺旺列表!现在想要用CSS去写,不用JS代码,不知道怎么去实现,有那位知道的高手们给我一点思路,最好能给个例子把!感激不尽!谢谢!


回复讨论(解决方案)

都是js写的

不会把,好像可以用CSS的隐藏来实现的,但是我不知道具体怎么操作!

纯css我觉得不可能,反正我是没写过,也没见过。

我的资源里有纯css+div弹出菜单,可供你做参考。

不会把,好像可以用CSS的隐藏来实现的,但是我不知道具体怎么操作!

是可以这样,使用overflow:hidden和overflow:auto去切换隐藏和显示。

代码怎么实现的呢!

实现是可以实现,不过这样就搞大了。、

你想css是标签的css,各标签有各自的css,你不可能在主菜单上的css能够控制子菜单的样式吧?对不?

只有通过其它方式实现,比如子菜单分为两部份,上面部份覆盖主菜单且透明,下面一部份是子菜单功能。开始时这层的调试是主菜单高度一样,当鼠标移到上面时,改变层的高度为主菜单+子菜单的高度。
而且你这个层必须是绝对定位的,不然子菜单显示出来会把菜单下面的内容向下挤。这就很难看了。

代码就自己实现吧。

还是用js来实现吧,没有必要把简单的问题复杂化。

怎么可能用css写出来啊???刚写的一个jquery的,看下吧

</script>       <script type="text/javascript">         $(document).ready(function(){                        $(".flipa").click(function(){            $(".panela").slideToggle("slow");          });        });        $(document).ready(function(){                        $(".flipb").click(function(){            $(".panelb").slideToggle("slow");          });        });        $(document).ready(function(){                        $(".flipc").click(function(){            $(".panelc").slideToggle("slow");          });        });        $(document).ready(function(){                        $(".flipd").click(function(){            $(".paneld").slideToggle("slow");          });        });                </script>

 div.panela,.panelb,.panelc,.paneld,p.flipa,p.flipb,p.flipc,p.flipd        {            margin:0px;            padding:5px;            text-align:center;            background:#e5eecc;            border:solid 1px #c3c3c3;                    }        div.panela,.panelb,.panelc,.paneld        {        	width:220px;            height:120px;            display:none;        }        p.flipa,p.flipb,p.flipc,p.flipd        {        	 width:220px;        	 height:20px;        	}

 </div>     <p>请输入密码:</p>    <input type="password" id="pwd" /><p />    <div class="panela">    <p><a href="">百度一下</a></p>    <p><a href="">百度一下</a></p>    </div>            <p class="flipa" id="a">请点A</p>    <div class="panelb">    <p><a href="">百度一下</a></p>    <p><a href="">百度一下</a></p>    </div>     <p class="flipb" id="b">请点B</p>    <div class="panelc">    <p><a href="">百度一下</a></p>    <p><a href="">百度一下</a></p>    </div>     <p class="flipc" id="c">请点C</p>    <div class="paneld">    <p><a href="">百度一下</a></p>    <p><a href="">百度一下</a></p>    </div>     <p class="flipd" id="d">请点D</p>

我也是新手啊! 写得复杂了!

谢谢了!相互学习!

怎么可能用css写出来啊???刚写的一个jquery的,看下吧
JScript code


       <script> <br /> $(document).ready(function(){ <br /> $(".flipa").click(function(){ <br /> …… 学习了 </script>

CSS是可以的 我见过 但是现在忘了。。。。。

<div id="outer">    <a href="url"><img  src="url" / alt="纯CSS写的弹出层问题_html/css_WEB-ITnose" ></a>    <div id="inner">        <ul>            <li></li>            <li></li>            <li></li>        </ul>    </div></div>

以上是HTML代码,id为inner的div是你要具体定义的菜单,换成其他的也行。
关键是CSS
首先将inner对象设置为绝对定位,脱离文档流,并且设置disable属性为不可见
#inner {    position:absolute;    visibility:hidden;}

然后关键一点:
#out:hover #inner{    visibility:visible;    top:10px;    left:10px;}

以上CSS代码将伪类:hover用到了外部div元素上,理论上来说:hover可以用到任何元素上。
如果不行,下面这个应该可以:
a:hover+#inner{    visibility:visible;    top:10px;    left:10px;}

以上用的是相邻兄弟选择器,应该可以。
上面都是手工录入的,可能会有错误,但是思路应该还算清楚吧。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />	<meta name="author" content="" />    <style type="text/css">    *{        margin: 0;        padding: 0;        width: 100px;    }    #out{       border-style: solid;    }    #inner{        visibility: hidden;        position: absolute;    }    #out:hover #inner{        visibility: visible;        top: 20px;    }    </style>	<title>Untitled 1</title></head><body><div id="out">    <a href="http://www.hao13.com">hello!</a>    <div id="inner">        <ul>            <li>nihao1</li>            <li>nihao2</li>            <li>nihao3</li>                </ul>    </div></div></body></html>

本人亲测,楼主复制过去看一下,效果相当粗糙,但本质已经显而易见了。

a:hover div{}
用css是可以实现的。。。你这样写看看。。。把图片设置成div的背景图。。。

给你看个demo!   纯css的显示隐藏

源码就自己看源文件吧。。应该你想要的效果都能搞定!

给你看个demo!  纯css的显示隐藏

源码就自己看源文件吧。。应该你想要的效果都能搞定!
很好的一个网站~

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn