Heim >Web-Frontend >HTML-Tutorial >纯CSS写的弹出层问题_html/css_WEB-ITnose

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

WBOY
WBOYOriginal
2016-06-24 12:09:001048Durchsuche

我想要用图片作为一个链接,当鼠标移到图片上的时候就在图片的下面弹出相应的层。类似于淘宝上旺旺客服模块,当鼠标移到旺旺图标上的时候,就弹出底下对应的旺旺列表!现在想要用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的显示隐藏

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn