• Как изменить текст цвета в зависимости от фона?

    Frontend777
    @Frontend777
    Ubuнтер, php разраб, Wordпрессер, человек
    Если вам подойдет использование js, то можно попробовать рассмотреть такой пример:
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <script src="script.js"></script>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <link rel="stylesheet" href="styles.css">
      <title>Dynamic Text Color</title>
    </head>
    <body>
      <div class="container">
        <p id="content">Ваш текст.</p>
      </div>
    </body>
    </html>

    Css:
    body {
      margin: 0;
      padding: 0;
      font-family: Arial, sans-serif;
    }
    
    .container {
      width: 100%;
      height: 100vh;
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: white; /* Default background color */
    }
    
    .container.dark {
      background-color: black; /* Dark background color */
      color: white; /* Text color for dark background */
    }

    JS:
    const container = document.querySelector('.container');
    const content = document.getElementById('content');
    
    // Функция для определения цвета фона
    function getBackgroundColor(element) {
      const bgColor = window.getComputedStyle(element).backgroundColor;
      return bgColor;
    }
    
    // Функция для определения оптимального цвета текста
    function getTextColor(backgroundColor) {
      // Пример простой проверки на светлый или тёмный цвет фона
      const rgb = backgroundColor.match(/\d+/g);
      const brightness = (parseInt(rgb[0]) * 299 + parseInt(rgb[1]) * 587 + parseInt(rgb[2]) * 114) / 1000;
    
      return brightness >= 128 ? 'black' : 'white';
    }
    
    // Изменение цвета текста в зависимости от цвета фона
    function updateTextColor() {
      const bgColor = getBackgroundColor(container);
      const textColor = getTextColor(bgColor);
      content.style.color = textColor;
    }
    
    // Обновляем цвет текста при загрузке и изменении размера окна
    window.addEventListener('load', updateTextColor);
    window.addEventListener('resize', updateTextColor);

    P.S Нагенерил код gpt
    Ответ написан
    7 комментариев
  • Насколько сложно реализовать данную SVG?

    RAX7
    @RAX7
    Ответ написан
    Комментировать
  • Почему в Kotlin (а может и в Java) так много методов?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    часть методов появляется из-за строгой типизации: для разных типов приходится писать разные методы

    Нет. В Java каждый объект имеет конкретный тип, поэтому у него не может быть методов для разных типов :)
    String - тип очень распространённый, с ним много работы, поэтому в Java сочли необходимым прикрутить к нему ряд методов, максимально их оптимизировав. И я бы не сказал что их много. М.б. так кажется глядя на список, выдаваемый IDE, но там много перегруженных методов: с одинаковым именем, но с разными аргументами. Плюс есть статические методы у класса String. Плюс есть специальные классы StringBuilder/StringBuffer, там есть свои методы, видимо, народ просил :)
    То же относится к массивам - всё ради скорости!
    В Котлин же всё свалили в кучу, в т.ч. то что в Java делается циклами или через Stream API, поэтому кажется что методов до фига много. На самом деле, это просто "синтаксический сахар", когда в одно действие сводится несколько.
    Просто считай что Java "более низкоуровневая" чем Питон. Пользуйся теми методами что тебе нужны здесь и сейчас. Остальные пригодятся со временем.
    Ответ написан
    Комментировать
  • Как резануть блок вот так?

    MrDecoy
    @MrDecoy Куратор тега CSS
    Верставший фронтендер
    clip-path: polygon(0 0, 100% 0, 100% 80%, 80% 100%, 0 100%);
    https://www.cssportal.com/css-clip-path-generator/
    Ответ написан
    1 комментарий
  • Как сделать этот эффект?

    RAX7
    @RAX7

    P.S. лучше конечно на канвасе такое делать.
    Ответ написан
    Комментировать
  • Правильно ли выбрана архитектура базы данных и подход к решению задачи?

    Mikhail_E
    @Mikhail_E
    1С, SQL
    Структура вполне себе жизнеспособная, если ей правильно пользоваться.
    Чтобы не "Лопатить всю таблицу", в которой через некоторое время будет много "Закрытых" заявок, необходимо добавить индекс по полю "Статус".
    Таким образом при выполнении запроса-выборки, если вы накладываете фильтр на эту колонку, лишние значения будут отсекаться (чтение будет сначала происходить по индексу, а затем уже строки из таблицы, которые подходят под критерии отбора).
    Ответ написан
    Комментировать