Испытание: выпадающее меню [28/28] 100%


#1

Просьба проверить код.

html,
body {
margin: 0;
padding: 0;
}

body {
width: 380px;
min-height: 280px;
padding: 10px;
font-family: “Arial”, sans-serif;
font-size: 14px;
line-height: 1.4;
background: #ecf0f1;
}

.main-menu {
list-style: none;
padding: 0;
margin: 0;
width: 200px;

}

.main-menu > li {
position: relative;
}

.main-menu a {
display: block;
text-decoration: none;
border-bottom: 2px solid #2c3e50;
color: #ffffff;
background-color: #2980b9;
padding: 10px 15px;

}

.main-menu .sub-menu {
list-style: none;
position: absolute;
padding: 0;
margin: 0;
left: 180px;
top: 0px;
width: 200px;
z-index: 10;

}

.main-menu .opened a {
display: block;
background-color: #1abc9c;

}

.main-menu .sub-menu a {
border-bottom: 2px solid #2ecc71
}

/1. #ffffff белый/

/2. #2980b9 синий/

/3. #2c3e50 темно-синий/

/4. #1abc9c мятный/

/5. #2ecc71 зеленый/

https://jsfiddle.net/bo47t7du/32/


#2

hover планируете использовать?


#3

html,
body {
margin: 0;
padding: 0;
}

body {
width: 380px;
min-height: 280px;
padding: 10px;
font-family: “Arial”, sans-serif;
font-size: 14px;
line-height: 1.4;
background: #ecf0f1;
}

.main-menu {
list-style: none;
padding: 0;
margin: 0;
width: 200px;

}

.main-menu > li {
position: relative;
}

.main-menu a {
display: block;
text-decoration: none;
border-bottom: 2px solid #2c3e50;
color: #ffffff;
background-color: #2980b9;
padding: 10px 15px;

}

.main-menu .sub-menu {
list-style: none;
position: absolute;
padding: 0;
margin: 0;
left: 180px; /координаты саб-меню/
top: 0px;
width: 200px;
z-index: 10;
display: none;
}

.main-menu .opened a {
display: block;
background-color: #1abc9c;

}

.main-menu .sub-menu a {
border-bottom: 2px solid #2ecc71
}

.main-menu > li:hover .sub-menu {
display: block;
}

/1. #ffffff белый/

/2. #2980b9 синий/

/3. #2c3e50 темно-синий/

/4. #1abc9c мятный/

/5. #2ecc71 зеленый/

https://jsfiddle.net/bo47t7du/34/


#4

только после использования hover, тест не пройти:S


#5

Для прохождения display: none; закомментировать и всё.
Кстати, не хочу показаться нудным, – как насчёт hover для остальных пунктов меню (и субменю)?


#6

стоит попробовать)
но уж явно не сегодня, если что в теме отпишу новый код, если таковой будет


#7

И, ещё…
У Вас субменю наследует свойства выбранного пункта.
В реальном проекте свойства субменю могут отличатся (цвет, шрифт, размеры…)


#8

html,
body {
margin: 0;
padding: 0;
}

body {
width: 380px;
min-height: 280px;
padding: 10px;
font-family: “Arial”, sans-serif;
font-size: 14px;
line-height: 1.4;
background: #ecf0f1;
}

.main-menu {
padding: 0;
margin: 0;
width: 200px;
}

.main-menu li {

}

.main-menu > li > a {
text-decoration: none;
color: #fff;
background-color: #2980b9;
display: block;
padding: 10px 15px;
border-bottom: 2px solid #2c3e50;
}

.main-menu .opened > a {
background-color: #1abc9c;
position: relative;
}

.main-menu .opened .sub-menu {
position: absolute;
top: 51px;
left: 190px;
padding: 0;
margin: 0;
width: 200px;
}

.main-menu .opened .sub-menu li {
list-style: none;
}

.main-menu .opened .sub-menu li a {
text-decoration: none;
color: #fff;
background-color: #1abc9c;
display: block;
padding: 10px 15px;
border-bottom: 2px solid #2ecc71;
}

100%


#9

ПолучилоСЯ вот так…сделал ховер для ссылок, чтобы подсвечивались

html,
body {
margin: 0;
padding: 0;
}

body {
width: 380px;
min-height: 280px;
padding: 10px;
font-family: “Arial”, sans-serif;
font-size: 14px;
line-height: 1.4;
background: #ecf0f1;
}

.main-menu {
width: 200px;
background: #2980b9;
list-style: none;
margin: 0;
padding: 0;
}

.main-menu > li {
position: relative;
}

.main-menu a {
display: block;
text-decoration: none;
color: #fff;
padding: 10px 15px;
border-bottom: 2px solid #2c3e50;
}

.main-menu .sub-menu {
list-style: none;
position: absolute;
background: #1abc9c;
margin: 0;
padding: 0;
width: 200px;
z-index: 10;
top: 0px;
left: 180px;

/*display: none;*/

}

.main-menu a:hover {
display: block;
background: #1abc9c;
}

.main-menu .sub-menu a {
border-bottom: 2px solid #2ecc71
}


#10

Добавьте:

.main-menu li:hover .sub-menu {
    display: block;    
}

#11

Получается, это для того, чтобы всплывающие меню отображались как блоки?