Ответы пользователя по тегу HTML
  • Как сделать Second Picker?

    @alexalexes
    <input id="settime" type="time" step="1" />
    Ключевой параметр step - он позволяет открыть градацию секунд во всплывающем интерфейсе.
    Ответ написан
  • HTML как убрать эти подсказки браузера?

    @alexalexes
    Настройки - Адреса и другие данные - Сохранять и автоматически подставлять адреса
    В том числе телефонные номера, адреса электронной почты и адреса доставки.
    Ответ написан
  • Как не обрезать тень элемента, используя "overflow: hidden"?

    @alexalexes
    669f3ac55a2de517816393.png
    Банальная геометрия.
    Горизонтальная ширина тени выбирается как значение a, при котором градиент тени полностью уходит от насыщенного цвета в цвет фона.
    Теперь нужно соблюсти условия:
    1) Два горизонтальных отступа между слайдами не должно быть меньше значения 2a - чтобы тени соседних слайдов не накладывались.
    2) Горизонтальный отступ контейнера слайдов должен быть равен ровно значению a, тогда по краям граница контейнера не будет затрагивать ни одну тень крайних и скрытых слайдов. Если сделать больше горизонтальный отступ, то предусмотрите, чтобы скрытые элементы убирали свою тень когда они выходят за пределы контейнера.

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

    @alexalexes
    можно было получить данные ИЗ ВСЕХ созданных мной input'ов

    Ну, например, дотягиваться до них любым методом документа, получающего ноду, и получать свойство value этой ноды:
    let input_value_1 = document.querySelector('CSS селектор на ваш первый input').value;
    let input_value_2 = document.querySelector('CSS селектор на ваш второй input').value;
    Ответ написан
    3 комментария
  • Почему при переносе элементов по DOM происходит их дублирование?

    @alexalexes
    insertAfter
    Вам нужен не этот метод. Для перемещения узлов в пределах родителя используется replaceChild.
    PS:
    ".primary_menu ul li:nth-child(2)"
    Научитесь захватывать узлы нативными методами querySelector и querySelectorAll.
    Нет причин использовать JQuery в вашей задаче.
    Ответ написан
    Комментировать
  • Можно ли создать такое элементами CSS html?

    @alexalexes
    Если это чисто декоративный элемент, и в нем внутри не будут другие элементы, то можно разрезать текстуру на составные текстуры и какие-то из этих частей повторять, чтобы получить бесконечно удлиняемый эффект.
    Если у этого элемента будет еще какая-та нагрузка, то смотрите как это реализовать в svg.
    Ответ написан
    Комментировать
  • Какую книгу выбрать?

    @alexalexes
    Читай все, но книжек мало.
    Чем меньше технологий в названии, тем меньше будет галопом по Европам в содержании.
    Ищите книжки отдельно по PHP (второй уровень прокачки - фреймворки: Laravel, Yii, Symphony и т.д.), отдельно JS (второй уровень прокачки: VueJS, React и т.д.), отдельно CSS (второй уровень - препроцессоры), MySQL (второй уровень Postgres, СУБД из кровавого интерпрайза). В дополнение всякие Memcached, Redis, Rest, TreeQL. Книги по шаблонам проектированиям, MVC модели и т.д., системы управления версиями, типа Git, контейнеризация, типа Docker и т.д., администрирование Linux/MS.
    https://roadmap.sh/full-stack
    https://roadmap.sh/frontend
    Ответ написан
    9 комментариев
  • Делал форму обратной связи, вроде написал все правильно, но выводит ошибку заполните все поля, хотя все заполнил. Как быть?

    @alexalexes
    <form action="send.php">
    ...
    </form>

    Вы не указали метод отправки POST, соответственно, ваши переменные формы нужно искать в методе GET.
    <form action="send.php" method="POST">
    ...
    </form>

    Чтобы убедиться в этом:
    echo "GET:";
    var_dump($_GET);
    echo "POST:";
    var_dump($_POST);
    exit();
    Ответ написан
    Комментировать
  • Подключение xml с помощью js к html?

    @alexalexes
    1. Нужно убедиться, что файлы script.js и data.xml находятся в том же каталоге, что и index.html.
    2. Нужен веб-сервер, так как ajax-запрос вы не сделаете на файл диска data.xml.
    На сервере должен быть определен домен (путь будет локальный), и в каталоге, с которым ассоциирован домен, должны находиться вышеупомянутые файлы.
    Обращаться к index.html необходимо через домен.
    Ответ написан
    Комментировать
  • Как сделать чтобы было по 2 блока на строке, а не сразу все 4?

    @alexalexes
    Используйте display: grid вместо flex. В гридах есть возможность задать табличную сетку для контейнера с элементами.
    Ответ написан
    Комментировать
  • Как задать высоту скроллбару?

    @alexalexes
    Никак.
    В css у скроллбара можно отрегулировать только следующие параметры, и то, любой браузер этим может пренебречь:
    - ширина видимой области скроллбара;
    - цвет подложки скроллбара;
    - цвет ползунка скроллбара.
    Вертикальный скроллбар по высоте всегда занимает всю высоту видимой области прокручиваемого блока. Высота ползунка определяется особенностями браузера, со стороны контента сайта она не регулируемая.
    Ответ написан
    Комментировать
  • Как сделать так, чтобы музыка включалась сама тогда, когда изображение с ID "seconds" достигало поворота в 0 градусов?

    @alexalexes
    При попытке вызвать play(), вы получаете сообщение об ошибке в консоли:
    failed because the user didn't interact with the document first

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

    @alexalexes
    Нужно помнить, что у тега a и button по умолчанию поведение display: inline - строчные элементы.
    Если хотите, чтобы они служили там, где используются блочные элементы (display: block) и блочно-строчные (display: inline-block), как div в вашем примере. Так обеспечьте их этим свойством - указав его явно.
    Зная это, можно спокойно заменить div на a и решить вашу проблему.
    Ответ написан
    Комментировать
  • Как обратиться к определенному элементу внутри div и удалить весь div родительский?

    @alexalexes
    Нужно извлечь из страницы все ссылки с атрибутом rel="tag". Пройтись по списку найденных ссылок и найти ссылку с необходимым содержанием. Далее подняться на 4 предка вверх и удалить его.
    let anchors = document.querySelectorAll('a[rel="tag"]');
    for(let i = 0; i < anchors.length; i++)
    {
      if(anchors[i].innerHTML.indexOf('Онкология') >= 0)
      {
        anchors[i].closest('.case-col').remove();
        break;
      }
    }

    PS: Jquery должен умереть, не используйте его там, где справятся нативные функции JS.
    Ответ написан
    3 комментария
  • Как сделать боксы подряд?

    @alexalexes
    Либо по старинке - всем элементам, которые хотите сделать в ряд, даете свойство display: inline-block; либо по молодежному - делаете контейнер с display: flex и добавляете необходимые flex-свойства элементам, чтобы обеспечить выравнивание и пропорции заполнения блоков.
    Еще древнее способ и самый правильный с точки зрения семантики HTML - элемент .button используете как input, а не div, чтобы все элементы в ряду были строчного типа - тогда мучиться с выравниванием не придется.
    Ответ написан
    5 комментариев
  • Успешно! вместо текста?

    @alexalexes
    Браузеру пофигу на метазаголовки, если сервер пришлет http-заголовок с другой кодировкой.
    Нужно смотреть:
    1) в какой кодировке файл php (можно пересохранить в другой кодировке);
    2) какой браузеру приходит http-заголовок, связанный с кодировкой от сервера на вкладке Сеть по F12 (можно добавить http-заголовок с нужной кодировкой через функцию header);
    3) meta-заголовки кодировки бесполезны, если выводом контента рулит php-скрипт.
    Ответ написан
    Комментировать
  • Выбор меню. Оставить фокус при загразки другой html?

    @alexalexes
    Вариант 1, решение на коленке, которое нужно здесь и сейчас.
    Написать костыль на JS в виде функции, которая возьмет подстроку из текущего url и произведет поиск нужной ссылки в меню с таким же href атрибутом, и поставит найденному html элементу класс активного элемента (или контейнеру ссылки - li элементу). Не забудьте прогуляться до первого уровня меню и тоже расставить классы активного элемента, если у вас меню многоуровневое.

    Вариант 2, как должно быть.
    У вас во входном скрипте index.php должен быть реализован примитивный роутинг url.
    Благодаря роутеру для каждой страницы вы точно можете получить путь из компонентов адреса.
    Например, site.com/page1/subpage2.
    От роутера вы легко можете получить путь к странице, хотя бы в таком виде:
    $page_path = ['page1', 'subpage2'];
    Также меню должно формироваться динамически, из какой-то сохраненной структуры, пусть структура будет статичной.

    $site_menu =
    [
       'page1' =>
       [
          'title' => 'Страница 1', 
          'child' => 
          [
             'subpage2' => ['title' => 'Субстраница 2', 'child' => []]
          ]
      ],
      'page2' =>
       [
          'title' => 'Страница 2', 
          'child' => []
      ],
    ];

    Примерная функция для формирования меню:
    // рекурсивная функция для получения сверстанного меню из структуры
    function get_main_menu(
       $curr_menu, //часть меню текущего уровня
       $level, // номер текущего уровня
       $menu_path, // путь к текущему уровню меню
       &$page_path // путь к текущей странице 
    )
    {  
      $out = '';
      if(count($curr_menu) > 0)
      {
        $out .= '<ul class="main-menu main-menu_level-'.$level.'">';
        foreach($curr_menu as $key_item => $menu_item)
        {
            $out .= '<li class="main-menu__item '
                     .($page_path[$level] == $key_item ? 'main-menu__curent' : '') // определяем текущий пункт меню
                   .'"><a href="'.$menu_path.'/'.$key_item.'">'.$menu_item['title'].'</a>';
            get_main_menu($curr_menu['child'], $level + 1, $menu_path.'/'.$key_item, $page_path); // рекурсивный вызов функции для прорисовки следующего уровня
            $out .= '</li>';
        }
        $out .= '</ul>';
      }
      return $out;
    }
     // получаем html-фрагмент меню по структуре
     $out_site_menu = get_main_menu($site_menu, 0, '', $page_path);
    Ответ написан
    1 комментарий
  • Что делать если попап окно уже открыто при загрузке на сайт?

    @alexalexes
    Значит, CSS стили не подействовали, или были перебиты другими стилями от других модулей.
    Ответ написан
    Комментировать
  • Как выбрать много пользователей через чекбоксы и выполнить sql запрос?

    @alexalexes
    Оборачиваете html-таблицу в форму, с кнопочкой сабмита. Когда отметили нужное, пользователь должен засабмитить форму. В форме нужно указать метод передачи GET или POST и адрес, где будет располагаться серверный скрипт обработки формы.
    В скрипте примерно такой код:
    <?php
    // считаем, что данные пришли по POST-у
    if(isset($_POST['submit'])) // проверяем, что приехали данные формы по submit, в кнопке сабмита атрибут name должен иметь значение submit
    {
       $inserted_user_count = 0;
       if(isset($_POST['selected_users'])) // присутствуют отмеченные пользователи
       {
          $pdo = new PDO(параметры подключения к базе);
          foreach($_POST['selected_users'] as $selected_user_id)
          {
            $stmt = $pdo->prepare('insert into ваша таблица (атрибуты таблицы) values (значения атрибутов таблицы, кроме user_id, :user_id)');
            $stmt->bindParam(':user_id', $selected_user_id, PDO::PARAM_INT);
            // еще байндим какие-то параметры у запроса, если есть плейсхолдеры, кроме :user_id.
            $stmt->execute(); // наконец, выполняем запрос
            $pdo->commit(); // фиксируем изменения в базе данных, если у вас соединение открыто не в режиме автокамита
            $inserted_user_count++;
          }
          $pdo = null; // закрываем соединение с базой
       }
       echo 'Обработано пользователей: '.$inserted_user_count;
    }
    ?>
    Ответ написан
    Комментировать
  • Почему не может быть дочерним элементом (ошибка c валидатора W3C)?

    @alexalexes
    tbody и tfoot поменяйте местами. Само название секций таблицы говорит об их порядке.
    Ответ написан
    2 комментария