html — Растянуть на весь экран через padding

Задать вопрос

Вопрос задан

Изменён 2 года 9 месяцев назад

Просмотрен 741 раз

Контент страницы находится в contanier со свойствами

.wrap > .container {
  padding: 70px 15px 20px;
}

Т.е. каждый объект сдвигается на 15px по бокам. Как растянуть какой-то div в container под этим свойством на весь экран не обращая внимание на padding Желательно без JS / JQ, но не принципиально

<div>
  <div>Растяните меня на всю страницу</div>
</div>
  • html
  • css
  • веб-программирование

2

Задать внешние отступы на величину paddinga: margin-left: -15px; margin-right: -15px;

* {
  box-sizing: border-box;
}

html,
body {
  padding: 0;
  margin: 0;
  width: 100%;
}

. wrap > .container {
  padding: 70px 15px 20px;
  
}

.need_to {
  margin-left: -15px;
  margin-right: -15px;
  background: #ccc; /* для наглядности */
}
<div>
  <div>
    <div>Растяните меня на всю страницу</div>
  </div>
</div>

Так годится?

.wrap > .container {
  padding: 70px 15px 20px;
  background: blue;
}

.need_to {
  margin: 0 -15px;
  background: yellow;
}
<div>
  <div>
    <div>Не трогайте меня</div>
    <div>Растяните меня на всю страницу</div>
  </div>
</div>

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

Изменение размеров в CSS — Изучение веб-разработки

  • Назад
  • Обзор: Building blocks
  • Далее

В предыдущих уроках вы познакомились с некоторыми способами изменения размеров элементов на веб-странице с помощью CSS. Понимание того, насколько велики будут различные элементы в вашем дизайне — важно, и в этом уроке мы подведем итог по различным способам задания размеров элементов с помощью CSS и расскажем о некоторых терминах, связанных с размерами, которые помогут вам в будущем.

Необходимые условия:Базовая компьютерная грамотность, Установка базового ПО, базовые знания работы с файлами, основы HTML (Введение в HTML), и общее представление о том, как работает CSS (Введение в CSS.)
Цель:Изучить различные способы задания размеров объектов в CSS.

Элементы HTML имеют размеры по умолчанию, заданные до того, как на них повлияет какое-либо правило CSS. Простой пример — изображение. Изображение имеет ширину и высоту, определенные в файле изображения. Этот размер называется — внутренний размер, он исходит из самого изображения.

Если вы разместите изображение на странице и не измените его высоту и ширину, используя атрибуты тега

<img> или CSS, оно будет отображаться с использованием этого внутреннего размера. В примере ниже, мы установили для изображения рамку, чтобы вы могли видеть размер файла.

С другой стороны, пустой <div> не имеет собственного размера. Если вы добавите <div> в свой HTML-код без содержимого, а затем установите для него рамку, как мы это делали с изображением, вы увидите линию на странице. Это схлопнувшиеся границы элемента — содержимое, которое могло бы удерживать ее в открытом состоянии, отсутствует. В нашем примере ниже эта граница растягивается на всю ширину контейнера, потому что это элемент блочный, поведение которого должно быть вам знакомо. У него нет высоты, потому что нет содержимого.

В приведенном выше примере попробуйте добавить текст внутри пустого элемента. Этот текст теперь становится охваченным границами, потому что высота элемента определяется содержимым. Следовательно, размер этого <div> устанавливается размером содержимого. Как и в предыдущем примере, этот размер является внутренним размером — размер элемента определяется размером его содержимого.

Конечно, мы можем задать элементам нашей страницы определенный размер. Размер, который присваивается элементу (содержимое, которого затем должно соответствовать этому размеру), называется

внешним размером. Возьмите наш <div> из примера выше и установите ему специальные значения width и height и теперь он будет иметь эти размеры, независимо от того, какого размера содержимое в него помещается. Как мы узнали в нашем предыдущем уроке о переполнении, заданная высота блока может вызвать переполнение содержимого, если размер содержимого больше, чем внутреннее пространство элемента.

Из-за этой проблемы перекрытия, жестко задавать высоту элементов с помощью длины или процентного соотношения — это то, что нужно делать с большой осторожностью.

Использование процентного соотношения

Во многих отношениях проценты действуют как единицы длины, и, как мы обсуждали в уроке, посвященном значениям и единицам, они часто могут использоваться как взаимозаменяемые с длиной. При использовании процентов вы должны знать, от чего этот процент рассчитывается. В случае блока внутри другого блока, если вы зададите дочернему блоку процентную ширину, это будет процент от ширины родительского контейнера.

Это потому, что проценты рассчитываются в зависимости от размера содержащего элемент блока. Если процентное соотношение не применяется, наш <div> будет занимать 100% доступного пространства, так как это элемент блочного типа. Если мы зададим ему ширину в процентах, он займет процент от пространства, которое он обычно заполняет.

Margins и paddings в процентах

Если вы установите margins и padding в процентах, вы можете заметить странное поведение. В приведенном ниже примере у нас есть блок. Мы присвоили внутреннему блоку margin 10% и padding 10%. Padding и margin сверху и снизу имеют тот же размер, что и margins слева и справа.

Например, вы можете ожидать, что процентное значение верхнего и нижнего margins будет в процентах от высоты элемента, а процентное левое и правое margins — в процентах от ширины элемента. Тем не менее, это не так!

При использовании margins и padding, заданных в процентах, значение рассчитывается на основе inline размера блока — следовательно, ширины при работе с горизонтальным языком. В нашем примере все поля и отступы составляют 10% width. Это означает, что вы будете иметь margins и padding одинакового размера по всему полю. Этот факт стоит запомнить, если вы действительно пользуетесь процентами.

Помимо возможности установить фиксированный размер, мы можем использовать CSS чтобы задать элементу минимальный или максимальный размер. Если у вас есть блок, который может содержать разное количество содержимого, и вы хотите, чтобы он всегда был определенной минимальной высоты, вы можете установить для него свойство

min-height. Блок всегда будет минимальной заданной высоты, пока содержимого не станет больше, чем места в блоке.

В приведенном ниже примере вы можете увидеть два блока, обоим задали минимальную высоту в 150 пикселей. Блок слева имеет высоту 150 пикселей несмотря на то что в нем нет текста. В блоке справа есть контент, которому нужно больше места, чем минимальная заданная высота, поэтому он увеличился.

Это очень полезно при работе с переменным объемом контента, избегая при этом переполнения.

Часто max-width применяют для уменьшения масштаба изображений, если недостаточно места для их отображения.

Например, если бы вы установили width: 100% для изображения, а его внутренняя ширина была меньше, чем его контейнер, изображение было бы вынуждено растягиваться и становиться больше, в результате чего оно выглядело бы пикселизированным.

Если бы вы вместо этого применили max-width: 100%, и внутренняя ширина изображения была бы меньше, чем его контейнер, изображение не будет принудительно растягиваться и становиться больше, что предотвращает пикселизацию.

В приведенном ниже примере мы использовали одно и то же изображение трижды. Первому изображению было задано width: 100% и оно находится в контейнере, который больше его ширины, поэтому он растягивается до ширины контейнера.

Второму изображению задано max-width: 100%, изображение достигло 100% своей ширины не растягивается, чтобы заполнить контейнер. Третье поле снова содержит то же изображение, также с max-width: 100% в этом случае вы можете увидеть, как он уменьшилось, чтобы поместиться в контейнер.

Этот метод используется для создания отзывчивых изображений, чтобы при просмотре на меньшем устройстве они соответствующим образом уменьшались. Однако вам не следует использовать эту технику для загрузки действительно больших изображений с последующим их уменьшением в браузере. Изображения должны иметь соответствующий размер, чтобы быть не больше, чем они должны быть для самого большого размера, отображаемого в дизайне. Загрузка слишком больших изображений замедлит работу вашего сайта и может стоить пользователям больше денег, если они используют лимитированное соединение.

Примечание: Узнайте больше о методах создания адаптивных изображений.

Вьюпо́рт — это видимая область вашей страницы в браузере, который вы используете для просмотра сайта. В CSS у нас есть единицы измерения, которые относятся к размеру вьюпорта — vw единицы ширины вьюпорта и vh высоты вьюпорта. Используя эти единицы измерения, вы можете изменять размер чего-либо относительно вьюпорта пользователя.

1vh равен 1% от высоты вьюпорта и 1vw равен 1% ширины вьюпорта. Вы можете использовать эти единицы измерения для размеров блоков, а также текста. В приведенном ниже примере у нас есть блок размером 20vh и 20vw. В блоке есть буква A, которой присвоено значение font-size 10vh.

Если вы измените величину vh и vw — это изменит размер блока или шрифт; изменение размера вьюпорта также изменит их размеры, поскольку они имеют размер заданный относительно вьюпорта. Чтобы увидеть изменение примера при изменении размера вьюпорта, вам нужно будет загрузить пример в новое окно браузера, размер которого можно изменить (поскольку встроенное приложение <iframe>, содержащее показанный выше пример, является его окном просмотра). Откройте пример, измените размер окна браузера и посмотрите, что происходит с размером поля и текста.

Размеры объектов задаваемые в соответствии с вьюпортом могут быть полезны в ваших проектах. Например, если вы хотите, чтобы основная секция отображалась перед остальным контентом, установите для этой части страницы высоту 100vh, это приведет к выталкиванию остального контента ниже видимой области, что означает, что он появится только после того, как страницу прокрутят вниз.

В этой статье мы рассмотрели многое, но можете ли вы вспомнить самую важную информацию? Вы можете найти дополнительные тесты, чтобы убедиться, что вы сохранили эту информацию, прежде чем двигаться дальше — см. Проверка своих навыков: задание размеров (en-US).

Этот урок дал вам краткое изложение некоторых ключевых проблем, с которыми вы можете столкнуться при определении размеров объектов в Интернете. Когда вы перейдете к CSS раскладке, изменение размеров станет очень важным для освоения различных методов раскладки, поэтому перед тем, как двигаться дальше, стоит разобраться в концепциях.

  • Назад
  • Обзор: Building blocks
  • Далее
  1. Каскад и наследование
  2. Селекторы CSS
    • Селекторы типа, класса и ID
    • Селекторы атрибута
    • Псевдоклассы и псевдоэлементы
    • Комбинаторы
  3. Блочная модель(The box model)
  4. Фон и границы
  5. Обработка разных направлений текста
  6. Переполнение содержимого
  7. Значения и единицы измерения
  8. Размеры в CSS
  9. Элементы изображений, форм и медиа-элементы
  10. Стилизация таблиц
  11. Отладка CSS
  12. Организация вашей CSS

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

Want to get more involved?

Learn how to contribute.

This page was last modified on by MDN contributors.

Высота — попутный ветер CSS

​Основное использование

​Фиксированная высота

Используйте h-{number} или h-px , чтобы установить для элемента фиксированную высоту.

 
h-96
ч-80
ч-64
h-48
ч-40
h-32
h-24

​Полная высота

Используйте h-full , чтобы установить высоту элемента на 100% от его родительского элемента, если родительский элемент имеет определенную высоту.

 <дел>
  <дел>
    
  

Высота области просмотра

Используйте h-screen , чтобы элемент занимал всю высоту области просмотра.

 <дел>
  

​Применение условно

​Наведение, фокус и другие состояния

Попутный ветер позволяет условно применять служебные классы в различных состояниях, используя модификаторы вариантов. Например, используйте hover:h-full , чтобы применять утилиту h-full только при наведении.

 <дел>
  

Полный список всех доступных модификаторов состояния см. в документации Hover, Focus и других состояний.

​Точки останова и медиа-запросы

Вы также можете использовать модификаторы вариантов для таргетинга медиа-запросов, таких как чувствительные точки останова, темный режим, предпочтения с уменьшенным движением и т. д. Например, используйте md:h-full , чтобы применить h-полная утилита только при средних размерах экрана и выше.

 <дел>
  

Чтобы узнать больше, ознакомьтесь с документацией по адаптивному дизайну, темному режиму и другим модификаторам медиазапросов.


​Использование пользовательских значений

​Настройка вашей темы

По умолчанию шкала высоты Tailwind представляет собой комбинацию шкалы интервалов по умолчанию, а также некоторых дополнительных значений, характерных для высоты.

Вы можете настроить шкалу интервалов, отредактировав theme.spacing или theme.extend.spacing в файле tailwind.config.js .

tailwind.config.js

 module.exports = {
  тема: {
    продлевать: {
      интервал: {
        «128»: «32 бэр»,
      }
    }
  }
}
 

Чтобы настроить высоту отдельно, используйте раздел theme.height файла tailwind.config.js .

tailwind.config.js

 module.exports = {
  тема: {
    продлевать: {
      высота: {
        «128»: «32 бэр»,
      }
    }
  }
}
 

Узнайте больше о настройке темы по умолчанию в документации по настройке темы.

Произвольные значения

Если вам нужно использовать одноразовое значение height , которое не имеет смысла включать в вашу тему, используйте квадратные скобки для создания свойства на лету, используя любое произвольное значение.

 <дел>
  

Узнайте больше о поддержке произвольных значений в документации по произвольным значениям.

CSS-Div-Будьте осторожны при выборе размера Div

CSS-Div-Будьте осторожны при выборе размера ваших Div-ов Главная CSS Div Будьте осторожны при выборе размеров своих Div’ов
Поиск MS Office A-Z   | Поиск веб-страниц/ Дизайн от А до Я

Будьте осторожны при выборе размера элементов Div

Изначально предназначенный как простой инструмент для группировки элементов страницы, тег DIV дает дизайнерам дополнительную гибкость и контроль над макетом, когда он сочетается со свойствами каскадной таблицы стилей (CSS).

  • Инструкции по форматированию (семейство шрифтов, цвет, граница и т. д.)
  • Атрибуты высоты и ширины
  • Абсолютное позиционирование

Дизайнеры используют DIV для создания сложных макетов страниц без использования таблиц. К сожалению, по мере того, как макеты становятся более сложными, проблемы с совместимостью браузеров увеличиваются.

Проблемы совместимости с высотой и шириной

Рассмотрим один из самых простых макетов: две колонки, расположенные рядом. Один содержит меню навигации, а другой содержит содержимое страницы. Это кажется идеальным кандидатом для перехода от макета на основе таблиц к макету CSS.

Это имеет смысл: и DIV, и таблицы могут быть вложенными, иметь установленные атрибуты HEIGHT и WIDTH, содержать границы и т. д. Однако есть одно большое отличие в поведении. Если вы понимаете эту проблему, вы сэкономите много времени на отладку. Запишите это:

Ячейки таблицы растягиваются, чтобы соответствовать помещенному в них содержимому, а элементы DIV — нет!

Как и многие раздражающие проблемы дизайна, основная проблема заключается не в самих правилах CSS, а в том, как браузеры предпочитают их интерпретировать.

Браузеры Mozilla, Netscape и Opera интерпретируют эти значения как точные измерения и не допускают, чтобы значения HEIGHT или WIDTH DIV превышали указанные вами значения. Поэтому, если вы установите свойства HEIGHT и WIDTH для DIV, а затем вставите изображения или текст, которые занимают больше места, на дисплее будет беспорядок.

Internet Explorer намного прощает ошибки. Он считает значения HEIGHT и WIDTH минимальными значениями и расширяет DIV, чтобы он содержал все содержимое, которое вы хотите, — точно так же, как ячейка таблицы.

Кто прав? Ну, Explorer не следует стандартам CSS, выпущенным Консорциумом World Wide Web (W3C), в отличие от других браузеров. Может показаться, что Проводник делает вам одолжение, но подумайте о результате, если вы используете абсолютное позиционирование для размещения всех элементов страницы. Если один DIV отображается больше, чем вы ожидаете, другое важное содержимое может быть скрыто от просмотра!

Сравнение дисплеев Explorer и Netscape

Посмотрите на код HTML ниже. Обратите особое внимание на значения HEIGHT и WIDTH в классах и на изображениях внутри раздела HEAD:

Внутри секции BODY:

Навигация

1 -й пункт меню

.

Заголовок раздела

Материалы о счастливом щенке

Заголовок раздела

Материалы о счастливом щенке

Заголовок раздела

Материалы о счастливом щенке

Заголовок раздела

вещи о счастливом щенке

Обратите внимание, что правило CSS устанавливает WIDTH навигационного DIV на 125 пикселей, но мы разместили изображение внутри самого DIV шириной 163 пикселя. Также обратите внимание на значения HEIGHT в двух DIV. Оба установлены на 75% окна браузера, но навигационному DIV может потребоваться больше места.

Вот как это отображается в Проводнике 6.0. Навигационный DIV расширяется вправо, чтобы содержать полное изображение логотипа Happy Puppy и элементы меню. Обратите внимание, что DIV меню выше, чем DIV содержимого.

В Netscape 7.1 отображается весь логотип Happy Puppy, но ширина навигационного DIV не растягивается, чтобы вместить его. Вот почему большая часть текста содержимого DIV перезаписывает изображение логотипа. Высота обоих DIV фиксирована и составляет 75%, поэтому дополнительный контент просто заканчивается в пустом пространстве ниже.

Ни одна из страниц не выглядит великолепно, но версия Explorer, по крайней мере, читабельна.

Вложенное решение DIV для Explorer

Несмотря на то, что версия Explorer выглядит лучше, она все же не идеальна. К счастью, это легко исправить, хотя это решение только для Explorer!

Поместите оба элемента DIV в контейнер DIV, для которого задано значение 100 % от высоты страницы, и установите оба внутренних элемента DIV на 100 %. Они заполнят контейнер DIV, и высота обоих будет равна.

Измените свойство HEIGHT обоих DIV на 100% и добавьте этот класс стиля в свои правила CSS: .container{height:100%} , а затем примените его к контейнеру DIV в разделе BODY:

… содержимое навигации DIV…

… содержимое содержимого DIV…

Вот результат в Проводнике:

Отображение в Netscape не меняется, когда вы делаете это, но версия Explorer близка к тому, что вы ожидаете. Если вы уверены, что все (или, по крайней мере, подавляющее большинство) ваших посетителей используют Explorer, это решит вашу проблему. Это отличное решение для компоновки без таблиц.

Свойство переполнения

Если вам нужно кроссбраузерное решение, возможно, вам подойдет свойство ПЕРЕПОЛНЕНИЕ. Стандарт W3C описывает ситуацию так:

«Как правило, содержимое блочного блока ограничивается краями содержимого блока. В некоторых случаях блок может переполняться, что означает, что его содержимое частично или полностью находится за пределами блока. ..»

Свойство ПЕРЕПОЛНЕНИЕ может иметь одно из четырех различных значений:

  • Видимый — Содержимое может отображаться за пределами DIV.
  • Скрытый — Дополнительный контент вообще не отображается.
  • Прокрутка — содержимое не отображается за пределами DIV, но отображается с помощью полос прокрутки.
  • Авто — это значение зависит от пользовательского агента, но обычно создает полосы прокрутки.

Добавление свойства OVERFLOW к обоим разделам DIV сохраняет содержимое внутри разделов DIV, но также создает ощущение «рамки», что может не понравиться ни дизайнерам, ни посетителям.

Когда мы добавляем правило CSS «overflow:scroll» в контейнер DIV, мы получаем это отображение в Netscape 7.1 и Explorer:

Обратите внимание на полосу прокрутки справа. Содержимое раздела контейнера будет прокручиваться, а навигация останется статической.

Автор записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *