Helpers - компьютеры, интернет, программирование

Как изменить ширину желоба Bootstrap Fluid Grid по умолчанию с 12 столбцами

Я хочу узнать, известно ли какое-либо простое решение для изменения желоба с помощью жидкой системы начальной загрузки по умолчанию с 12 сетками (2.3.0).

Я не знаком с LESS, но если это ответ, пожалуйста, также опишите, как его можно изменить. То же самое с Сассом.

Обратите внимание, что вполне допустимо изменить ширину желоба, наполовину или на одну четвертую, например, если это может упростить задачу.

Должны быть достигнуты следующие цели:

  1. Должна быть возможность обновить загрузчик в будущем. Это означает, что не нужно редактировать файлы начальной загрузки.
  2. Функциональность должна оставаться для всех остальных объектов.
  3. Должно быть просто. Менее 10 строк CSS. Например, добавленный класс или что-то в этом роде.

Я искал в Stack Overflow и до сих пор не знаю, как я могу сделать что-то подобное. Насколько я понимаю, загрузка настроенного Bootstrap отображает только пользовательскую ширину желоба для негибких сеток. Раньше я кодировал свою собственную систему гибкой сетки, поэтому я понимаю математику, но я беспокоюсь, что могут быть последствия, и было бы полезно, если бы можно было поделиться любыми известными проблемами с переопределениями классов.

Я обещаю отдать должное там, где это необходимо.

ОБНОВИТЬ:

Изменение меньшего количества переменных, как описано в ответе Йоды, - это путь. У кого-нибудь есть опыт изменения этих переменных? Например, я считаю, что переменные, которые необходимо изменить, следующие:

// Fluid grid
// -------------------------
@fluidGridColumnWidth:    percentage(@gridColumnWidth/@gridRowWidth);
@fluidGridGutterWidth:    percentage(@gridGutterWidth/@gridRowWidth);

// 1200px min
@fluidGridColumnWidth1200:     percentage(@gridColumnWidth1200/@gridRowWidth1200);
@fluidGridGutterWidth1200:     percentage(@gridGutterWidth1200/@gridRowWidth1200);

// 768px-979px
@fluidGridColumnWidth768:      percentage(@gridColumnWidth768/@gridRowWidth768);
@fluidGridGutterWidth768:      percentage(@gridGutterWidth768/@gridRowWidth768);

Как можно изменить что-то подобное? Возможно:

@fluidGridGutterWidth768:      percentage(1.5);  

Если кто-то делал это раньше, я был бы признателен за толчок в правильном направлении.


  • Если у вас есть ответ, пожалуйста, либо отредактируйте существующий принятый ответ; или напишите свой ответ. Ответы не должны помещаться в вопрос (поэтому они и называются вопросами). 28.07.2014

Ответы:


1

Вероятно, самый простой способ — использовать настраиваемую загрузку, которую предоставляет Twitter Bootstrap. Измените переменную @fluidGridGutterWidth в соответствии с вашими потребностями в форме. Загрузите меньше файлов отсюда. Вы можете получить доступ к файлу variable.less из проекта начальной загрузки github, а затем изменить этот фрагмент кода:

    // Fluid grid
// -------------------------
@fluidGridColumnWidth:    percentage(@gridColumnWidth/@gridRowWidth);
@fluidGridGutterWidth:    percentage(@gridGutterWidth/@gridRowWidth); // <= this one

Сначала я думал, что у вас есть доступ к меньшему количеству файлов, а потом я понял, что вы используете настраиваемый графический интерфейс на веб-сайте. Просто загрузите меньше файлов и внесите изменения. Затем скомпилируйте меньше файлов, чтобы получить файл css, или используйте меньше для разработки. Вы можете использовать css или min.css для развертывания.

12.02.2013
  • Опишите, что вы имеете в виду. К вашему сведению, ссылка мертва. Я не нашел никакой переменной @fluidGridGutterWidth в настройках начальной загрузки. 12.02.2013
  • Только статические переменные ширины желоба для каждого медиа-запроса. 12.02.2013
  • Я поставил вам +1 на данный момент, и как только я заработаю, я поставлю вам галочку. Спасибо. 12.02.2013
  • Это должно работать, это зависит от того, что вы используете в процентах (), поскольку вы можете видеть, что теперь у вас есть исходный код, независимо от того, что компилируется в файл css, это ваша логика. 12.02.2013
  • У меня меньше файлов, но это не кажется интуитивно понятным. Возможно, вы могли бы указать мне правильное направление для начала. Например, что бы я здесь изменил, забыв про математику:fluidGridGutterWidth1200:процент(gridGutterWidth1200/gridRowWidth1200); Сделать его плавнымGridGutterWidth1200: процент (1,5)? Я убрал символы at из-за ограничений на комментарии. 12.02.2013
  • Эти значения зависят от ширины столбца и ширины промежутка между этими столбцами, которые вы хотите иметь для своей страницы. Как вы могли видеть, они определяют эти переменные в трех разных разрешениях. Обратитесь к своему дизайну, как бы вы хотели, чтобы ширина столбца и желоба была, поскольку все зависит от этого. 12.02.2013
  • Скажем, возможно, вы хотите, чтобы каждый столбец составлял 7,5%. Таким образом, маржа составит 0,90909%. Как бы вы это реализовали? 12.02.2013
  • FluidGridColumnWidth1200: процент (7,5); FluidGridGutterWidth1200: процент (0,90909); Так? 12.02.2013
  • Я дал вам ответ, поскольку вы ответили на мой главный вопрос. Детали, я думаю, я выясню в конце концов. Если я снова застряну, я задам еще один вопрос. Спасибо за помощь. Если я полностью выясню это, я обновлю все подробности в своем вопросе для будущих пользователей. 12.02.2013
  • как вы скомпилируете меньше файлов в два основных файла CSS? 15.05.2013
  • @streetlight есть 2 способа сделать это: либо на стороне клиента, либо на стороне сервера, компиляция less в css. для целей разработки вы можете перейти на клиентскую сторону (не очень хорошо для производительности, загрузка страницы займет время из-за процесса компиляции), но это хорошая настройка среды серверной части компиляции. lesscss.org/#usage предназначен для клиентской части. Я использую компилятор без точек для своих проектов asp.net для компиляции на стороне сервера dotlesscss.org. 16.05.2013
  • Я исправил неработающую ссылку. 29.09.2013

  • 2

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

    Просто создайте 2 класса css, чтобы переопределить области, в которых вы хотите изменить желоб.

    Примените это на уровне «строки».

    .row-5-gutter{
        margin-left: -5px;
        margin-right: -5px;
    }
    

    Примените это на уровне «столбца».

    .col-5-gutter{
        padding-left: 5px;
        padding-right: 5px;
    }
    

    демо: http://jsfiddle.net/tg7Ey/

    21.03.2014
  • Кажется, это единственное решение, основанное только на CSS, которое действительно работает для сценариев, которые я тестирую. 09.01.2015

  • 3

    Я тоже искал простое решение этой проблемы. Моей целью было использовать простой CSS, а не МЕНЬШЕ. Этот ответ, как и любой другой, который я нашел, основан на компиляции LESS или использовании онлайн-компилятора начальной загрузки. Поэтому я попытался найти собственное решение.

    Читая документацию, вы найдете следующее о ширине желоба: Столбцы создают желоба (промежутки между содержимым столбцов) с помощью отступов. Это заполнение смещено в строках для первого и последнего столбца через отрицательное поле в .rows.

    Исходя из этого, я попробовал следующее:

    .container {padding-left:1px;padding-right:1px;}
    .row {margin-left:-1px;margin-right:-1px;}
    .row > div {padding-left:1px;padding-right:1px;}
    

    Отныне ширина желоба была всего 2 пикселя. Моя следующая проблема заключалась в том, что моя предполагаемая ширина была нечетным числом. Мое решение состояло в том, чтобы удалить отступы и поля слева и поместить их полностью справа:

    .container {padding-left:0;padding-right:5px;}
    .row {margin-left:0;margin-right:-5px;}
    .row > div {padding-left:0;padding-right:5px;}
    

    Теперь у меня есть ширина желоба 5 пикселей.

    Я не проверял это во всех возможных сценариях, которые вы можете использовать при загрузке. Особенно вы должны обратить внимание на использование только столбцов-div внутри row-div внутри контейнера-div. Но в моем случае это было очень эффективное решение, не затрагивающее исходный код бутстрапа и не использующее LESS-компилятор.

    19.11.2013
  • Какую версию Boostrap вы используете? Известно ли вам о новой версии, которую можно найти на getbootstrap.com? 19.11.2013
  • Я использовал версию 3.0.2 08.03.2014
  • Новые материалы

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

    Использование машинного обучения для диагностики болезни Альцгеймера, часть 4
    Маркеры семантической согласованности для ранней диагностики болезни Альцгеймера (arXiv) Автор: Давиде Колла , Маттео Дельсанто , Марко Агосто , Бенедетто Витиелло , Даниэле Паоло Радичони..

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

    Анимированный математический анализ
    Использование Manim для создания математических анимированных визуализаций Визуализация данных помогает понять скрытые закономерности в данных, которые невозможно визуализировать..

    Создание простого слайдера изображений с помощью JavaScript
    Узнайте, как создать базовый слайдер изображений с помощью HTML, CSS и JavaScript. Введение В этом уроке мы создадим удобный слайдер изображений, используя JavaScript, HTML и CSS. Ползунок..

    Создание базы данных с помощью супергероя «Python»
    В этом посте мы узнаем, как создать «базу данных SQLite с помощью модуля python sqlite3, создав простую функцию входа и регистрации. Готовы ли вы к этому путешествию? Если да , давайте приступим..

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