У меня есть разметка вот так:
<div class="radio-choice score bottom">
<input type="radio" name="name" value="v1" class="myradio"
/><a target="_blank" href="https://example.com/gudlink">Long description of a very interesting article</a>
</div>
Я использую многостолбцовую сетку начальной загрузки.Я хочу, чтобы приведенный выше HTML отображался следующим образом:
[] Long description of a ve
Вместо этого я получаю следующее:
[]
Long description of a very interesting article
Эта строка остается на одной строке, но она выходит за границы столбцов..
Два вопроса:
Как сохранить текст в той же строке, что и флажок, независимо от его длины?
Как мне обрезать текст (см. Разметку ниже - я использую white-space: nowrap;
и overflow-x: hidden;
)?
CSS:
Я используюследующий SCSS:
div.radio-choice.score {
a {
overflow-x: hidden;
white-space: nowrap;
}
&:hover {
overflow-x: visible;
}
input[type="radio"].myradio {
width: auto;
display: inline;
}
}
Когда я использовал ряд тегов span
в теге p
, я получил желаемое поведение.Если я помещаю теги input
и a
в диапазон, я получаю то же самое поведение - тег a
начинается со следующей строки, и его текст выпадает вправо.
Это можетбудьте поучительны: когда я пользуюсь инспектором DOM, я вижу, что для правил для div.radio-choice.score a
пробита строка overflow-x: hidden;
, а для строки white-space: nowrap;
- нет.Учитывая, что в других статьях S / O говорится об укорочении якорного текста, почему это правило будет соблюдено?
Для проблемы с переносом строк мое текущее решение состоит в том, чтобы установить флажок в margin-left: -2em;
, но я ожидаюесть лучший способ сделать это.
Что касается того, почему мой якорный текст не усекается, мне придется сузить его.Сейчас я работаю с 500 линиями SCSS, и это может легко помешать чему-то другому.Но в то же время я надеюсь, что кто-то, кто столкнулся с этим и нашел решение, или имеет хорошее внутреннее представление о механике CSS, мог бы взвесить.