Нет, нельзя.
Видеохостинги заранее рендерят видео с разным битрейтом и разным разрешением.
так как это процедура трудная. То рендер как правило пускают в моменты простоя ЦПУ. Скажем падают запросы обращений на ютуб до 60% от максимльного, в этот момент начинается перерендер, под низкое разрешение с низким битрейтом. но это допустим для каналов с низкими посещениями. а для популярных каналов рендерят сразу. так как млиллионы зрителей хотят скачивать один файл с низким разрешением. Ну а после этого видео файл хранится на кеширующих серверах каждого региона. Например в каждой области России есть сервера для кеширования популярных роликов. Там как правило хранится фильмы в виде порезанных кусков по 20Мб (условно), Например ты во время просмотра меняешь качество, и качество меняется на самом деле по только когда у тебя закончится предыдущий кусок, а новый будет подгружаться уже с другим разрешением. Это позволяет менять параметры видео налету.
.
В любом случае число кадров в секунду исходит из того что каждый кадр хранит только изменнёные пиксели(не все, только малую часть) предыдущего кадра. Каждые 10-20 секунд в видео вставляется ключевой кадр со всеми пикселями.
Как Вы думаете если изъять промежуточный кадр, то следующие кадры будут правильно отображать данные?
Вы такой эфект уже видел при просмотре видео с лазерных дисков, когда в середине видео вдруг появляются белые квадраты с деталями из фильма. А потом спустя несколько секунд всё становится нормально. Нормально становится когда показывается ключевой кадр. А дефекты видео были, когда был испорчен один из промежуточных кадров, и Вы приэтом могли видеть как один промежуточный кадр даёт дефект на все последующие кадры. А ведь кадров то 25 в секунду. 1 кадр даже не виден глазу, а мы видим как дефект этого короткого кадра растягивается на долгие секунды.
А если Вы думаете что хранить видео в формате где каждый кадр является ключевым. То разочаруйтесь, такие видеоролики будут занимать 50Гбайт за 30 минут и качество будет их не 4К а всего 720 пикселей по вертикали.
Может для поля установлена минимальная ширина 600px, у родителя установлен стиль DISPLEY: FLEX, таким образом ширина поля ограничена FLEXом, а ширина опции ограничена минимальной шириной.
В буквальном смысле кнопку делать очень не стоит.
"Кнопки" - следует использовать для навигации в пределах одной страницы и выполнения определенных функций.
"Ссылки" - следует использовать для навигации на другие разделы сайта.
Исходя из этого Вам следует создать ссылку <A> и уже эту ссылку стилизовать как кнопку.
Как создавать ссылку в PHP написал @ThunderCa
Предположим что выподающее меню это список<ul><li>
Весь список позиционируйте как Abosulte.
.
Каждый элемент в списке это Радиокнопка.
Нажимая на кнопочку(треугольник справа) расскрытия меню, вы придаете этой кнопке фокус.
Напишите стиль что если кнопочка с треугольником имеет фокус, то все элементы в списке становятся видимыми, а если фокуса нет, то в списке будет отображатся только один элемент радиокнопки у которой сделан селект.
Ну а далее к каждой радиокнопке привязываете картинку, текст, и самурадиокнопку делаете прозрачной. И к каждой радиокнопке приделываете ховер.
тут описаны все способы и использования addEventListener.
Быть может для Вашего скрипта события загрузки уже наступают еще до загрузки страницы?
Быть может Вам при начале выполнения скрипта, надо привязатся к событию загрузки тега BODY.
Но перед этим надо сделать проверку наличия тега BODY.