Мои проблемы - это маленькая и средняя версия кнопки. Я хочу, чтобы они имели меньшие размеры, чем основная кнопка, только с классом btn.
Пожалуйста, не стесняйтесь редактировать код и дайте мне ответ, почему классы btn--med и btn--small не влияют на внешний вид кнопки.
Вот код:
.btn {
&:link,
&:visited {
text-transform: uppercase;
text-decoration: none;
background-color: #000;
color: #777;
padding: 27px 40px;
display: inline-block;
border-radius: 100px;
transition: all .2s;
min-width: 30rem;
min-height: 8rem;
text-align: center;
margin-right: 5rem;
}
&--small {
max-width: 10rem;
background-color: blue;
}
&--med {
max-height: 5rem;
}
}<div class = "div-1">
<a href = "#" class = "btn">Programista</a>
</div>
<div class = "div-2">
<a href = "#" class = "btn btn--med">SCSS</a>
</div>
<div class = "div-3">
<a href = "#" class = "btn btn--small">SCSS</a>
</div>





Вот мое решение
.btn {
text-transform: uppercase;
text-decoration: none;
background-color: #000;
color: #777;
padding: 27px 40px;
display: inline-block;
border-radius: 100px;
transition: all 0.2s;
min-width: 30rem;
min-height: 8rem;
text-align: center;
margin-right: 5rem;
&:link,
&:visited {
}
&.btn--small {
min-width: 10rem;/*Change this value according to your needs*/
min-height: 3rem;/*Change this value according to your needs*/
background-color: blue;
}
&.btn--med {
min-height: 5rem;/*Change this value according to your needs*/
min-width: 15rem;/*Change this value according to your needs*/
}
}
Замените min-width вместо max-width для маленьких и средних кнопок
Из-за свойств min-width и min-height, используемых на btn. Измените их:
.btn {
&:link,
&:visited {
text-transform: uppercase;
text-decoration: none;
background-color: #000;
color: #777;
padding: 27px 40px;
display: inline-block;
border-radius: 100px;
transition: all .2s;
text-align: center;
margin-right: 5rem;
}
&--small {
max-width: 10rem;
background-color: blue;
}
&--med {
max-height: 5rem;
}
}
min-height и min-width переопределяют ширину и высоту, если декалированное значение меньше значения, объявленного в min-width и min-height.
You should modify same properties for both btn--small and btn--med button class.
in your code for "btn--small" you are modifying its "max-width" property.
while for "btn--med" you are modifying "max-height" property.
Modify same properties for both classes.
for example
&--small {
max-width: 10rem;
background-color: blue;
max-height: 5rem;
}
&--med {
max-height: 5rem;
max-width: 5rem;
}
Как и в других ответах, вам нужно изменить те же свойства, а также те же псевдоклассы. Поскольку основная кнопка касается только :link и :visited, ваши --sm и --med также должны быть упакованы для :link и :visited.
https://codepen.io/drGrove/pen/XPdpJN
Спасибо. Я забыл об этом! Но я думаю, что код сейчас выглядит немного беспорядочно по сравнению с другими ответами :)
Это здорово! Но я не понимаю, как это работает. Когда у нас есть «& .btn - small», вложенный в «.btn», он должен переводиться в «.btn.btn - small». Это вообще правильно?