Задать вопрос
  • Как понять данную функцию?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    С 7 проверяют, делится ли на 2 и на 3 – ни на одно не делится, значит, простое.

    Почему до половины. Потому что второй множитель не может быть меньше 2, только больше или равен.

    Смысл перебора — поймать, что, вот, ага! – на это число делится! — значит, не простое и дальше можно не проверять.
    Ответ написан
    Комментировать
  • Зачем нужен GitHub?

    Lynn
    @Lynn
    nginx, js, css
    Если тебе «просто нужно надежное хранилище кода и программ», то тебе нет нужды ходить в веб-интерфейс.
    Завёл аккаунт, прописал ssh-ключ и всё.
    git commit, git push, git pull вот и все твои команды.
    Ответ написан
    Комментировать
  • Как сделать такой элемент при наведений?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    Поскольку у ссылок есть иконки и они, вероятно, будут сделаны с помощью псевдо, то подумала, что нужно придумать решение с помощью только одного псевдоэлемента. Да и вообще, раз можно одним, то зачем писать два..



    код

    <nav>
      <ul>
        <li><a href="">link</a></li>
        <li><a href="">link</a></li>
        <li><a href="">link</a></li>
        <li><a href="">link</a></li>
        <li><a href="">link</a></li>
      </ul>
    </nav>


    nav {
      width: 200px;
      background: #92aef4;
    }
    
    ul {
      --color: white;
      --radius: 30px;
      --smoothing-radius: 29.4px;
      border-right: 10px solid var(--color);
      padding: 0 0 2em 1em;
      list-style-type: none;
    }
    
    a {
      position: relative;
      display: block;
      padding: 0.5em;
      border-radius: var(--radius) 0 0 var(--radius);
      text-decoration: none;
      color: #6704f2;
    }
    
    a::before {
      content: "❄ ";
      color: white;
    }
    
    a:hover::before {
      color: deeppink;
    }
    
    a:hover {
      background: var(--color);
    }
    
    a:hover::after {
      content: "";
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      width: var(--radius);
      height: calc(100% + 2 * var(--radius));
    }
    
    li:not(:last-child):not(:first-child) a:hover::after {
      background: radial-gradient(at top left, transparent var(--smoothing-radius), var(--color) var(--radius)) no-repeat top right / var(--radius) var(--radius),
        radial-gradient(at bottom left, transparent var(--smoothing-radius), var(--color) var(--radius)) no-repeat bottom 0 right 0 / var(--radius) var(--radius);
    }
    
    li:first-child a:hover::after {
      background: radial-gradient(at bottom left, transparent var(--smoothing-radius), var(--color) var(--radius)) no-repeat bottom 0 right 0 / var(--radius) var(--radius);
    }
    
    li:last-child a:hover::after {
      background: radial-gradient(at top left, transparent var(--smoothing-radius), var(--color) var(--radius)) no-repeat top right / var(--radius) var(--radius);
    }
    body {
      padding: 50px;
      margin: 0;
      font-size: 20px;
      font-family: 'Neucha', cursive;
      background: #eee;
    }

    Ответ написан
    Комментировать
  • Как оживить картинку?

    SeaInside
    @SeaInside
    16 лет пилю все эти штуки
    Насоветуют... Менять бэкграунды - забудьте. HTML area - тоже похоронить.

    Берёте вашу картинку. Поверх зданий создаёте векторный путь (обводите здания).
    Размечаете нарисованные пути как вам удобно, достаточно будет повесить класс для дальнейшей стилизации по ховеру + в дата-атрибуты значимую информацию для тултипа/клика/что там ещё.
    <svg ...>
      <path class="area" data-id="1" d="..." />
      <path class="area" data-id="2" d="..." />
    </svg>


    Инлайните получившуюся конструкцию на страницу. Фон можно в отдельном элементе и карту поверх, можно прямо в SVG зашить - не суть важно.

    По ховеру на путь - через CSS делаете ему полупрозрачную заливку, у вас судя по картинке сплошным цветом просто заполняется при наведении - самый простой вариант.

    По клику на путь - достаёте его `data-id` и выводите какую-либо информацию.

    Вот пример статьи, где описано более подробно.
    https://css-tricks.com/svg-map-rollovers/
    В конце интерактивный пример есть.
    Принципиальная разница с вашей задачей - вам изначально нужны пути без заливки и изображение под ними.
    Ответ написан
    Комментировать
  • Зачем вложенность в scss если есть БЭМ?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега CSS
    Вложенность в SASS как раз позволяет удобно делать БЭМ-селекторы:
    .block {
      foo: bar;
    
      &_element {
        bar: baz;
      }
    }


    Но при использование вложенности scss формируется длинный селектор
    Сам факт использования SASS никак на сложность селекторов не влияет. Результат зависит от исходного кода, а не от инструмента компиляции.
    Да, SASS позволяет навертеть селекторы, если не быть осторожным и писать бездумно, но он к этому не обязывает.
    Ответ написан
    Комментировать
  • Как подсветить свойства которые нужно прописывать кроссбраузерно?

    @abberati
    frontend-разработчик
    Так ведь автопрефиксер можно в виде библиотеки подключить к твоей сборке. И оно само там будет под капотом вертеться. Гугли

    И совет на будущее — если появляется мысль «придётся в собранный код лезть», то ты точно что-то делаешь не так.
    Ответ написан
    1 комментарий
  • Почему IE11 не видит svg спрайт?

    vadimkot
    @vadimkot Куратор тега CSS
    Чтобы была поддержка в IE svg спрайта из внешнего файла нужно использовать полифилы https://github.com/jonathantneal/svg4everybody или https://github.com/Keyamoon/svgxuse
    Ответ написан
    Комментировать
  • Где найти книги или курсы по PHP, где даётся проектирование приложений с учётом ООП?

    Adamos
    @Adamos
    Вам не нужно сравнение процедурщины с ООП, вам нужно нормальное понимание ООП.
    Для этого, например, подойдут классические "Рефакторинг" Фаулера или "Совершенный код" Макконнелла.
    Ответ написан
    Комментировать
  • Как разделить окно на два, как в Sublime?

    sslion
    @sslion
    60d71bbbc9ef9660846715.png
    Не за что...
    Ответ написан
    Комментировать
  • Что эта запись в консоли значит?

    profesor08
    @profesor08 Куратор тега JavaScript
    Не надо паниковать. В JavaScript все объекты передаются по ссылкам со всеми вытекающими.
    Это значит, что после вывод в консоль значение массива изменилось. И когда ты разворачиваешь, чтоб посмотреть что внутри, ты видишь актуальные значения на момент раскрытия.

    Просто выполни код в консоли, и раскрой потом.
    const arr = [false, false, false];
    console.log(arr);
    arr[2] = "test";
    Ответ написан
    Комментировать
  • Как лучше писать отступы для BEM блоков?

    Realetive
    @Realetive
    MODX Ambassador России, самозванный БЭМ-евангелист
    То, что написал Сергей delphinpro, не имеет отношения к БЭМ — из-за таких «советов» у Егор Живагин потом куча проблем и ложное представление о методологии.
    Как советует Михаил — посмотрите на Tailwind — там куча примеров готовых компонентов с уже расставленными классами. Так вот, Tailwind к БЭМ тоже не имеет никакого отношения, хотя именно там используются «атомарные стили» вида mt-40 / pd-20 / и т. д. Понимание концепции БЭМ стоит начинать с bem.info, а если останутся или появятся вопросы — в официальный канал @bem_ru.
    Ответ написан
    2 комментария
  • Как к телеграм боту прикрутить веб админку?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    А в чем проблема? Пусть от хранит состояние в БД и в ту же БД ходит админка за инфой.
    Что именно вам не понятно и что не получается?
    Ответ написан
    Комментировать
  • Как отловить нажатие клавиши с Bluetooth гарнитуры на JS в браузере?

    Kozack
    @Kozack Куратор тега JavaScript
    Thinking about a11y
    https://web.dev/media-session/
    Вы вешаете обработчик событий play/pause. А эти события вызываются и при клике по системным контроллам в ОС и по нажатию клавиш на гарнитурах и так далее.
    Ответ написан
    Комментировать
  • Как разговаривать с клиентом о технических деталях?

    @ComodoHacker
    Навык общения с клиентами и перевода с "клиентского" языка на технический — это одно из конкурентных преимуществ во фрилансе. Так же как и навыки презентации и продажи своих услуг.

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

    opium
    @opium
    Просто люблю качественно работать
    Ну если клиент хочет дешевле то оплачивает разработку ТЗ, если дороже то можно вот так то эпо наитию работать с оплатой каждого чиха
    Ответ написан
    Комментировать
  • Почему value="" записывает пустоту, а не NULL?

    @Akina
    Сетевой и системный админ, SQL-программист.
    NULL и пустая строка есть две совершенно разные вещи (исключение - Оракл). NULL - это отсутствие любого, в том числе пустого, значения.
    Ответ написан
    Комментировать
  • Поможете с функцией PHP?

    ssenj
    @ssenj
    HTML, CSS, PHP, WordPress, Bitrix
    В ошибке четко написано `Невозможно повторно назначить автоглобальную переменную _POST`
    При объявлении функции переименуй параметр $_POST, например так:
    function get_test_data_result($test_all_data, $result, $post) { ... }

    Либо, как советуют выше, убери его из параметров. Глобальные переменные доступны везде и внутри функции тоже.
    Ответ написан
    1 комментарий
  • Поможете с функцией PHP?

    @galaxy
    Суперглобальные переменные ($_GET, $_POST и т.д.) потому так и называются, что доступны всегда и из любого места.
    Вы назвали параметр своей функции _POST и таким образом пытаетесь перезатереть суперглобальную переменную. Так делать нельзя.
    Все будет работать, если убрать _POST из параметров (и не передавать его при вызове - он и так отовсюду доступен).
    Ответ написан
    2 комментария