Я знаю, что это простой. У меня есть кнопка:
<a class = "btn btn-choice rectangle" (click) = "setQuestion(question, !question.active, $event)" [ngClass] = "{ 'active': question.active }"
href = "#">
<span class = "fa fa-square"></span>
<span class = "fa fa-check-square"></span>
<span class = "title">{{ question.description }}</span>
</a>
Классы fa скрыты в зависимости от состояния кнопки (я использую bootstrap btw). CSS для этого выглядит так:
.btn-choice {
@include make-text-sizes($h1-sizes);
font-weight: 300 !important;
color: white !important;
background-color: $midnight;
display: block;
margin-bottom: 30px;
text-align: left;
.header {
padding: 0.375rem 0.75rem;
}
.title {
padding-right: 40px;
display: block;
}
.fa {
float: right;
display: none;
margin-top: 7px; // Center vertically?
}
&:hover,
&:focus {
font-weight: 400 !important;
background-color: $cyan;
.fa-square {
display: block;
}
}
&:active,
&.active {
font-weight: 400 !important;
background-color: $cyan;
.fa-check-square {
display: block;
}
.fa-square {
display: none;
}
}
}
Теперь я пытаюсь сделать так, чтобы заголовок имел некоторый отступ, чтобы он никогда не перекрывал «квадратные флажки», но я не могу заставить его работать.
Как видите, .title настроен как блок, и я установил некоторые отступы справа.
Если я исследую свой элемент, я вижу, что этот контур находится внутри ссылки, но текст просто продолжается по ней.
Вот код проблемы:






Я знал, что это будет просто; Кажется, я могу просто добавить white-space: pre-wrap; к .title, и это устранило мою проблему.
См. Ответ выше?
Затем выберите любой из ответов в качестве решения, которое включает эту конкретную информацию.
Звучит хорошо, но я не могу принять собственное решение в течение 2 дней после его публикации :)
Думаю, у меня есть решение -
Основные изменения -
.btn-choice {
padding: 20px 30px;
}
.title {
display: block;
width: 90%;
white-space: initial;
}
https://codepen.io/DarianSteyn/pen/eLzMzp
Это решение, но мое не требует установки ширины, поэтому нет проблем с изменением размера окна. Я бы предположил, что мое решение лучше по этой причине.
Пожалуйста, проверьте ответ ниже, который я добавил. Ширина не требуется.
Я адаптировал ваш пример и использовал flexbox, а также, как уже упоминалось, перезаписал white-space из стандарта начальной загрузки.
См. Разветвленный код: https://codepen.io/dreitzner/pen/bxevvP
это ничего не делает: o
Извините, я не сохранил последний прогресс. Пожалуйста, проверьте еще раз. Заголовок завершается и имеет отступ справа.
Я обновил код для вас. https://codepen.io/charumaheshwari/pen/NLrMXb. Идея состоит в том, чтобы дать padding-right: 40px для "title"
.title {
display: block;
padding-right:40px;
white-space: initial;
}
Возможно, стоит добавить тег для любого препроцессора CSS, который вы используете, поскольку это проблема стиля.