#css #css-grid
#css #css-сетка
Вопрос:
Как следует из названия, при проверке и просмотре устройств меньшего размера обрезается только текст в крайнем правом углу экрана.
Вот мой HTML:
* {
margin: 0;
}
body {
overflow-x: hidden;
}
.wrapper1 {
display: grid;
grid-template-columns: 6fr 3fr;
border: 2px solid #6cccb0;
overflow: hidden;
height: 30px;
background-color: #6cccb0;
width: 1700px;
}
<div class="wrapper1">
<div>
<p class="item1">SHIPPED for free | GUARANTEED TO LAST</p>
</div>
<div>
<p class="item2">LOG IN | REGISTER | CUSTOMER SERVICE | 1-800-692-8259 </p>
</div>
</div>
Спасибо
Комментарии:
1. Попробуйте удалить overflow-x: hidden;
2. или, что еще лучше, удалите
width: 1700px;
3. Это не работает, и я пытаюсь избежать горизонтальной полосы прокрутки.
4. Ваша сетка всегда имеет ширину 1700 пикселей, а переполнение тела скрыто. Если вы хотите, чтобы текст переносился на вторую строку, используйте что-то вроде
max-width: 100%
.5. Я пытаюсь сохранить текст в одной строке
Ответ №1:
Почему бы не удалить жестко заданную ширину и overflow: hidden
свойства? Это приводит к тому, что ваш контент как за кадром, так и вырезается.
* {
margin: 0;
}
.wrapper1 {
display: grid;
grid-template-columns: 2fr 1fr;
align-items: center;
border: 2px solid #6cccb0;
background-color: #6cccb0;
}
<div class="wrapper1">
<div>
<p class="item1">SHIPPED for free | GUARANTEED TO LAST</p>
</div>
<div>
<p class="item2">LOG IN | REGISTER | CUSTOMER SERVICE | 1-800-692-8259 </p>
</div>
</div>
Комментарии:
1. Вы правы, это решило проблему с отключением. Но что теперь, если я хочу, чтобы текст был в той же строке, а не перемещался на новую строку при меньшем размере экрана?
2. Хорошо, сначала давайте подумаем об этом, если размер экрана уменьшается, что должно произойти с текстом? Если вам нужно, чтобы весь текст оставался видимым и располагался на одной строке, то вам следует уменьшить размер шрифта настолько, чтобы он выглядел хорошо; потому что единственный другой вариант — обрезать текст, но это приведет к удалению информации
Ответ №2:
Вы могли бы использовать
width: 100%;
вместо того , чтобы
width: 1700px;
Таким образом, ваш текст item2 не исчезнет.
Правка 1:
Если вы хотите сохранить текст в одну строку, я предлагаю использовать запросы @media для изменения размера шрифта. так что ваш css должен быть примерно таким.
* {
margin: 0;
}
.wrapper1 {
display: grid;
grid-template-columns: 2fr 2fr;
border: 2px solid #6cccb0;
height: 30px;
background-color: #6cccb0;
font-size: 1em;
color: orange;
}
@media only screen and (max-width: 440px) {
.wrapper1 {
font-size: 0.4em;
color: yellow;
}
}
@media only screen and (min-width: 440px) {
.wrapper1 {
font-size: 0.5em;
color: aqua;
}
}
@media only screen and (min-width: 560px) {
.wrapper1 {
font-size: 0.6em;
color: green;
}
}
@media only screen and (min-width: 728px) {
.wrapper1 {
font-size: 0.8em;
color: blue;
}
}
@media only screen and (min-width: 1024px) {
.wrapper1 {
font-size: 1em;
color: red;
}
}
Я ввел правила цвета, чтобы помочь вам понять, что происходит. Вы можете удалить их. Я надеюсь, что это поможет вам.
Комментарии:
1. Когда я делаю это, ширина моего div уменьшается до половины экрана при изменении размера до меньших экранов.
2. @Daniel Klein. Я отредактировал свой ответ, чтобы он мог решить вашу проблему, я надеюсь