Вы можете попробовать использовать запрос @media, как показано ниже.
Сначала добавьте класс логотипа, а затем используйте @media, чтобы указать высоту и ширину логотипа для каждого размера устройства. В приведенном ниже примере я нацеливаюсь на устройства с максимальной шириной 320 пикселей (iPhone). Вы можете поэкспериментировать с этим до тех пор, пока не найдете наилучшее соответствие. Простой способ проверки: используйте Chrome или Firefox с проверяющим элементом. Сократите ваш браузер как можно дальше. Обратите внимание на изменение размера логотипа в зависимости от заданной вами максимальной ширины @media. Проведите тестирование на iPhone, устройствах Android, iPad и т. Д., Чтобы получить желаемые результаты.
.logo {
height: 42px;
width: 140px;
}
@media (max-width:320px) {
.logo {
height: 33px;
width: 110px;
}
}
Это расширение GCC, которое текущий MSVC не поддерживает. Вы можете довольно легко заменить его в MSVC с помощью _alloca (распределение стека, которое не требует ручного освобождения со стороны программиста):
#include <malloc.h>
...
int *k = (int *)_alloca(sizeof(*k)*r);
Стандарт C99 добавил массивы переменной длины, но другие поставщики, такие как GCC, добавили их намного раньше.
Мне жаль, что это не ответ, но я хотел бы указать на потенциальную проблему с использованием массивов переменной длины. Большая часть кода, с которым я столкнулся, выглядит так:
void foo(int n)
{
int bar[n];
.
.
}
Здесь нет явной проверки ошибок. Большой n
может легко вызвать проблемы.
Это расширение GCC, которое текущий MSVC не поддерживает. Вы можете довольно легко заменить его в MSVC с помощью _alloca (распределение стека, которое не требует ручного освобождения памяти со стороны программиста)
да, но оно ограничено 1 МБ