Задать вопрос
  • Как наблюдать за изменениями в iframe?

    delphinpro
    @delphinpro Куратор тега HTML
    frontend developer
    Если содержимое фрейма с другого домена, то достучаться к нему невозможно. Браузер блокирует такую возможность из соображений безопасности.
    Ответ написан
    Комментировать
  • Где хранить логотип веб-сайта?

    delphinpro
    @delphinpro
    frontend developer
    Возможно у вас уже есть таблица с глобальными настройками для сайта. Вот туда и запихните логотип.
    Но, соглашусь, требование странное. Можно так же хранить логотип на диске, можно даже в отдельной папке, и параметр в админке, для выбора/загрузки лого.
    Ответ написан
    1 комментарий
  • Как создать несколько одинаковых элементов?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    ну так создавайте в цикле новые элементы
    const backgroundSection = document.getElementById('bgElem');
    for(let i = 0; i < 45; i++) {
        const elem = document.createElement('span');
        backgroundSection.parentNode.appendChild(elem);
    }
    Ответ написан
    Комментировать
  • Как используют в верстке vh для размеров шрифтов?

    delphinpro
    @delphinpro Куратор тега Вёрстка
    frontend developer
    vw/vh - это довольно специфичный кейс для указания размера шрифта. Он не всегда и не везде нужен.
    А вот за использование пикселей надо уже наказывать =)

    Самое простое - ну хотя бы rem использовать.
    Как?

    Ну опять же самое простое решение, это задать для корня размер 62,5%

    :root{
      font-size: 62.5%
    }


    Это даст вам базовый размер шрифта в 10 пикселей (1rem = 10px) и вам будет удобно, без вычислений, задавать любые размер в rem.

    body { font-size: 1.4rem; /* 14px */ }
    h1 { font-size: 3.2rem; /* 32px */ }


    Ну логика понятна, надеюсь.

    Если используете препроцессор, то можно написать функцию для пересчета пикселей в ремы и использовать ее везде.

    @function toRem($px) {
      /* 16px – это значение шрифта по умолчанию в большинстве агентов */
      @return $px / 16px * 1rem;
    }
    
    body { font-size: toRem(14px); }
    h1 { font-size: toRem(32px); }
    Ответ написан
    9 комментариев
  • Как через PHP определить, подойдет ли длина строки для названия файла?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    1. не храните файлы с оригинальными названиями. Лучше их хешировать и сохранять на сервере в виде хешированных имен (md5, sha1).
    2. Сделайте простую проверку на максимум if (strlen(sss) > 200) warn!!! никаких обрезаний, просто предупреждение – Имя файла слишком длинное. Пусть пользователь сам меняет название.
    (strlen считает количество байтов, не символов. Ограничения в ОС как раз на количество байтов, скорее всего. Эмодзи в unicode занимают по 4-8 байтов, кириллица - по два, латиница по одному. )
    3. Если нужно сохранить оригинальные названия (для отображения на сайте, или для скачивания) – храните в БД соответствие hash<->original. Для корректного хранения в БД символов юникода, следует выбрать кодировку utf8mb4

    И никаких проблем.
    Ответ написан
    Комментировать
  • Как сделать красивый многострочный background у <code>?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Сделайте его блочным

    639f7781e9974813936851.png

    Здесь это делается по условию. Если в теге много символов, или более одной строки – он оборачивается в блочный pre
    Ответ написан
    Комментировать
  • Открытие сайта на полный экран?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    ...
    <div class="invisible-big-button"></div>
    <style>
      .invisible-big-button {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        z-index: 99999999;
      }
    </style>
    <script>
      document.querySelector('.invisible-big-button').addEventListener('click', () => {
        if (!document.fullscreenElement) {
            document.documentElement.requestFullscreen().then(() => {
                document.querySelector('.invisible-big-button').remove();
            });
        }
      });
    </script>
    </body>
    </html>


    Вставляй это в конец своего сайта, и разыгрывай на здоровье.
    На полный экран сайт откроется после первого клика в любое место страницы.
    Автоматически, без действия пользователя браузер зафуллскринить не получится.
    Ответ написан
    Комментировать
  • Центрирование сайдбара с контентом. Как?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Ответ написан
    Комментировать
  • Почему слайдер в табе не прогружается сам?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Инициализировать слайдер по событию переключения на таб.
    Слик определяет размеры слайдов при инициализации. Размеры скрытых элементов нулевые.
    Ответ написан
  • Как взять из элемента текстовую информацию?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Выкинуть нафиг второй цикл

    for (let i = 0; i < elements.length; i++) {
        // проходим циклом по всем элементам массивоподобного объекта
        let stroka = elements[i].textContent;
        let newLi = document.createElement("li");
        newLi.textContent = stroka;
        ul.appendChild(newLi);
      }
    Ответ написан
  • Нужен ли бэкендеру HTML?

    delphinpro
    @delphinpro Куратор тега HTML
    frontend developer
    Разумеется нужен. Вы постоянно будете сталкиваться с шаблонами для вывода ваших страниц.
    Вы можете не уметь верстать, но уметь использовать готовую верстку в своих проектах обязаны.
    Ответ написан
    Комментировать
  • Как Подключить 2 css Файла к laravel?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    да хоть сто. ларавел не имеет отношения к css
    Ответ написан
  • Как сделать border+circle под списком?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Даже не знаю, что здесь может не получиться...

    Ответ написан
    1 комментарий
  • Как указать главную кнопку submit?

    delphinpro
    @delphinpro Куратор тега HTML
    frontend developer
    Можно конечно, но вот хочу решить по другому.

    Хотеть не вредно. Только зачем? Можно же и нормально сделать.

    По вашему вопросу есть ответ:
    https://stackoverflow.com/questions/925334/how-is-....

    Суть:

    The point to take away is that there is no defined standard for what happens here and it's entirely at the whim of the browser - so as far as possible in whatever you're doing, try to avoid relying on any particular behaviour.
    Ответ написан
    Комментировать
  • Как заменить строчные For / if на блочные?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    webstorm может автоматом отформатировать код. Если в настройках код-стайла указать принудительное разворачивание (Force brace = Always), то будет так, как вы хотите.

    639bc2d7338f5894189758.png
    Ответ написан
    Комментировать
  • Как не переносить список статей при увеличении?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    prewordeSSS, вы от балды пробуете разные варианты? =))

    col-xl-* – это для больших экранов.
    Когда вы масштабируте страницу, логическое разрешение у нее уменьшается, вплоть до мобильного представления. Если вам, вне зависимости от размера вьюпорта необходимо выводить четыре колонки, то так и пишите col-3
    Но лучше, все-таки на мобильниках выводить в одну колонку, на планшетах, например в две, дальше уже четыре.
    Как-то так, примерно
    class="col-12 col-sm-6 col-md-3"
    Ответ написан
    Комментировать
  • Как отключать кнопку на время выполнения ajax?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Если речь идет о jquery, то есть глобальные обработчики ajax
    https://api.jquery.com/.../global-ajax-event-handlers/
    Они, будучи объявленными один раз, работают на все запросы
    Ответ написан
    Комментировать
  • Как написать этот код на Laravel?

    delphinpro
    @delphinpro Куратор тега Laravel
    frontend developer
    А что этот код делает? Достает список аэропортов города?

    1. Создать таблицы cities и airports (обратите внимание – названия во мн. числе)
    cities:
    id | name | другие поля, если нужно
    airports:
    id | city_id | name | другие поля, если нужно

    2. Создать модели City и Airport (обратите внимание – названия в ед. числе)

    2.1 В модели City создать отношение один-ко-многим (в городе может быть несколько аэропортов)

    public function airports(): \Illuminate\Database\Eloquent\Relations\HasMany {}
        return $this->hasMany(\App\Models\Airport::class);
    }


    2.2 В модели Airport создать обратное отношение

    public function city(): \Illuminate\Database\Eloquent\Relations\BelongsTo {}
        return $this->belongsTo(\App\Models\City::class);
    }


    Теперь можно получать аэропорты города, и город по аэропорту

    $from = $request->input['otkuda'];
    $city = \App\Models\City::whereName($from) // По названию города
        ->firstOrFail(); 
    
    // или
    // $fromId = $request->input['otkuda'];
    // $city = \App\Models\City::findOrFail($fromId); // По ID города
    
    dump($city->toArray()); // Получили город
    dump($city->airports->toArray()); // Получили список аэропортов города


    $airportId = $request->input['airportId'];
    $airport = \App\Models\Airport::findOrFail($airportId);
    
    dump($airport->toArray()); // Получили аэропорт по ID
    dump($airport->city->toArray()); // Получили город, в котором этот аэропорт находится.
    Ответ написан
    5 комментариев
  • Что значит эта строка в JS?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    `` – шаблонная строка
    `${variable}` - переменная в такой строке, или любое выражение
    [] - массив, доступ к элементу массива по индексу или ключу
    id.length-1 - обычное выражение, длина массива минус один
    id[id.length-1] - доступ к последнему элементу массива

    Раскладываем для понимания
    let lastIndex = id.length-1;
    let lastElement = id[lastIndex];
    `./articles/${lastElement}`


    Это всё базовый javascript. Первые страницы учебника.
    Ответ написан
    Комментировать
  • Почему появляется глюк отображения таблицы в HTML?

    delphinpro
    @delphinpro Куратор тега HTML
    frontend developer
    Чтобы такая таблица корректно отрисовалась, браузеру нужно знать размеры ячеек.
    <table border="1" width="700" height="150">
      <col width="20%">
      <col width="20%">
      <col width="10%">
      <col width="10%">
      <col width="20%">
      <col width="20%">
      <tr>
        <td colspan="6">Alan1</td>
      </tr>
      <tr>
        <td colspan="2">Alan2</td>
        <td colspan="2">Alan3</td>
        <td colspan="2">Alan4</td>
      </tr>
      <tr>
        <td rowspan="3">Alan5</td>
        <td colspan="2">Alan6</td>
        <td colspan="2">Alan7</td>
        <td rowspan="3">Alan8</td>
      </tr>
      <tr>
        <td>Alan9</td>
        <td colspan="2" rowspan="2">Alan10</td>
        <td>Alan11</td>
      </tr>
      <tr>
        <td>Alan12</td>
        <td>Alan13</td>
      </tr>
    </table>
    Ответ написан