Я ищу способ сделать моноширинный текст максимально широким в своем контейнере без переполнения или разрыва. Я уже рассмотрел CSS3 Make Текст как можно больше, чтобы заполнить элемент без переполнения и попытался реализовать предложенное решение, но в моем случае оно не работает. Если я установлю размер шрифта на 3vw
вместо 7vw
, как предлагается в ответе на связанный вопрос, он кажется близким, но когда я изменяю длину строк или ширину страницы, он снова отключается.
Вот мой код:
https://jsfiddle.net/de7qbu19/ (код в скрипте тот же)
#song-container {
text-align: center;
margin: 20px;
}
#song {
color: #000;
font: normal 3vw Courier New,monospace,Courier;
white-space: pre;
word-break: break-all;
text-align: left;
display: inline-block;
}
#song > span { /* Chords*/
color: #007fbf;
cursor: pointer;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<div class="container-fluid">
<div id="song-container">
<div class="panel panel-default">
<div class="panel-body">
<span id="song">
[Placeholder]
<span>Em</span> <span>G</span>
Placeholder Placeholder Placeholder Placeholder
<span>D</span> <span>C</span>
Placeholder Placeholder Placeholder Placeholder
</span>
</div>
</div>
</div>
</div>
Когда я запускаю фрагмент, кажется, что он занимает почти всю ширину: Но когда я затем выбираю опцию
Full page
, становится ясно, что это не так и что это ненадежно, особенно когда я уменьшите размер окна:
Таким образом, установка размера шрифта с использованием единиц vw
не помогает мне.
Любые идеи, как я мог добиться этого правильно?
.text.full-page
или.text.small-page
и подбрасывайте под них свои стили. Таким образом, вы должны определить два отдельныхfont-sizes
на основе текущей настройки. Может быть, также посмотреть медиа-запросы, если размер вашего экрана действительно уменьшается? - person Sean Mooney   schedule 28.04.2020margin: 20px;
вызывает проблемы. Изменение значения наmargin: 20px auto;
может решить вашу проблему. - person 7cc   schedule 03.05.2020#song-container { width: min-content }
- person 7cc   schedule 04.05.2020