• В чем отличие Bootstrap 3.3 от Bootstrap 3.0?

    Вы можете посмотреть историю изменений на GitHub на вкладке Releases. Изменений слишком много, чтобы прикладывать здесь полный список.
    Ответ написан
    Комментировать
  • Как изменить настройки SublimeText?

    Перейдите в пункт меню Preferences - Key Bindings и разместите в секции User следующий код:

    { "keys": ["enter"], "command": "insert", "args": {"characters": "\n\t"}, "context":
    	[
    		{ "key": "setting.auto_indent", "operator": "equal", "operand": true },
    		{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
    		{ "key": "preceding_text", "operator": "regex_contains", "operand": "\\{$", "match_all": true },
    		{ "key": "following_text", "operator": "regex_contains", "operand": "^\\}", "match_all": true },
    		{ "key": "selector", "operator": "equal", "operand": "source.css" }
    	]
    }


    Это изменение приведет к тому, что после нажатия клавиши enter в css файле у вас помимо переноса строки будет добавляться символ табуляции. При нажатии на { поведение будет аналогичным. Как в случае пустых скобок:
    .test {
    	}


    Так и в случае с автоматической подстановкой скобок:

    .test // нажимаем здесь {
    	width: 40px;


    .test {
    	width: 40px;} // автоматически подставляется }
    Ответ написан
    Комментировать
  • Как изменить размер вкладкок в Sublime Text 3?

    Откройте меню Preferences - Settings.
    В пользовательских настройках добавьте один из вариантов:

    • "spacegray_tabs_small": true
    • "spacegray_tabs_normal": true
    • "spacegray_tabs_large": true
    • "spacegray_tabs_xlarge": true


    Эти настройки определяют высоту вкладок. Остальные настройки можно посмотреть на странице проекта.
    Ответ написан
    Комментировать
  • Sublime Text как выделить четные строки?

    Перевод ответа на stackoverflow.com

    1. Вызовите строку поиска: Ctrl+F
    2. Если поиск по регулярным выражениям еще не был активирован, нажмите Alt+R
    3. Вбейте в поиск выражение (.*(\n|$)){2}
    4. Выполните поиск по файлу: Alt+Enter
    5. Нажмите стрелку влево, чтобы избавиться от выделения и оставить только курсоры: ←
    6. Теперь у вас выделены все нечетные строки. Если нужно выделить четные, нажмите стрелку вниз: ↓
    Ответ написан
    Комментировать
  • Как в Sublime 3.0 не закрывать окно замены?

    К сожалению, поведение кнопки "Replace all" изменить нельзя.
    Однако можно изменить поведение окошка замены при нажатии комбинации клавиш Ctrl + Alt + Enter.

    Открываем меню Preferences - Key Bindings.
    Ищем в левой секции (Default) раздел Replace panel key bindings и копируем оттуда значение для действия после нажатия комбинации "ctrl+alt+enter". Из него нужно удалить вот эту часть:

    "args": {"close_panel": true}

    и вставить его в правую секцию (User).
    Если других сочетаний клавиш не было создано, код в пользовательской части будет таким:

    [
    	{ "keys": ["ctrl+alt+enter"], "command": "replace_all", "context": [{"key": "panel", "operand": "replace"}, {"key": "panel_has_focus"}] }
    ]


    После это при нажатии Ctrl + Alt + Enter будет производится замена всех совпадений и не будет закрываться окошко замены текста.
    Ответ написан
    Комментировать
  • Как сделать чтобы цвета менялись попеременно при нажатии на элементы?

    Можно использовать radio, объединенные в группу, вместо checkbox: https://jsfiddle.net/yp1tx1u1/3/

    <input class="i1" type="radio" id="toggle" name="toggle">
    <label for="toggle" class="to-be-changed">Нажми меня!
      <p >Здесь будет красный цвет. Или уже есть...</p>
    </label >
    <input class="i2" type="radio" id="toggle2" name="toggle">
    <label for="toggle2" class="to-be-changed2">Нажми меня!
      <p >Здесь будет красный цвет. Или уже есть...</p>
    </label >


    input[type=radio] {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }
    
    label {
        display: block;
        background: #08C;
        padding: 5px;
        border: 1px solid rgba(0,0,0,.1);
        border-radius: 2px;
        color: white;
        font-weight: bold;
    }
      
    .i1:checked ~ .to-be-changed,
    .i2:checked ~ .to-be-changed2{
        background: red;
    }
    Ответ написан
    Комментировать
  • Такое вообще реально сверстать?

    Разметка:
    <div class="container">
      <div class="container-block panel -gray">
        <div class="panel-element -light-gray"></div>
        <div class="panel-element -light-gray"></div>
        <div class="panel-element -light-gray"></div>
        <div class="panel-element -light-gray"></div>
      </div>
      <div class="container-block promo -gray"></div>
      <div class="container-block content">
        <div class="aside">
          <div class="menu">
            <div class="menu-item -gray"></div>
            <div class="menu-item -gray"></div>
            <div class="menu-item -gray"></div>        
          </div>
          <div class="banner -gray"></div>
        </div>
        <div class="main -gray"></div>
      </div>
      <div class="container-block panel -gray"></div>
    </div>


    Стили:
    * {
      box-sizing: border-box;
    }
    
    body {
      margin: 0;
    }
    
    .-gray {
      background-color: #333;
    }
    
    .-light-gray {
      background-color: #d6d6d6;
    }
    
    .container {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      align-items: stretch;
      min-height: 100vh;
    }
    
    .container-block + .container-block {
      margin-top: 30px;
    }
    
    .panel {
      display: flex;
      flex-wrap: nowrap;
      justify-content: flex-start;
      padding: 10px;
      height: 50px;
    }
    
    .panel::after {
      content: '';
      flex: 1;
    }
    
    .panel-element {
      width: 75px;
      height: 30px;
    }
    
    .panel-element + .panel-element {
      margin-left: 10px;
    }
    
    .panel-element:last-child {
      order: 1;
    }
    
    .promo {
      height: 120px;
    }
    
    .content {
      flex: 1;
      display: flex;
      justify-content: space-between;
      align-items: stretch;
      padding-left: 30px;
      padding-right: 30px;
    }
    
    .aside {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      width: 200px;
      margin-right: 30px;
    }
    
    .main {
      flex: 1;
    }
    
    .menu-item {
      height: 40px;
    }
    
    .menu-item + .menu-item {
      margin-top: 15px;
    }
    
    .banner {
      margin-top: 30px;
      height: 150px;
    }


    Результат
    Ответ написан
    6 комментариев
  • Как с помощью artisan осуществить migrate:rollback или :refresh только одной таблицы?

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

    Вы можете:
    1. Выполнить необходимые вам манипуляции в рамках новой миграции. Это наиболее разумно.
    2. Хакнуть существующие миграции.

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

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

    Вопрос решается с помощью модификации таблицы `migrations` в базе данных.
    Измените значение `batch` таким образом, чтобы искомая миграция стала последней в списке и была единственной с таким значением `batch`. Сортировка в таблице `migrations` идет по полю `batch` по возрастанию.

    После этого вы сможете выполнить команду `php artisan migrate:rollback`, которая откатит искомую миграцию.
    Ответ написан
    Комментировать
  • Ошибка в работе с базой данных в запросе с JOIN Laravel v5?

    Распечатайте запрос с помощью метода toSql() и перепроверьте, экранирован ли у вас столбец code обратными кавычками. Это зарезервированное ключевое слово. Скорее всего проблема в этом.
    Ошибка однозначно говорит о том, что в запросе используется зарезервированное ключевое слово.

    Список новых ключевых слов в MySQL 5+
    Ответ написан
  • Регулярные выражения, отрицание слова?

    Всего-то и нужно, что уменьшить жадность квантификатора:
    /(x1)[\s\S]*?(x2)/u
    Посмотреть пример
    Ответ написан
    1 комментарий
  • Как правильно сделать растягивание кнопок псевдоэлементом:after?

    Пояснения из этой статьи: Загадочные отступы» между инлайн-элементами

    Причина кроется в том, что, inline-block ведет себя, как обычная буква, а значит так же, как и простой текст — имеет пробелы между словами. Эти пробелы можно отчётливо наблюдать в разных веб-инспекторах, например таких как "IE WebDeveloper" для Internet Explorer.
    Браузер создаёт пустой текстовый узел, который, по сути, может являться переводом строки, пробелом или, например, табом. Все и эти перечисленные вещи превращаются в один единственный пробел и описывается следующей сущностью: . Так же следует учитывать, что, так как пробел — это обычный символ, то, соответственно, и изменяться этот самый символ будет в зависимости от размера или семейства шрифта, т.е, по сути, вести себя точно также, как и обычная буква в строке. Всё это обязательно следует учитывать при вёрстке.


    .author-wrapper {
        font-size: 0;
        line-height: 0;
    }
    .sign-social,
    .author-submit {
        font-size: normal;
        line-height: normal;
    }


    Пример решения
    Ответ написан
    Комментировать
  • Проблема в html документе?

    Ваши .html файлы заражены VB Trojan-Dropper.
    На этом сайте есть утилита для автоматического удаления вредоносного кода из .html и .htm файлов.
    Не забудьте проверить свой компьютер антивирусом.
    Ответ написан
    1 комментарий
  • Как выровнять текст в таблице по столбцам?

    table tr td{
      text-align: right;
    }
    table tr td:first-child{
      text-align: left;
    }

    Первая колонка выравнена по левому краю, остальные по правому. Поддержка first-child браузерами.
    Ответ написан
    Комментировать
  • Деобфускация странного php кода?

    Деобфусцировать можно тут: phpdecoder

    Что это: WSO Version 2.5 (веб-шелл)

    Описание:
    - Авторизация
    - Информация о сервере
    - Файловый менеджер (Копирование, переименование, перемещение, удаление, чмод, тач, создание файлов и папок)
    - Просмотр, hexview, редактирование, давнлоад, аплоад файлов
    - Работа с zip архивами (упаковка, распаковка)
    - Консоль
    - SQL менеджер (MySql, PostgreSql)
    - Выполнение PHP кода
    - Работа со строками + поиск хеша в онлайн базах
    - Биндпорт и бек-коннект (Perl)
    - Поиск текста в файлах
    - *nix/Windows
    Из фишек
    - Антипоисковик (проверяется User-Agent, если поисковик, тогда возвращается 404 ошибка)
    - Консолька запоминает введенные команды. (перемещаться по ним можно с помощью стрелок вверх, вниз при фокусе на поле для ввода)
    - Можно использовать AJAX
    - Малый вес (22.8 KB)
    - Выбор кодировки, в которой работает шелл.
    Ответ написан
    Комментировать
  • Как разбить строку на символы?

    Вам нужна функция str_split
    Для кириллицы:

    mb_regex_encoding('UTF-8');
    mb_internal_encoding("UTF-8");
    $charlist = preg_split('/(?<!^)(?!$)/u', $string);
    Ответ написан
    Комментировать
  • Что делать, если после переустановки Windows 7 пропала часть объема HDD?

    Скорее всего, Windows не назначила диску букву. Решение:
    Пуск -> Панель управление -> Администрирование -> Управление компьютером -> Запоминающие устройства -> Управление дисками
    Щелкаем правой кнопкой мыши на нужном разделе -> Изменить букву диска или путь к диску... -> Добавить -> Назначить букву диска (A-Z)
    Ответ написан
    1 комментарий
  • Почему могут не подгружаться изображения при ajax запросе в google chrome?

    Думаю, проблема в установленных расширениях. Уже сталкивался с таким.
    В моем случае был виноват AdBlock.
    Попробуйте протестировать в режиме инкогнито (Ctrl + Shift + N)
    Ответ написан