javascript - 如何更改下拉菜单的样式

标签 javascript css html

美好的一天。我有一个分成两部分的导航。一个在右边,一个在左边。我想更改右侧下拉菜单的位置,以便在此处显示导航的所有内容是我的代码

HTML:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<title>Tanauan LGU </title>
<link href="styles.css" rel="stylesheet" type="text/css" />
</head>

<header>
    <img src="estate_banner.png" id="logo">
</header>
<nav>
<div id="menu">
  <ul>
    <li><a href="#">item1</a> </li>
    <li><a href="#">item1</a>
         <ul>
           <li><a href="#">item1</a> </li>
           <li><a href="#">item1</a> </li>
           <li><a href="#">item1</a> </li>
         </ul>
    </li>
    <li><a href="#">item1</a> </li>
    <li><a href="#">item1</a>
         <ul>
          <li><a href="#">item1</a> </li>
          <li><a href="#">item1</a> </li>
          <li><a href="#">item1</a> </li>
        </ul>
    </li>
    <li class="last"><a href="#">Welcome Admin</a>
         <ul>
          <li><a href="#">Subitem One</a></li>
          <li><a href="#">Subitem Two</a></li>
          <li><a href="#">Subitem Three</a> </li>
        </ul>      
    </li>
  </ul>
 </div>
</nav>
<body marginheight="0">
</body >
</html>

CSS:
 header{
  height:80px;
  width:100%;
  background: -webkit-linear-gradient(160deg,white, orange); /* For Safari 5.1 to 6.0  */
  background: -o-linear-gradient(180deg,white, orange); /* For Opera 11.1 to 12.0 */
  background: -moz-linear-gradient(180deg,white, orange); /* For Firefox 3.6 to 15 */
  background: linear-gradient(180deg,white, orange); /* Standard syntax (must be last) */   }
#logo{margin-top:13px;}
#menu {
  background:#000;
  width:100%;
  height:40px;
  border-radius: 3px;
  float:left;
}
#menu ul ul {
  display: none;
}
#menu ul li:hover > ul {
  display: block;
}
#menu ul {
  padding: 0px;
  border-radius: 5px;
  list-style: none;
  margin:0;
  position: relative;
  display: block;
}
#menu ul:after {
  content:"";
  clear: both;
  display: block;
}
#menu ul li {
  float: left;
}
#menu ul li:hover {
  color:#fff;
}
#menu ul li:hover a {
  background:#fff;
  color: #000;
}
#menu ul li a {
  display: block;
  padding:0 10px;
  color: #FFF;
  text-decoration: none;
  line-height:40px;
}
#menu ul ul {
  background: #fff;
  padding:0;
  position: absolute;
  top: 40px;
  box-shadow: 0px 0px 9px rgba(0, 0, 0, 0.15);
}
#menu ul ul li {
  float: none;
  position: relative;
}
#menu ul ul li a {
  padding: 15px 40px;
  color: #fff;
  width:150px;
  height:50px;
}
#menu ul ul li a:hover {
  background: #000;
  color:#fff;
}
 #menu ul li.last {
   float:right;
}

最佳答案

更新 fiddle :http://jsfiddle.net/lotusgodkk/GCu2D/113/

向左下拉列表添加了 left:0,向右下拉列表添加了 right:0

HTML:

<header>
 <img src="estate_banner.png" id="logo" />
</header>
<nav>
 <div id="menu">
    <ul class="leftul">
        <li><a href="#">item1</a> 
        </li>
        <li><a href="#">item1</a>

            <ul>
                <li><a href="#">item1</a> 
                </li>
                <li><a href="#">item1</a> 
                </li>
                <li><a href="#">item1</a> 
                </li>
            </ul>
        </li>
        <li><a href="#">item1</a> 
        </li>
        <li><a href="#">item1</a>

            <ul>
                <li><a href="#">item1</a> 
                </li>
                <li><a href="#">item1</a> 
                </li>
                <li><a href="#">item1</a> 
                </li>
            </ul>
        </li>
        <li class="last"> <a href="#">Welcome Admin</a>

            <ul class="rightul">
                <li><a href="#">Subitem One</a>

                </li>
                <li><a href="#">Subitem Two</a>

                </li>
                <li><a href="#">Subitem Three</a> 
                </li>
            </ul>
        </li>
    </ul>
 </div>
</nav>

CSS:

header {
 height:80px;
 width:100%;
 background: -webkit-linear-gradient(160deg, white, orange);
 /* For Safari 5.1 to 6.0 */
 background: -o-linear-gradient(180deg, white, orange);
 /* For Opera 11.1 to 12.0 */
 background: -moz-linear-gradient(180deg, white, orange);
 /* For Firefox 3.6 to 15 */
 background: linear-gradient(180deg, white, orange);
 /* Standard syntax (must be last) */
}
#logo {
 margin-top:13px;
}
#menu {
 background:#000;
 width:100%;
 height:40px;
 border-radius: 3px;
 float:left;
}
#menu ul ul {
 display: none;
}
#menu ul li:hover > ul {
 display: block;
}
#menu ul {
 padding: 0px;
 border-radius: 5px;
 list-style: none;
 margin:0;
 position: relative;
 display: block;
 }
#menu ul:after {
 content:"";
 clear: both;
 display: block;
}
#menu ul li {
 float: left;
}
#menu ul li:hover {
 color:#fff;
}
#menu ul li:hover a {
 background:#fff;
 color: #000;
}
#menu ul li a {
 display: block;
 padding:0 10px;
 color: #FFF;
 text-decoration: none;
 line-height:40px;
}
#menu ul ul {
 background: #fff;
 padding:0;
 position: absolute;
 top: 40px;
 box-shadow: 0px 0px 9px rgba(0, 0, 0, 0.15);
}
.rightul {
  right:0;
 }
.leftul>ul {
  left:0;
}
#menu ul ul li {
  float: none;
  position: relative;
}
#menu ul ul li a {
 padding: 15px 40px;
 color: #fff;
 width:150px;
 heigh:50px;
}
#menu ul ul li a:hover {
 background: #000;
 color:#fff;
}
#menu ul li.last {
 float:right;
}

关于javascript - 如何更改下拉菜单的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23668829/

相关文章:

javascript - 如何使用cookie中保存的URL?

javascript - 如何在 jquery ajax 成功 html 响应中找到输入隐藏元素?

javascript - 当它到达第四个选项卡时,它不应该转到第一个选项卡

css - 如何仅创建此按钮形状 CSS?

javascript - CSS3 & HTML5 - 旋转对象组

javascript - 获取 slideToggle 以展开和显示隐藏内容

javascript - D3 线性梯度到 geojson 路径根据其值

jquery - 如何使用 slider 更改文字大小?

html - 图像在一页上重复,但在其他页面上不重复

javascript - 通过 Javascript 添加的 HTML 与普通 HTML 标记的性能比较