Я нашел замечательный учебник для того, что я считаю довольно приличным меню. Я пытаюсь превратить его в вертикальный выпадающий, похожий на: http://nettuts.s3.amazonaws.com/699_nav/navCode/nav.html или http://net.tutsplus.com/tutorials/html-css-techniques/how-to-build-a-kick-butt-css3-mega-drop-down-menu/?search_index=3Преобразование меню навигации CSS3
Я просто хочу, чтобы список выпал, вместо того, чтобы идти сбоку. Я пробовал то, что, как я думал, решит его, и нацелил элементы li на отображение встроенных строк и т. Д., Но я не могу заставить его работать, либо то, что я меняю, не имеет никакого эффекта, либо вызывает беспорядочный беспорядок.
CSS
#thisNav{
width: 250px;
margin: 20px;
background:#bada55;
}
#thisNav ul{
list-style: none;
margin: 0;
padding: 0;
}
#thisNav ul li{
/*child elements positioned absolutley will be relative to this*/
position: relative;
border-top: 1px solid #e9e9e9;
}
#thisNav a{
color: ghostwhite;
padding: 12px 0px;
/*fill hori space*/
display: block;
text-decoration: none;
/*apply transition to background property, taking 1s to change it
*/
transition:padding 1s, background 1s;
-moz-transition:padding 1s, background 1s;
-webkit-transition:padding 1s, background 1s;
-o-transition:padding 1s, background 1s;
font-family:tahoma;
font-size:13px;
text-transform:uppercase;
padding-left:20px;
}
/*hover pseduo class*/
#thisNav a:hover{
/*
RGBA background for transparancy:
last number(0.05) is the transparency
*/
padding-left:35px;
background: RGBA(255,255,255,0.05);
color:#fff;
}
#thisNav ul li:hover ul{
/*diplay when hovered*/
display: block;
}
#thisNav ul ul{
position: absolute;
left: 250px;
top: 0;
border-top: 1px solid #e9e9e9;
display: none;
width: 304px;
}
#thisNav ul ul li{
width: 150px;
background: #f1f1f1;
border: 1px solid #e9e9e9;
border-top: 0;
float:left;
}
#thisNav ul ul li a{
color:#000000;
font-size:12px;
text-transform:none;
}
#thisNav ul ul li a:hover {
color:#929292;
}
#thisNav span {
width:12px;
height:12px;
background:#fff;
display:inline-block;
float:left;
margin-top:3px;
margin-right:10px;
position:relative;
transition:all 0.5s;
-moz-transition:all 0.5s;
-o-transition:all 0.5s;
-webkit-transition:all 0.5s;
}
#thisNav a:hover span {
background: #7d2c41;
transform:rotate(90deg);
-moz-transform:rotate(90deg);
-webkit-transform:rotate(90deg);
}
/*Horizontal line*/
#thisNav span:before {
content:"";
width:12px;
height:2px;
background:#3a3b3b;
position:absolute;
left:0px;
top:5px;
}
/*Vertical line*/
#thisNav span:after {
content:"";
width:2px;
height:12px;
background:#3a3b3b;
position:absolute;
left:5px;
position:top;
}
HTML
<nav id = "thisNav">
<ul>
<li>
<a href="#"><span></span>one</a>
<ul>
<li><a href="#">sub1</a></li>
<li><a href="#">sub2</a></li>
<li><a href="#">sub3</a></li>
</ul>
</li>
<li>
<a href="#"><span></span>two</a>
<ul>
<li><a href="#">sub1</a></li>
<li><a href="#">sub2</a></li>
<li><a href="#">sub3</a></li>
</ul>
</li>
</ul>
</nav>
Это великолепно! :) В чем была главная проблема? Я заметил, что вы не изменили отображение на inline и т. Д. И т. Д.? – user2608855
Рад, что вам понравилось! См. Дополнительные пояснения. –
Еще раз спасибо, это очень помогает! :) У меня теперь есть небольшая небольшая проблема. Я не уверен, что это можно исправить. Если вы, например, задаете ширину основного 500px и притворитесь, что это ширина страницы на 100%, а затем добавьте 5 или около того элементов, в моем списке есть немало. Когда они прокручивают/завершают страницу, происходят странные вещи. Можете ли вы предложить решение, пожалуйста? Я думаю о добавлении дополнительного уровня к выходу или, возможно, к чему-то еще. Я предполагаю, что, возможно, этот nav не предназначен для многих элементов списка. – user2608855