Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Установка максимальной ширины тела с помощью Bootstrap

Автор вопроса: Olly FОтветов: 5

Я создаю свой первый сайт с помощью Twitter Bootstrap и экспериментирую с плавными макетами. Я сделал свой контейнер плавным, теперь содержимое внутри занимает всю ширину страницы и адаптируется по мере изменения размера браузера.

Дизайн, над которым я работаю, был создан для максимальной ширины ~ 950 пикселей.

Я проверил variables.less и responsive.less, а также документацию Bootstrap; Я не совсем понимаю, как это сделать.

Я также пробовал добавить в свой style.css следующее:

body {
    max-width: 950px;
}
  • ваше правило css работает, что с ним не так? демонстрация Andres Ilich 16.03.2012
  • В порядке. Повторная попытка. Раньше он не работал, но это могло быть связано с некоторыми проблемами, которые у меня возникли с LESS / Espresso / Codekit. Мои файлы LESS некорректно компилируются. Однако теперь, когда это работает, body выравнивается по левому краю, а не по центру, как раньше. Какие-либо предложения? Я пробовал установить margin на auto для левого и правого. Olly F 16.03.2012
  • @OllyF Подождите, вы хотите, чтобы ваш контейнер был шириной 950 пикселей, а не весь документ? Я сбит с толку, по умолчанию контейнер, не являющийся жидким, имеет ширину 940 пикселей, поэтому он ниже вашего ограничения. Andres Ilich 16.03.2012
  • Насколько я понимаю, лучше, если body будет иметь max-width, на всякий случай, если я захочу сделать что-то вне контейнера. В общем, если отбросить это, я имею дело с контейнером для жидкости. Когда я устанавливаю свой контейнер на жидкость, он расширяется на всю ширину тела. Вот почему я пытаюсь установить максимальную ширину тела. Olly F 16.03.2012
  • @OllyF просто удалите соответствующий медиа-запрос, который имеет дело с недопустимой шириной, и все должно быть в порядке, или вместо этого используйте фиксированный контейнер. Andres Ilich 16.03.2012
  • Я не уверен, что понимаю, как определить или обработать соответствующий медиа-запрос. Я знаю, что он будет в responseive.less. Я не знаю, что ищу и что с этим делать. Olly F 16.03.2012

htmlcsstwitter-bootstrap

Ответы

Ответ 1 · рейтинг 26 · maxisam

Изменить

Лучший способ сделать это:

  1. Создайте свой собственный файл less в качестве основного файла less (например, bootstrap.less).

  2. Импортируйте все нужные файлы без начальной загрузки. (в этом случае вам просто нужно Импортировать все менее отзывчивые файлы, кроме responsive-1200px-min.less)

  3. Если вам нужно что-то изменить в исходном файле bootstrap less, вам просто нужно написать свой собственный less, чтобы перезаписать код bootstrap less. (Просто не забудьте указать меньше кода / файла после @import { /* bootstrap's less file */ };).

Исходный

У меня точно такая же проблема. Вот как я это исправил.

Найдите медиа-запрос:

@media (max-width:1200px) ...

Убери это. (Я имею в виду все это, а не только @media (max-width:1200px))

Поскольку ширина Bootstrap по умолчанию составляет 940 пикселей, вам не нужно ничего делать.

Если вы хотите иметь свой собственный max-width, просто измените правило CSS в медиа-запросе, которое соответствует вашей желаемой ширине.

Ответ 2 · рейтинг 179 · jcg

Вам не нужно изменять адаптивность к начальной загрузке, удаляя @media (max-width:1200px) ...

У моего приложения max-width 1600 пикселей. Вот как это сработало для меня:

  1. Создайте bootstrap-custom.css - насколько это возможно, я не хочу переопределять свой исходный bootstrap css.

  2. Внутри bootstrap-custom.css переопределите контейнер-жидкость, включив этот код:

Нравится:

/* set a max-width for horizontal fluid layout and make it centered */
.container-fluid {
  margin-right: auto;
  margin-left: auto;
  max-width: 1600px; /* or 950px */
}

Ответ 3 · рейтинг 8 · Henry

В responseive.less вы можете закомментировать строку, импортирующую responseive-1200px-min.less.

// Large desktops

@import "responsive-1200px-min.less";

Вот так:

// Large desktops

// @import "responsive-1200px-min.less";

Ответ 4 · рейтинг 1 · chech

К сожалению, ничего из вышеперечисленного не решило для меня проблему.

Я не хотел редактировать bootstrap-responseive.css, поэтому пошел простым путем:

  1. Создайте CSS с приоритетом над bootstrap-responsive.css
  2. Скопируйте все содержимое @media (min-width: 768px) and (max-width: 979px) (строка 461 с последней версией начальной загрузки 2.3.1 на сегодняшний день)
  3. Вставьте его в свой css с высоким приоритетом
  4. В CSS поместите @media (min-width: 979px) на то место, где раньше было сказано @media (min-width: 768px) and (max-width: 979px). Это устанавливает стиль от 768 до 979 для всего выше 768.

Вот и все. Это не оптимально, у вас будет дублированный css, но он работает на 100% идеально!

Ответ 5 · рейтинг 1 · Celdor

Не знаю, указывалось ли здесь на это. Параметры ширины .container должны быть установлены на веб-сайте Bootstrap. Мне лично не нужно было ничего редактировать или трогать что-либо в файлах CSS, чтобы настроить свой .container размер, который составляет 1600 пикселей. На вкладке "Настройка" есть три раздела, отвечающих за мультимедиа и отзывчивость Интернета:

  • Точки останова медиа-запросов
  • Сетка
  • Размеры контейнера

Помимо точек останова медиа-запросов, на которые, как я полагаю, ссылается большинство людей, я также изменил @container-desktop на (1130px + @grid-gutter-width) и @container-large-desktop на (1530px + @grid-gutter-width). Теперь .container изменяет свою ширину, если мой браузер масштабируется до ~ 1600 пикселей и ~ 1200 пикселей. Надеюсь, это поможет.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы