Задать вопрос
  • Как научится правильно верстать?

    pluffie
    @pluffie
    Стыдно за старые вопросы
    я не знаю как правильно назвать тот или иной класс

    Так, чтоб было понятно, за что он отвечает.

    нужно ли для всех тегов писать классы

    Нет. Без контекста, ответить что-либо более осмысленное я не смогу.

    не понимаю зачем нужен container и wrapper

    Если ты не понимаешь, зачем тебе что-либо нужно, то тебе это не нужно

    Я забросил вёрстку и начал изучать JavaScript. Но после изучения основ я вернулся к проблеме что не умею верстать.

    Авось поможет

    Уже пробывал не сразу верстать весь макет, а разделять его на части и начал с хедера то есть с шапки и так где то 10 макетов но на макетах разные шапки и не везде их получается сверстать.

    Задавай себе вопросы, когда пишешь код.
    Нужна шапка. Что подразумевается под шапкой? Панель с кнопками для навигации сверху сайта.
    <nav></nav>
    Что в ней должно быть? Название сайта и ссылки на страницы.
    <nav>
      <span>My site</span>
      <a href="page1.html">Page1</a>
      <a href="page2.html">Page2</a>
    </nav>

    Тег a подчёркивается. Я так хочу? Нет.
    a {
      text-decoration: none;
    }

    Проблема решена, но теперь a вообще нигде не подчёркивается. Я хочу так? Нет.
    nav a {
      text-decoration: none;
    }

    Теперь a не подчёркивается, если оно находится в элементе nav. А если я создам ещё один такой элемент, но для немного других целей, и там подчёркивания понадобятся?
    <nav class="main-navbar">
      <span>My site</span>
      <a href="page1.html">Page1</a>
      <a href="page2.html">Page2</a>
    </nav>

    .main-navbar a {
      text-decoration: none;
    }

    Теперь я хочу выровнять все элементы по вертикали но не знаю как :(. Тут тебе на помощь придёт твой личный Оракул (правда я больше предпочитаю всевидящую утку). Просто задай ему вопрос "Как это сделать?", и он моментально выдаст ответ.

    Не знаю может это мне не дано или я делаю что то не так. Я не могу решить эту ОГРОМНУЮ проблему.

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

    Хочется изучать что то новое но я застрял на этой вёрстке и не могу двигаться дальше.

    Как то, что ты не умеешь верстать, мешает тебе изучить, допустим, историю Танзании?
    Ответ написан
    1 комментарий
  • Как сделать такой липкий sidebar?

    rockfeeler
    @rockfeeler
    Фронтендер, дизайнер, верстальщик-перфекционист
    У .sidebar высота выставлена на 100%. Вероятно, проблема в этом. Ну и следует помнить, что position: sticky не будет работать, если у блока с этим свойством есть предки с overflow: hidden.
    Ответ написан
    Комментировать
  • Делаются ли на практике подобные сайты?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Делаются ли на практике подобные сайты?

    Делаются. Рынок таких дизайнерский сайтов всегда был не очень большим, но он есть. Познакомиться с разными примерами таких сайтов можно на сайтах вроде Awwwards, CSS Design Awards, FWA и им подобных. В русскоговорящем сегменте интернета в целом таких проектов меньше, но они тоже есть. Ну и не все отправляют свои сайты на конкурсы, не всем это нужно.

    как у них осуществляется адаптив?

    С точки зрения разработчика - так же, как и на любом другом сайте. Никаких сюрпризов, только "уверенные знания CSS/SVG/JS/GLSL" должны быть в реальности, а не на бумажке.

    Из соседнего комментария: только проблема в том, что в 99% - всё это неюзабельное говно в красивой обертке

    Часто можно встретить такого рода сайты, красивые, но забагованные в край, и тормощящие настолько, что телефоны просто вешаются. Или мобильных версий вообще нет, т.к. не осилили в сжатые сроки. А бывает, что и на десктопах тормозит и лагает. Но тут вопрос больше к бизнесу - за сколько заплатили, то и получили. Если разработчики тянут, то остается дизайнер. Вот ему может быть сложно, и на самом деле не так много дизайнеров, которые могут что-то такое проектировать, чтобы и красиво, и адаптивно, и юзабельно одновременно. Нужен опыт. Нужно много чего знать, и, что важно, уметь слушать разработчиков на тему того, что можно, а чего нельзя сделать, и вести соответствующие переговоры с заказчиком. На рынке фриланса не раз видел заказы в духе "нам тут дизайнер все придумал, а мы теперь сделать не можем", или "мы что-то сделали, а оно грузится по пол минуты", а это вообще никак не сделать, чтобы нормально работало на реальном железе. Тут нужен был диалог между специалистами из разных областей, а его не было. Но опять же - за сколько заплатили, то и получили.
    Ответ написан
    Комментировать
  • Как динамически добавлять eventListener во vue?

    Fragster
    @Fragster
    помогло? отметь решением!
    А чем не устраивают собственные обработчики vue? https://ru.vuejs.org/v2/api/#v-on
    Ответ написан
  • Как сделать смену placeholder через n секунд?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Возможные значения плейсхолдера, с какой задержкой и кому их надо назначать:

    const placeholders = [ 'hello, world!!', 'fuck the world', 'fuck everything' ];
    const delay = 200;
    const input = document.querySelector('input');

    Назначаем:

    function interval(arr, delay, callback) {
      let i = -1;
    
      return arr.length
        ? setInterval(() => callback(arr[i = -~i % arr.length]), delay)
        : null;
    }
    
    
    const intervalId = interval(placeholders, delay, n => input.placeholder = n);
    // хотим остановить, делаем так: clearInterval(intervalId);

    или

    function interval(arr, delay, callback) {
      let timeoutId = null;
    
      arr.length && (function step(i) {
        timeoutId = setTimeout(() => {
          callback(arr[i]);
          step((i + 1) % arr.length);
        }, delay);
      })(0);
    
      return () => clearTimeout(timeoutId);
    }
    
    
    const stop = interval(
      placeholders,
      delay,
      Element.prototype.setAttribute.bind(input, 'placeholder')
    );
    // хотим остановить, делаем так: stop();
    Ответ написан
    Комментировать
  • Как проверить введенное в prompt значение на пустую строку или пробел в javascript?

    Stalker_RED
    @Stalker_RED
    if (a === '')
      alert('Пустая строка')
    if (a === ' ')
      alert('Это пробел')
    Ответ написан
    Комментировать
  • Как сделать модальное окно с скроллом?

    HunteR-VRX
    @HunteR-VRX
    Помешанный на развитии
    Здравствуйте!
    Ключевые моменты:

    1. Сверстать popup-окно, использовав фиксированное позиционирование (fixed)
    2. Задать параметр высоты этого окна (height)
    3. Прописать свойство (overfoiw), со значение (auto)
    4. Применить так же свойство overscroll-behavior, со значением contain, с целью предотвращения перехвата скроллбара нецелевым элементом.
    Ответ написан
    Комментировать
  • Можно упростить этот код?

    function sumsInArray(arr) {
        return arr.map(innerArr => innerArr.reduce((a, b) => (a + b), 0));
    }
    Ответ написан
    Комментировать
  • Чем отличается pause() от paused?

    wapster92
    @wapster92 Куратор тега JavaScript
    Плохо ищешь. pause() - останавливает медиа элемент, paused - проверяет состояние медиа элемента и возвращает булево значение
    Ответ написан
    Комментировать
  • Как поставить производство объектов на поток?

    hzzzzl
    @hzzzzl
    поясни "постоянно"

    let arr = [];
    
    for(i = 0; i < 1000; i++) {
      let obj = {};
      obj.word = 'qwerty: ' + Math.random();
      arr.push(obj);
    }
    
    console.log(arr)  // все разные
    Ответ написан
    Комментировать
  • Как создавать свои методы для элементов на JavaScript?

    mlnkv
    @mlnkv
    JavaScript Developer
    var MyAPI = {
        css: function(key, val){
            if (val === undefined)
                return this[0].style[key];
            for (var i = 0; i < this.length; i++) {
                this[i].style[key] = val;
            }
            return this;
        },
        hide: function() {
            return this.css("display", "none");
        },
        show: function() {
            if (this.css("display") == "none")
                return this.css("display", "block");
            return this.css("display", "");
        }
    }
    
    function _el(selector) {
        var collection = document.querySelectorAll(selector),
            wrapped = [].slice.call(collection);
        for (var method in MyAPI) {
            wrapped[method] = MyAPI[method];
        }
        return wrapped;
    }


    _el("#mydiv").css("border", "1px solid black");
    Ответ написан
    3 комментария
  • Почему не получается нарисовать диаграмму на javascript api svg?

    PavelK
    @PavelK
    Если вкратце, потому что SVG это не html, а то, что мы можем с ним работать так, это грубо говоря фича парсера, т.е. svg остаётся в контексте svg и работать с ним в javascript надо как с svg, а JQuery не вкурсе про это при динамическом создании элементов.
    В общем вот рабочая версия: https://jsfiddle.net/9rsgc377/6/ внимание на строку 39 и далее.
    Ответ написан
    1 комментарий