Испытание: многоуровневое меню [15/28] трудно...


#1

Довольно трудно дается понимание - “Дочерние селекторы” (Еще с итогового испытания с биатлонистами,трудность для меня была наверно в абстрактности этих мишеней что-ли…),но сейчас вроде их суть уловил,-
проникать в нужный элемент HTML, для редактирования на уровне CSS, игнорируя подобные нужные нам для редактирования - теги/классы ?
Верно ли я понял ?
Трудновато далось задание,час провозился где-то.В итоге как будто, не совсем даже понял,что сделал,хоть и на 100%.Было просто неистовое желание,задать многим тегам - классы.
Выполнял по методу , -
"Мне нужно захватить селектором , этот элемент/элементы, брал блок-объявление - {border: 1px dotted black;} и что-то вроде - подбирал селектора и ориентировался по рамке в мини-браузере, на нужных мне элементах.Далее, применял знания из предыдущих теорий и действовал так далее, на результат."
Оцените код,насколько он вменяем по решению данного испытания.
И вообще,приемлем ли такой метод ? О_о

<body>
    <ul class="main-menu">
        <li class="active">
            <a href="/courses">Курсы</a>
            <ul>
                <li><a href="/courses/4">Знакомство</a></li>
                <li><a href="/courses/42">Селекторы</a></li>
                <li><a href="/courses/45">Позиционирование</a></li>
            </ul>
        </li>
        <li><a href="/demos">Демонстрации</a></li>
        <li><a href="/public_profiles">Участники</a></li>
        <li><a href="/achievments">Достижения</a></li>
    </ul>
</body>

html,

body {
margin: 0;
padding: 0;
}

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

ul {
padding: 0;
margin-top: 0;
list-style: none;
}
.main-menu > li > a {
display: block;
padding: 10px 15px;
text-decoration: none;
border-bottom: 2px solid #2c3e50;
}

.active > a {
color: #ffffff;
background: #1abc9c;
}

.main-menu ul {

background: #ffffff;
padding: 10px 10px;
border-bottom: 2px solid #2c3e50;

}
.main-menu ul a {
display: block;
padding: 5px;
color: #2980b9;
}

.main-menu > li {
background: #2980b9;
}
.main-menu > li > a {
color: #ffffff;
}


#2

Это ведь один и тот же селектор, правда?
Ваш метод рассуждения правильный. Попробуйте отделить общие стили для обоих уровней меню. Например, все ссылки в этом задании - это блочные элементы. Об этом можно написать один раз.

Это фон ссылок первого уровня, можно добавить это свойство в правило с селектором .main-menu > li > a.


#3

аж смешно стало :smiley:
нужно мне было повнимательней свой код проверить…
Спасибо за совет, пока менял бэкграунд местами,вспомнил еще одну важную деталь как - специфичность селектора, т.к. , просто был .active > a , добавил к нему .main-menu , верхняя строка стала с верным бэкграундом.
Благодарю!


#4

имеет право на жизнь мое творение ?

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

.main-menu ul {
padding:10px 0px;
text-decoration:underline;
background:#ffffff;
border-bottom: solid 2px #2c3e50;
}

.main-menu li li a{
padding:5px 15px;
color:#2980b9;
border-bottom:none;}

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

.main-menu>.active>a {background:#1abc9c;}