Подтвердить что ты не робот

Использование mixins в bootstrap 3, чтобы избежать нестандартной разметки для структуры макета

Я относительно новичок и для бутстрапа, и для меньшего количества, и это тестовый прогон. Цель состоит в том, чтобы взять классы начальной загрузки и превратить их в простые и семантические классы, используя меньше. Я продолжаю получать сообщения об ошибках, говорящие, что .col-sm-12 и .col-md-8 undefined.

Как мне решить эту проблему.

    /*less styles file*/

@import "bootstrap.min.css";

@boom: #ea7000;

@screen-sm: ~"(min-width:768px)";
@screen-md: ~"(min-width:992px)";
@screen-lg: ~"(min-width:1200px)";

.tim    {
    height: 200px;
        @media screen, @screen-sm   {
            background-color: black;
            .col-sm-12;
        }
        @media screen, @screen-md{
            background-color: @boom;
            .col-md-8;
        }
}
4b9b3361

Ответ 1

Вы должны импортировать файл bootstrap.less. Итак, загрузите весь проект начальной загрузки и скопируйте меньшую папку. Он содержит все. Затем добавьте меньше папки в свой проект. Кроме того, обязательно добавьте файл less.js в свой проект, если вы хотите, чтобы ваши данные были меньше скомпилированы во время работы. Посмотрите на lesscss.org для получения дополнительной информации. А также убедитесь, что у вас есть локальный сервер, например mamp или xamp, потому что вы не можете видеть результаты, если вы просто используете статический html из файла://....

enter image description here

В вашем пользовательском файле меньше примерно так:

custom.less

@import "../less/bootstrap.less";

 section {
    .make-row();
}
.left-navigation {
    .make-sm-column(3);
}
.main-content {
    .make-sm-column(9);
}

HTML

<head>
    <link rel="stylesheet/less" href="css/custom.less">
    <script src="//cdnjs.cloudflare.com/ajax/libs/less.js/1.4.1/less.min.js"></script>
</head>
<section>
<div class="left-navigation">
</div>
<div class="main-content">
</div>
</section>

Ответ 2

Если ваша цель состоит в том, чтобы сделать красивый семантический HTML, используя Bootstrap, я бы посоветовал вам отказаться от настоящего или лицевого безумия. Я довольно болезненно обнаружил, что попытка получить смысловую разметку из BS 2 невозможна. Для достижения того, чего вы хотите, требуется сложная вложенность, а не микшированная архитектура, даже если вы используете меньше или меньше. Кроме того, классы и идентификаторы ссылаются на его компоненты JavaScript, поэтому их нельзя изменить. Вы можете создавать свои собственные стили, но это побеждает цель использования фреймворка, такого как BS. Я не могу комментировать версию 3 и хотел бы услышать, как другие люди переживают это.

Ответ 3

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

CSS

@import "less/variables.less";
@import "less/mixins/grid-framework.less";
@import "less/mixins/grid.less";

.firstItem {
    .make-xs-column-offset(3);
    .make-xs-column(1);
    .make-sm-column-offset(3);
    .make-sm-column(1);
    .make-md-column-offset(3);
    .make-md-column(1);
    .make-lg-column-offset(3);
    .make-lg-column(1);
}
.middleItem {
    .make-xs-column(1);
    .make-sm-column(1);
    .make-md-column(1);
    .make-lg-column(1);
}
.lastItem {
    .make-xs-column(5);
    .make-xs-column(5);
    .make-xs-column(5);
    .make-xs-column(5);
}

HTML

<div class="firstItem">
    first item stuff
</div>
<div class="middleItem">
    middle item stuff
</div>
<div class="middleItem">
    middle item stuff
</div>
<div class="middleItem">
    middle item stuff
</div>
<div class="lastItem">
    last item stuff
</div>