• Как сделать общий градиент для двух блоков?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Например так



    Для любого угла градиента

    Ответ написан
    5 комментариев
  • Как добавить "уголки" правильно?

    @ksnk
    Можно поизвращатся.
    Вставить элемент с нужными границами и вырезать из него все ненужное
    Ну или даже одним элементом
    Ответ написан
    Комментировать
  • Как лучше сверстать элемент?

    alsolovyev
    @alsolovyev
    ¯\_(ツ)_/¯ Enjoy life, Eat well & Laugh often
    Ну например через transform и математику

    Или через grid

    Или просто в 3 ряда на flex
    66f1ad16c7bf6011256538.jpeg
    Ответ написан
    1 комментарий
  • Как сделать такую маску в CSS?

    Aetae
    @Aetae
    Тлен
    clip-path прекрасно умеет скруглять, rtfm.

    Вот через фильтр, когда-то похожее делал:

    Принцип прост: размываешь подложку через feGaussianBlur, делаешь края снова резкими через ComponentTransfer альфа-канала. В твоём случае ещё stroke и drop-shadow наверное понадобятся, сам смотри.

    ...upd: из интереса нафигачил без фильтров:

    Всё возможно.:)

    Поигрался пут с фильтром, вот версия фильтр + простой clip-path, поддерживает полупрозрачность фона, полупрозрачность бордера и тень:

    clip-path'ом вырезаем простые квадраты, фильтром закругляем. Фильтр можно в принципе применять к любому набору элементов. Версия не последняя, есть шероховатости, может ещё когда-нить потыкаю ещё.:)
    Ответ написан
    5 комментариев
  • Как сделать внешнюю обводку текста?

    IvanU7n
    @IvanU7n
    nothing interesting here
    вариант 1: ИМХО самый оптимальный (но криво работает с прозрачным текстом)


    вариант 2: доработка напильником ответа Как в шрифте pacifico сделать при бордере, чтобы не было линий при пересечении букв?, если нужно больше контроля над обводкой
    Ответ написан
    3 комментария
  • Какой тег html является ни чем?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    нет такого
    Ответ написан
    Комментировать
  • Возможно ли взломать IOS через USB кабель?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Стало интересно, возможно ли таким образом взломать телефон

    Я бы не исключал, что да.

    Но есть нюанс: если бы те молодые люди знали, как это сделать, они бы не зарабатывали фотографированием прохожих у метро.
    Ответ написан
    3 комментария
  • Не работает модальное окно, что делать?

    IvanU7n
    @IvanU7n
    nothing interesting here
    лишний visibility: hidden;
    Ответ написан
    Комментировать
  • Не работает модальное окно, что делать?

    Уберите visibility: hidden из класса modal
    .modal {
        display: none;
        width: 100%;
        height: 100%;
        position: fixed;
        left: 0;
        top: 0;
        background-color: rgb(0, 0, 0, .8);
        z-index: 2;
    }
    Ответ написан
    Комментировать
  • Как это повторить на html&css?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Фоновой картинкой. Попробовать варианты svg и webp, сравнить по производительности и размеру.

    Если делать такие большие блюры на css, будут сильные лаги на странице.
    Ответ написан
    Комментировать
  • Как это повторить на html&css?

    copyhold
    @copyhold
    можно попробовать сделать 2 фоновых градиента
    .bg {
      background: 
    radial-gradient(closest-corner at 75% 50%, rgba(169,54,77,1) 0%, rgba(142,51,69,0) 100%),
        radial-gradient(circle at 20% 20%, rgba(169,54,77,1) 0%, rgba(142,51,69,0) 100%)
    
    #000;
    }
    Ответ написан
    Комментировать
  • Пожалуйста, как сделать "очень" интерактивную 2d карту?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Это называется Викимапия: https://wikimapia.org/. Кроме Leaflet существуют и другие инструменты: OpenSeadragon, OpenStreetMap и другие.
    Ответ написан
    1 комментарий
  • Как зациклить эффект печати?

    Fzero0
    @Fzero0
    Вечный студент
    class Typewriter {
      constructor(element, texts, speed) {
        this.element = element;
        this.texts = texts;
        this.speed = speed;
        this.index = 0;
        this.textIndex = 0;
      }
    
      start() {
        this.type();
      }
    
      type() {
        if (this.index < this.texts[this.textIndex].length) {
          this.element.innerHTML += this.texts[this.textIndex].charAt(this.index);
          this.index++;
          setTimeout(() => this.type(), this.speed);
        } else {
          this.index = 0;
          this.textIndex = (this.textIndex + 1) % this.texts.length;
          this.element.innerHTML = "";
          setTimeout(() => this.type(), this.speed);
        }
      }
    }
    
    const qualityElement = document.getElementById("quality");
    const TEXTS = ["Креативность ", "Эффективность ", "Индивидуальность "];
    const SPEED = 85;
    
    const typewriter = new Typewriter(qualityElement, TEXTS, SPEED);
    typewriter.start();
    Ответ написан
    Комментировать
  • Как зациклить эффект печати?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Строки сложить в массив. Завести два индекса - текущей строки и её последнего отображаемого символа. Если при увеличении количества отображаемых символов выходим за границу строки - переключаемся на следующую строку и сбрасываем счётчик символов.

    Куда, что и с какой задержкой будем печатать:

    const el = document.querySelector('p');
    const strings = [ 'hello, world!!', 'fuck the world', 'fuck everything' ];
    const delay = 100;

    Печатаем:

    function Typewriter(el, strings, delay) {
      let i = 0;
      let length = 0;
    
      return setInterval(() => {
        if (++length > strings[i].length) {
          i = -~i % strings.length;
          length = 0;
        }
    
        el.textContent = strings[i].slice(0, length);
      }, delay);
    }
    
    
    const intervalId = Typewriter(el, strings, delay);
    // хотим остановить, делаем так: clearInterval(intervalId);

    или

    function Typewriter(el, strings, delay) {
      let timeoutId = null;
    
      (function step(i, length) {
        length = -~length % -~strings[i].length;
        i = (i + !length) % strings.length;
        el.innerText = strings[i].substring(0, length);
        timeoutId = setTimeout(step, delay, i, length);
      })(0, 0);
    
      return () => clearTimeout(timeoutId);
    }
    
    
    const stop = Typewriter(el, strings, delay);
    // хотим остановить, делаем так: stop();
    Ответ написан
    1 комментарий
  • Как сделать scrolltop у аккордиона?

    IvanU7n
    @IvanU7n
    nothing interesting here
    Ответ написан
    Комментировать
  • Как сделать scrolltop у аккордиона?

    pickHabr
    @pickHabr
    Костыльных дел мастер
    Попробуй так

    const openAccordion = (accordion) => {
        // твой код
        accordion.scrollIntoView();
    };


    https://developer.mozilla.org/ru/docs/Web/API/Elem...
    Ответ написан
    Комментировать
  • Как добавить впереди цифр нули?

    Ni55aN
    @Ni55aN
    String(number).padStart(2,'0')
    согласно последним стандартам
    Ответ написан
    Комментировать
  • Можно ли писать div вне body?

    delphinpro
    @delphinpro Куратор тега HTML
    frontend developer
    Вы можете написать любую херню. Однако браузер обязан как-то интерпретировать страницу, чтобы ее отрисовать. И он постарается исправить ваши ошибки (случайные или намеренные) и каким-либо образом страницу попытается отрисовать.

    Но если вы спрашиваете про стандарты, то нет. Вне body никаких тегов быть не должно.
    Ответ написан
    Комментировать
  • Нужна ли адаптивная вёрстка для компьютерного браузера, если кто-то будет уменьшать окно браузера до мобильной версии?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Насколько такой подход к разработке правильный?
    Нинасколько. Так как озон достаточно старая система, проектирование мобильной версии с отдельным мобильным видом наследие периода когда верстку сделать адаптивной было гораздо сложнее, а поисковые роботы еще ориентировались на субдомены по типу м.домен.тлд для отображения результатов поиска с мобильных устройств. Менять что-то с потерей поисковой индексации уже никто не будет.

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

    Навряд ли многие люди так уменьшают окошко браузера вручную и для чего это нужно...
    Это нужно не для людей которые "уменьшают окошко", а для бесшовного перехода между устройствами, так как есть планшеты, нетбуки, мобилы с разным разрешением и просто масштабирование в браузере, и для всего этого зоопарка адаптив позволяет задать нормальный вид, практически для любого устройства в заданном диапазоне разрешений, причем без специальной подгонки под экран.
    Ответ написан
    7 комментариев
  • Как использовать в clip-path: path() проценты (ну и calc)?

    sfi0zy
    @sfi0zy Куратор тега CSS
    Creative frontend developer
    Весь затык у нас тут в том, что CSS не позволяет в рамках path жонглировать единицами измерения. Почему? Люди задавались этим вопросом с самого момента появления path в CSS. Но этот функционал всегда был в SVG. Так что можно добавить маску в SVG (тут у нас размер элемента, условные 100% на 100%, считается за 1 на 1):

    <svg width='0' height='0'>
        <defs>
            <clipPath id='example' clipPathUnits='objectBoundingBox'>
                <path d="M 0 0 a 1 1 0 0 0 1 1 h -1 v -1z"/>
            </clipPath>
        </defs>
    </svg>

    И тогда в CSS уже будет все просто:

    .example {
        clip-path: url(#example);
    }

    Это не идеальный вариант, хотелось бы на чистом CSS, но имеем, что имеем.
    Ответ написан