• Grid выходит за границы сайта. Что делать?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Давайте расскажу, что вы делаете:
    Грид на 2 равных столбца - ок.
    Зачем-то у него отрицательные margin.
    Ещё зачем-то он флекс на другой ширине. Почему бы ему не быть гридом всегда и без отриц отступов?
    Дальше карточке задана ширина 320.
    Но проверяете на ширине 469.
    Было бы странно, если бы оно влезло.
    Что происходит дальше?
    Дальше вы решаете, что 320 тут лишние и убираете их.
    Что остается?
    Остается width: 50%.

    Получаем карточку на половину ячейки грида.

    Что делать?
    Я бы избавилась от:
    - флексов (не нужно будет задавать ширину карточкам)
    - отрицательных margin
    - ширины карточек (пусть грид определяет ширину карточки)

    Также можно попробовать добавить в грид minmax и уменьшить количество media.

    Если что, всё это написано в инструментах разработчика, хорошо видно какие свойства в итоге применились.
    Ответ написан
    5 комментариев
  • Правда ли, что если изучить Фронтенд а потом начать изучать Бэкенд, ты почти забудешь Фронтенд?

    Mi11er
    @Mi11er
    A human...
    Если сразу после учебы и без практики, то разумеется фронт будет забываться.
    Поэтому и надо будет или параллельно или в долгую практику
    Ответ написан
    Комментировать
  • Как успешно пройти валидацию и устранить ошибки?

    MrDecoy
    @MrDecoy Куратор тега CSS
    Верставший фронтендер
    1) Не существует HTML элемента wrapper.
    2) Судя по всему Вы не закрыли header и разместили в нём main. Это не корректно. У Вас же тело не в голову вложены, а между ними шея ещё. То есть они идут друг за другом.
    3) Интерактивные элементы не стоит вкладывать друг в друга. Это плохая практика. Поэтому не нужно ложить кнопки в ссылки и наоборот.
    4) Про див судя по всему у Вас где-то не соответствие количество открытых и закрытых дивов.
    5) Не закрытый main

    - Ошибку про ссылку в списке Вы не показываете. (Хотя в первом li ссылка не закрыта)
    - Часто ошибки имеют каскадный эффект. Исправляешь одну - исправляется десяток.

    P.s.
    Мой первый сайт дался мне непросто
    Это нормально
    Ответ написан
    7 комментариев
  • Как отметить товар, который уже добавлен в козину?

    melpnz
    @melpnz
    UX/UI дизайнер
    Натыкаюсь периодически на такую механику в интернет-магазинах. Например:

    Яндекс Маркета
    637328d17a328782888334.jpeg

    СберМегаМаркет
    637329bd98b36481723840.jpeg

    СберЕаптека
    637329dcd6f25052673445.jpeg

    Пока на данном этапе это наиболее распространенный паттерн, когда можно добавить более 1 товара этой позиции.
    Ответ написан
    Комментировать
  • Можно ли реализовать чат с сайта в телеграм?

    @historydev
    Редактирую файлы с непонятными расширениями
    Можно
    Ответ написан
    Комментировать
  • Как правильно сверстать логотип?

    Самый лучший вариант, как мне кажется, сгруппировать все векторы и экспортировать SVG.
    Ответ написан
    2 комментария
  • Есть ли подобные шрифты для кириллицы?

    @lekras
    Не совсем оно (без "ампутации" элементов букв). Светлые начертания по духу достаточно близки к образцам, особенно Cera.
    https://bestfonts.pro/font/stencil-ss-bold
    https://webfonts.pro/decorative-fonts/tehno-fonts/...
    Ответ написан
    1 комментарий
  • Как добавить отдельные классы для каждого объекта в цикле while?

    @Vic87
    Конечно, не присваиваются. $classes[$i] для $i > 4 у вас не определены. Ессно, что класс будет пустым.

    Не думали пойти другим путем, без заморотов с присвоением класса каждому посту? Например, используя псевдокласс :nth-child и через него реализовать особенности верстки. Тогда вывод постов можете делать без всякого гимора, обычным порядком.
    Ответ написан
    Комментировать
  • Как добавить отдельные классы для каждого объекта в цикле while?

    delphinpro
    @delphinpro
    frontend developer
    Зачем такие сложности?

    Ответ написан
    Комментировать
  • Что имел в виду автор учебника, устанавливая свойство overflow?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Что имелось в виду?

    Это и имелось в виду. То, что написано в комментарии.

    Родитель ничего не знает о высоте дочерних флоатов.
    Если все дети флоаты, то высота родителя будет нулевой.
    Чтобы она перестала быть нулевой и стала вести себя как высота по контенту, использовали overflow.

    Если вы зададите родителю фон или даже лучше бордер и проведете эксперимент, то всё сами увидите.
    Ответ написан
    4 комментария
  • Как можно сделать карусель с перетаскиванием и стрелками?

    @Froggyweb
    Скрестить это вряд ли, но есть Swiper
    Ответ написан
    Комментировать
  • Как сделать свечение?

    dyuriev
    @dyuriev
    A posteriori
    1. для начала сделайте вот так
    2. потом перейдите по первой ссылке
    3. и посмотрите на готовый пример, как на css сделать пульсирующий эффект:
    Ответ написан
    Комментировать
  • Как сделать градиент?

    sfi0zy
    @sfi0zy Куратор тега Вёрстка
    Creative frontend developer
    Самый простой и быстрый способ - вставить картинкой. Да, некрасиво, но зато дешево и надежно. В теории можно такую штуку сделать и на чистом CSS с помощью нескольких градиентов, но это дольше и могут возникнуть разные артефакты, которые не всегда получится скрыть. Хотя если фон однотонный и эта штука постоянно в движении, то такой вариант тоже может сработать:
    Ответ написан
    1 комментарий
  • Что вы думаете об Sage и Bedrock для WordPress?

    cesnokov
    @cesnokov
    <head>&nbsp;</head>
    На основе "Sage" написал свой универсальный стартовый шаблон, который является (на 90%) ядром всех моих проектов. Когда то начал использовать его "как есть", но с каждым проектом вносил в него изменения. На данный момент в шаблоне не осталось ничего от его "родителя", лишь только я знаю с чего он начался (теперь и Вы). По моему мнению это лучший источник кода для начинающих разбираться с WordPress.
    Ответ написан
    Комментировать
  • Как сделать такую штуку?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Вариантов в целом много. Если пойти по пути псевдоэлементов с абсолютным позиционированием и аккуратного выравнивания, то получится что-то такое:
    Ответ написан
    Комментировать
  • Как сделать такую штуку?

    RAX7
    @RAX7
    Ответ написан
    Комментировать
  • Как вывести координаты Яндекс.карты в админке Wordpress?

    karelina-nat
    @karelina-nat Автор вопроса
    Нашла решение, благодаря ответу на вопрос здесь: Вопрос
    Только я немного под себя переделала код. Может кому пригодиться.

    Первым делом подключим скрипты яндекс.карт. Обратите внимание, что все скрипты я подключаю на хуке wp_footer, поэтому подключение API яндекс.карт должно быть производиться раньше, чем скрипт js.

    В файле functions php нужно сделать следующее:
    add_action('wp_footer', 'ya_map_scripts'); // Подключаем скрипт с API карт
    add_action('wp_footer', 'js_scripts'); // Подключаем скрипт js
    
    function ya_map_scripts() {
           wp_enqueue_script('ymaps', 'https://api-maps.yandex.ru/2.1/?lang=ru_RU&amp;apikey=ВашКлючAPI"', [], null, true);
    } // Скрипт яндекс.карт
    
    function js_scripts()
    {
        wp_enqueue_script('main', get_template_directory_uri() . '/assets/js/main.min.js');
    }  // Скрипт js, адрес, естественно, указываете свой


    Теперь, что нужно прописать на странице, где у нас будет подключена карта:

    <script>
    //Определяется переменная, которая содержит адрес вашего объекта
          var js_ad = '<?php echo the_field('adres_na_ostalnyh_straniczah', 'option'); ?>';
    //В моем случая я подключила поле из страницы опций.
    // Можно подключить, например, кастомное поле через плагин ACF
    //Тогда это будет выглядеть как var js_ad = '<?php echo the_field('название_поля'); ?>';
     </script>
    
    <div id="map" class="map-yandex">  
    // это контейнер, в котором будет отображена карта


    На класс map-yandex у меня повешены стили карты, например, такие:
    .map-yandex {
        overflow: hidden;
        width: 100%;
        height: 502px;
        position: relative;
    
        @media (max-width: map-get($tablet, lg)) {
            pointer-events: none;
        }
    }


    И наконец вставляем скрипт из геокодера яндекс.карт:
    Геокодер
    и вставляем туда нашу переменную js_ad
    ymaps.ready(init);
    
     function init() {
         var myMap = new ymaps.Map('map', {
             center: [55.753994, 37.622093], // поменяйте местоположение центрирования карты, можно воспользоваться сервисом https://constructor.maps.yandex.ru/location-tool/
             zoom: 9
         });
    
         // Поиск координат центра значения нашей переменной js_ad.
        // Строку Россия я сделала на всякий случай, если карты вдруг захотят убежать в другую страну
         ymaps.geocode('Россия,' + js_ad, {
             /**
              * Опции запроса
              * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/geocode.xml
              */
             // Сортировка результатов от центра окна карты.
             // boundedBy: myMap.getBounds(),
             // strictBounds: true,
             // Вместе с опцией boundedBy будет искать строго внутри области, указанной в boundedBy.
             // Если нужен только один результат, экономим трафик пользователей.
             results: 1
         }).then(function (res) {
             // Выбираем первый результат геокодирования.
             var firstGeoObject = res.geoObjects.get(0),
                 // Координаты геообъекта.
                 coords = firstGeoObject.geometry.getCoordinates(),
                 // Область видимости геообъекта.
                 bounds = firstGeoObject.properties.get('boundedBy');
    
             // Добавляем первый найденный геообъект на карту.
             myMap.geoObjects.add(firstGeoObject);
             // Масштабируем карту на область видимости геообъекта.
             myMap.setBounds(bounds, {
                 // Проверяем наличие тайлов на данном масштабе.
                 checkZoomRange: true
             });
    
             /**
              * Все данные в виде javascript-объекта.
              */
             console.log('Все данные геообъекта: ', firstGeoObject.properties.getAll());
             /**
              * Метаданные запроса и ответа геокодера.
              * @see https://api.yandex.ru/maps/doc/geocoder/desc/reference/GeocoderResponseMetaData.xml
              */
             console.log('Метаданные ответа геокодера: ', res.metaData);
             /**
              * Метаданные геокодера, возвращаемые для найденного объекта.
              * @see https://api.yandex.ru/maps/doc/geocoder/desc/reference/GeocoderMetaData.xml
              */
             console.log('Метаданные геокодера: ', firstGeoObject.properties.get('metaDataProperty.GeocoderMetaData'));
             /**
              * Точность ответа (precision) возвращается только для домов.
              * @see https://api.yandex.ru/maps/doc/geocoder/desc/reference/precision.xml
              */
             console.log('precision', firstGeoObject.properties.get('metaDataProperty.GeocoderMetaData.precision'));
             /**
              * Тип найденного объекта (kind).
              * @see https://api.yandex.ru/maps/doc/geocoder/desc/reference/kind.xml
              */
             console.log('Тип геообъекта: %s', firstGeoObject.properties.get('metaDataProperty.GeocoderMetaData.kind'));
             console.log('Название объекта: %s', firstGeoObject.properties.get('name'));
             console.log('Описание объекта: %s', firstGeoObject.properties.get('description'));
             console.log('Полное описание объекта: %s', firstGeoObject.properties.get('text'));
    
             /**
              * Если нужно добавить по найденным геокодером координатам метку со своими стилями и контентом балуна, создаем новую метку по координатам найденной и добавляем ее на карту вместо найденной.
              */
             /**
              var myPlacemark = new ymaps.Placemark(coords, {
              iconContent: 'моя метка',
              balloonContent: 'Содержимое балуна <strong>моей метки</strong>'
              }, {
              preset: 'islands#violetStretchyIcon'
              });
    
              myMap.geoObjects.add(myPlacemark);
              */
         });
     }
    Ответ написан
    Комментировать
  • Как окончательно решить окончательный вопрос с переводами в Wordpress?

    @Lord_Dantes
    Ищите плагин для переводов?

    Попробуйте банальны qTranslateX только осторожно там есть конфликт с версией ACF, вроде либо ACF либо плагин нужно предыдущей версии поставить. Там текст можно переводить буквально в коде: условие будет что-то типо if (site = 'ru') echo "привет"
    Ответ написан
    Комментировать
  • Может стоит бросить это дело? Что делать если ты медленнее всех да еще и в возрасте?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    мне 45 и я ещё не в возрасте.
    Я думал, что пишет парень 50-60 лет, а тут школьник 25-летний
    Ответ написан
    1 комментарий
  • Какой вариант логотипа лучше?

    Kadzi
    @Kadzi
    Ом
    Внимание, внимание: разбор клинического случая логотипа.

    которые сделаны разными людьми. Идея одна, но разная реализация.

    Дорогая Елена :3! Тут нет никаких идей. Это очередной импотентский дизайн типичненького магазина мебели: беспомощный, штамповый, немой, и так далее. Такое обычно компании делают своими силами.

    Какой вариант лучше подойдет для развития бизнеса? Если можно, кратко аргументируйте.

    Милейшая Елена :3 Никакой вариант логотипа никак не повлияет на развитие бизнеса. Потомучто сначала конкурентный товар, потом реализация этого товара.

    А улучшить сразу можно несколько вещей:

    1. оставить минимум графики
    2. сократить название
    3. не использовать по сто начертаний
    4. включить хотябы ноль целых, две десятых фантазии

    вариант 1, реализация 30 секунд:
    5f0de0d654b3d474012616.jpeg

    еще упрощаем:
    5f0de16b18faf780761736.jpeg

    включаем 0,3% фантазии:
    5f0de1a84c34e348949370.jpeg

    Теперь, у нас и само название компании как отдельная единица и сама сидушка может выступать атомарной единицей, например в fav иконке, да и сам логотип становится динамичным, адаптивным: его хоть в браузер, хоть на визитку, хоть строго, хоть весело. Подпилить шрифты, сидушки, и го. А сценариев с использованием стульев и столов миллион.

    А да, прекрасная Елена :3, я чуть не забыл! Только тссссс:
    5f0de284c7b92724712261.jpeg
    Отрывок выступления
    Ответ написан
    1 комментарий