Задать вопрос
  • Неадекватная работа блока input, как исправить?

    Caprikanec, претензия не к вашим навыкам, а к тому, что вы, сталкиваясь с проблемой, предпочитаете ссылаться на магию.
    Добавил вариант решения.
  • Неадекватная работа блока input, как исправить?

    Правильно зачем скидывать url на свой код. Вангую, что на странице дублируются элементы или неправильно написаны алгоритмы. Магии в JavaScript не бывает, скорей всего дело в его неумелом использовании.
  • Как получить доступ к данным из соседнего окна браузера?

    ArduinoGirl, возможно, проблему можно решить обращаясь к API сервиса со своего сервера через прокси(US, GB) и рассылая обновления клиентам по websocket.
  • Тестирование в React, в чем ошибка?

    rockon404
    @rockon404 Куратор тега React
    mr jeery, в методе render у вас код:
    const tifOptions = Object.keys(this.props.total).filter(key =>
          this.props.total[key]!='0'
        ).map(key => (
          <div className="balance__list" value={key}>
            <b>{key}</b>: {parseFloat(this.props.total[key].toFixed(5))}
         </div>
      ));

    при отрисовке он выполняется и вызов Object.keys(this.props.total) спровоцирует ошибку, так как this.props.total в будет undefined
    Демо.
  • Почему отрицательный margin не работает?

    Dubrovin,
    0. вы сначала пишите, что вам нужна сетка с фиксированными элементами, а затем скидываете пример с резиновыми элементами. Ваши элементы больше не фиксированные, так как вы добавили flex-grow. Не надо так. Учитесь точно формулировать требования.
    1. По поводу сетки без медиазапросов. Я вам написал выше, что в таком случае медиазапросы ставят на контейнер. В противном случае при схлопывании сетки, она будет уже остального контента на странице. Что в большинстве случаев не должно происходить.
    Решайте задачи опираясь на реальные кейсы.
    2. Само решение с overflow: hidden - грубейший и нелепейший костыль. Попробуйте добавьте в элементы своей сетки dropdown или всплывающий tooltip и везде где они будут выходить за край сетки, они будут скрыты за overflow.
    3. Ваша навязчивое желание уложиться 1кб в 2018 году не несет под собой никаких объективных плюсов. Надуманные предрассудки и экономия на спичках.
    4. Если у вас не работают готовые решения, написанные профессионалами и прошедшие проверку временем, вывод напрашивается только один, вы не умеете их использовать.
    5. Нижний margin в верстке сетки не костыль, в отличии от отрицательного.
    6. Я вам своего решения не предлагал, разве скидывал фидл с простым и изящным решением, на случай если не нужна сетка и отрывок кода из Twitter Bootstrap 4. Если вы думаете, что вы лучший программист, чем команда Twitter, то вы очень сильно ошибаетесь.
    Если вы в их решении замените padding на margin, то вся ваша верстка рассыпется. Лучше попробуйте детально разобрать их решение, посмотреть на бесчисленные кейсы применения и подумать, почему их универсальная сетка получилась именно такой какая она есть. Очень развивает.
    7. Мы в компании как раз не используем готовых решений. Не используем по той простой причине, что умеем верстать и проектируем компоненты исходя из реальных задач, а проекты у нас большие и долгосрочные. Вам же я рекомендую не изобретать велосипеды и отталкиваться от решений профессионалов, так как, насколько я вижу, вы и верстаете плохо и опыта у вас, видимо, совсем нет, так как в ваших попытках найти решение уже промелькнула целая куча грубых костылей, которые дали бы о себе знать при попытке такое решение использовать.

    Повторюсь. Проектируйте компоненты и их поведение исходя из реальных задач. Если надо универсальное решение, лучше берите готовое написаное профессионалами.
  • Почему отрицательный margin не работает?

    Alexander Litvinenko, когда нет другого выхода и действительно знаешь, что делаешь, то спору нет. Но поддерживать и масштабировать проще когда не используешь таких радикальных мер или хотя бы сводишь такие приемы к минимуму.
    В данном случае, возможно, отрицательный margin и будет оптимальным решением. Хотя требования к сетке, имхо, высосаны из пальца и ничем внятным не обоснованы.

    Dubrovin, на практике такое обычно не применяют, так как нижний margin в большинстве кейсов если и не необходимость, то приветствуется.
    А нужна сетка, которая будет отталкиваться от минимальной ширины элемента, чтобы если несколько элементов не помещаются в контейнер при сжатии,

    С такими требованиями у вас точно не получится универсальной сетки. это как минимум будет некрасиво и непредсказуемо смотреться, когда контент в контейнере разной ширины. В таком случае ваши карточки блога и портфолио будут смотреться весьма печально.
    Если вы посмотрите сайты с сетками заполненными фиксированными элементами, то по-хорошему они работают немного по другим правилам, там по медиазапросам уменьшается ширина всего контейнера.
    Советую проектировать такие вещи исходя из реальных задач, а для реальных задач в большинстве своем хватает простых и проверенных решений.
    И тут напрашивается вопрос, а зачем вы вообще тратите время изобретая велосипед, когда есть целая куча готовых универсальных решений?
  • Почему отрицательный margin не работает?

    Dubrovin, вы задачу свою опишите. Возможно вам тут даже сетка не нужна. Вы планируете количество элементов менять на строку? Если нет, ваше решение что-то вроде https://jsfiddle.net/rockon404/o650h1kb/ .
    Если надо, то я не вижу в вашем примере ни одного медиазапроса. Более того, если вы покажите свою реальную задачу, то уверен, скорей всего выяснится, что вы выбрали не самый рациональный путь для ее реализации.
  • 100vh на мобильных устройствах?

    Поиском пользоваться пробовали?
    5aa2abf7918cf747456589.png
  • Как собрать проект при помощи webpack?

    Aligatro, оба скрипта выполняются с флагом -p. Этот влаг добавляет в конфиг UglifyJsPlugin с минификацией и production mode с помощью DefinePlugin.
    Вы можете добавить скрипт:
    "build:dev": "webpack --config webpack.browser.js"
    и если надо, можете добавить свой конфиг с нужными плагинами.
  • Почему отрицательный margin не работает?

    Dubrovin, для чего вам такой странный кейс? Покажите практическое применение. Универсальную сетку так никто не делает. Либо делайте, что-то проще под конкретную задачу, либо делайте универсальную гибкую сетку.
    .row {
      display: flex;
      flex-wrap: wrap;
      margin: 0 -$row-gutter / 2;
    }
    
    .col {
      padding: 0 $row-gutter / 2;
      margin-bottom: $col-margin-bottom;
      flex: 0 0 25%;
      max-width: 25%;
    }

    Это классика. Но вам надо немного другое решение.

    А вот это, например, страшный костыль и так не верстают вещи которые должны быть универсальными:
    width: calc( 25% - 20px );
  • Почему отрицательный margin не работает?

    Alexander Litvinenko, отрицательный margin по оси y - очень плохая практика и в 99,99% кейсов можно найти более изящное решение.
  • Почему отрицательный margin не работает?

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

    Dubrovin, так никто не верстает и это и не должно работать. Для row добавляют отрицательный margin только по оси x.
    .row {
      margin-left: -10px;
      margin-right: -10px;
    }


    И это используют только для универсальной сетки с рвзмерами задаными в процентах и переносами элементов по медиазапросам. Если вам не нужен такой функционал, то и отрицательный margin использовать не нужно.
  • Как получить доступ к данным из соседнего окна браузера?

    ArduinoGirl, нескромный вопрос. Зачем все эти сложности, когда у целевого сервиса есть документированные публичный и приватный API?

    spoiler
    5aa1b6a8aef20806220197.png
  • Почему запрос в react - вечный?

    rockon404
    @rockon404 Куратор тега React
    Wasya UK, вы точно переделали getData из метода класса:
    getData(username) { 
      axios.post('/', { username })
        .then(({ data: tweets }) => {
          this.setState({ tweets });
        })
        .catch(console.error);
    }

    в поле класса?:
    getData = username => { 
      axios.post('/', { username })
        .then(({ data: tweets }) => {
          this.setState({ tweets });
        })
        .catch(console.error);
    };

    Или сделали бинд метода в конструкторе?
  • Почему запрос в react - вечный?

    rockon404
    @rockon404 Куратор тега React
    Wasya UK, во-первых принимайте аргумент в getData:
    getData = username => { 
        axios.post('/', { username })
          .then(({ data: tweets }) => {
            this.setState({ tweets });
          })
          .catch(console.error);
      };

    Во вторых передавайте его onSubmit:
    onFormSubmit(e) {
        e.preventDefault();
    
        this.props.getData(this.state.form.username);
      }