Испытание 18/18 Как же все-таки выглядит элегантная истина?

Собственно, как можно пройти последнее испытание по-другому? То есть без исключительного применения !important. С результатом 100% у меня вот так:

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

body {
width: 550px;
height: 300px;
font-size: 12px;
font-family: Tahoma, Arial, sans-serif;
}

.profile {
padding: 5px 10px;
}

.profile img {
display: block;
padding: 10px;
border: 2px solid #34495e;
border-radius: 8px;
}

.profile .photo {
float: left;
width: 152px;
}

.profile .info {
float: left;
width: 368px;
margin-left: 10px;
}

.info h2 {
margin: 0!important;
padding: 10px!important;
font-weight: normal;
font-size: 12px;
color: #ffffff;
background: #34495e!important;
border-radius: 4px;
}

.fact {
padding: 10px;
background: white!important;
}
{
color: blue!important;
}

.fact:nth-child(odd) {
background: #ecf0f1!important;
}

.fact::after {
content: “”;
display: table;
clear: both;
}

.fact .title {
float: left;
width: 120px;
text-align: right;
color: #7f8c8d!important;
background:
}

.fact .value {
margin-left: 140px;
color: #34495e!important;
}

.albums {
margin-top: 5px;
}

.albums img {
float: left;
margin-right: 5px!important;
}

.albums img:last-child {
margin-right:0!important;
}

.button {
display: block;
height: 30px!important;
margin: 5px 0!important;
line-height: 30px;
text-align: center!important;
color: #ffffff;
border-radius: 4px;
}

.stroke {
background: #3498db!important;
}

.feed {
background: #2ecc71!important;
}

.startle {
background: #e74c3c!important;
}

Ого…) А вы особо не старались, я смотрю.
Должно остаться только 2 !important.
Чтобы пройти испытание, нужно увеличивать специфичность селектора. Если не хотите подглядывать в готовый правильный вариант, то можете начать избавляться от “лишних” !important, приписав в каждый селектор родителя. Например, .profile feed { … }

Сам попробую еще раз. А где можно найти “правильный вариант”?

Здесь на форуме через поиск.

А какой вариант вы считаете наиболее искусный? Их здесь множество.

Покидайте пару ссылок, я подберу.

Скажите еще, пожалуйста, нужно менять только приоритеты или можно задавать новые селекторы?

Новые правила создавать нельзя. А в существующих вы можете менять селекторы, писать их через запятую, если понадобится.

Ok, а вот ‘менять’ - значит и ‘заменять’ тоже?

Можно заменять. Главное, чтобы содержимое правила между двух фигурных скобок осталось без изменений.

1 лайк

Специфичность style по умолчанию начинается от 1000. Почему больший приоритет у нескольких классов? В теории указывается, что больший приоритет у тех, где меньше значений охватывается. Я не до конца понял эту часть.

Правильно. Но чем больше селекторов указано в цепочке, тем меньше элементов она охватит. Здесь обратная зависимость получается.

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

body {
width: 550px;
height: 300px;
font-size: 12px;
font-family: Tahoma, Arial, sans-serif;
}

.profile {
padding: 5px 10px;
}

.profile img {
display: block;
padding: 10px;
border: 2px solid #34495e;
border-radius: 8px;
}

.profile .photo {
float: left;
width: 152px;
}

.profile .info {
float: left;
width: 368px;
margin-left: 10px;
}

#info-title, .info h2 {
margin: 0!important;
padding: 10px!important;
font-weight: normal;
font-size: 12px;
color: #ffffff;
background: #34495e;
border-radius: 4px;
}

.profile div .fact {
padding: 10px;
background: white;
}

.profile .fact:nth-child(odd) {
background: #ecf0f1;
}

.fact :after {
content: “”;
display: table;
clear: both;
}

.profile .fact .title {
float: left;
width: 120px;
text-align: right;
color: #7f8c8d;
}

.profile .fact .value {
margin-left: 140px;
color: #34495e;
}

.albums {
margin-top: 5px;
}

.albums img, #miska {
float: left;
margin-right: 5px;
}

.albums img:last-child {
margin-right: 0;
}

.photo .button {
display: block;
height: 30px;
margin: 5px 0;
line-height: 30px;
text-align: center;
color: #ffffff;
border-radius: 4px;
}

.photo .stroke {
background: #3498db;
}

.photo .feed {
background: #2ecc71;
}

.photo .startle {
background: #e74c3c;
}

2 лайка