javascript - 创建一个自定义下拉选择,就像用户注销时在推特上使用的那样

标签 javascript jquery html css

我正在尝试创建自定义下拉选择,就像用户注销时在 Twitter 上使用的那样,直到现在我还没有成功: 这是我取得的成就,但不适用于 IE9:|

http://fiddle.jshell.net/Hz2JH/

<ul id="main">
    <li class="username" tabindex="1" >  
        <a>USER</a>
            <ul class="curent_buser">
                <li class="help"><a href="http://www.wikipedia.org/">Help</a></li>
                <li class="logoff"><a href="http://www.wikipedia.org/">Log Off</a></li>
            </ul>
        </li>
    </ul>


ul#main {
    color: 232323;
    width: 120px;
    border:2px solid #ccc;
    list-style: none;
    font-size: 12px;
    letter-spacing: -1px;
    font-weight: bold;
    text-decoration: none;
    height:30px;
    background:#f1f1f1;
}



ul#main:hover {
    opacity: 0.7;
    text-decoration: none;
}

#main > li{
    background: url('http://cdn1.iconfinder.com/data/icons/crystalproject/24x24/actions/1downarrow1.png') 100% 0 no-repeat;
    outline:0;
    padding:10px;
}

ul#main li ul {
    display: none;
    width: 116px;
    background: transparent;
    border-top: 1px solid #eaeaea;
    padding: 2px;
    list-style: none;
    margin: 7px 0 0 -3px;
}


ul.curent_buser li a {
    color: gray;;
    cursor: pointer;
}
ul.curent_buser{
    background:lime !important;    
    }


    ul#main li ul li a {
    display: block;
    padding: 5px 0;
    position: relative;
    z-index: 5;
}


#main li:focus ul, #main li.username:active ul {
    display: block;
}

.help{
    background: url("http://cdn1.iconfinder.com/data/icons/musthave/16/Help.png") no-repeat 100% center ;
    height: 25px;
    margin-bottom: 2px;
    border-bottom: 1px solid white;
}       

.help:hover{    
background: #f4f4f4;


}

.logoff{
    background: url("http://cdn1.iconfinder.com/data/icons/cc_mono_icon_set/blacks/16x16/on-off.png") no-repeat  100% center ;
    height: 25px;
}


.logoff:hover{
    background: #f4f4f4 ;
    height: 25px;
}

.help a,.logoff a{
    color:gray;
    font-family: Museo700Regular,sans-serif;
    letter-spacing: 0;
    font-size: small;
}

​

那么我如何构建一个自定义选择,就像在 Twitter 上使用的那样?

最佳答案

这对我有用,不需要点击来获得下拉菜单。只需添加 li 元素即可将自定义图像放在每个菜单项上。纯 CSS 并适用于我测试过的所有浏览器,如果您发现无法使用的浏览器,请告诉我。

#addMenu, #addMenu ul {
list-style: none;
}

#addMenu {
float: left;
}

#addMenu > li {
float: left;
}

#addMenu li a {
display: block;
padding: 0 8px;
text-decoration: none;
}

#addMenu ul {
position: absolute;
display: none;
z-index: 999;
}

#addMenu ul li a {
width: 70px;
color: #000;
font-weight: bold;
}

#addMenu li:hover ul.noJS {
display: block;
background: #ccc;
color: #000; 
}

#addMenu ul li:hover a {
background: #ddd;
}

HTML

<ul id='addMenu'>
    <li>
    <a href='#'>MENU</a>
        <ul class='noJS'>
        <li><a href='URL'>Option1</a></li>
        <li><a href='URL'>Option2</a></li>
        <li><a href='URL'>Option3</a></li>
        <li><a href='URL'>Option4</a></li>
        </ul>
    </li>
</ul>

关于javascript - 创建一个自定义下拉选择,就像用户注销时在推特上使用的那样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13119001/

相关文章:

javascript - 如何重复请求直到成功而不阻塞 Node ?

javascript - 改变 ng-repeat Angularjs 内部的行为

jquery - 轻松响应选项卡自定义选项卡激活

java - 如何使用 javascript/jquery 获取 html struts styleClass

html - 无法设置 html div 宽度

javascript - 带全日历的 Qtip

javascript - 使用套接字保持 Sails.js 集合的客户端同步

javascript - 当我使用 Javascript 时,我的 HTML 内容不显示

html - 三个 div - 排列成表格

html - 如何将元素居中放置在浏览器窗口的中间?