将ul li从水平变为垂直

时间:2016-06-12 23:11:55

标签: html css css3

我正在尝试在将窗口宽度调整为小分辨率时显示的菜单。下面是HTML和CSS

<nav>
 <a id="menu-dropdown"><img src="http://localhost/influenza/logo/menu.png" /></a>
 <ul>
    <li><a class="tab-click" href="http://localhost/influenza/index.php">Home</a></li>
    <li><a href="http://localhost/influenza/articles.php">Articles</a></li>
    <li><a href="http://localhost/influenza/webinars.php">Webinars</a></li>
 </ul>
</nav>

CSS:

nav ul
{
    list-style:none;
}
nav li{
    display:inline;
    line-height:1.5px;
}
nav li:not(:first-child) > :only-child,
nav ul > :first-child a{
   text-decoration:none;
   font-size:1.4em !important;
   outline:1px solid blue;
   padding:8px;
   letter-spacing:0.9px;
   margin-left:18px;
}  
nav li:not(:first-child) > :only-child{
   color:blue;
}
nav ul > :first-child a{
  color:white !important;
  background:blue;
}

水平输出:

Home    Articles    Webinars

如何将列表恢复为Vertical然后将“ul”位置设置为绝对值并使“nav a”可见。列表应垂直显示,如下所示

Home
Articles
Webinars

1 个答案:

答案 0 :(得分:2)

nav{
    position:relative;
}
nav ul
{
    position:absolute;
    top:40px; /* this height is same as the menu.png */
    left:0;
    z-index:999;
    list-style:none;
}
nav li{
    list-style:none;
    display:block;
}
nav ul li a{
    display:block;
}
nav li:not(:first-child) > :only-child,
nav ul > :first-child a{
   text-decoration:none;
   font-size:1.4em !important;
   outline:1px solid blue;
   padding:8px;
   letter-spacing:0.9px;
   margin-left:18px;
}  
nav li:not(:first-child) > :only-child{
   color:blue;
}
nav ul > :first-child a{
  color:white !important;
  background:blue;
}
<nav>
 <a id="menu-dropdown"><img src="http://localhost/influenza/logo/menu.png" /></a>
 <ul>
    <li><a class="tab-click" href="http://localhost/influenza/index.php">Home</a></li>
    <li><a href="http://localhost/influenza/articles.php">Articles</a></li>
    <li><a href="http://localhost/influenza/webinars.php">Webinars</a></li>
 </ul>
</nav>