Ни одно из этих чистых css-решений не работает корректно с динамическим изменением размера содержимого (по крайней мере, в Firefox и Safari), например, если у вас есть фон, установленный на контейнере div, страница, а затем измените размер (добавив несколько строк) в таблицу div, таблица может торчать из нижней части стилизованной области, т. е. вы можете иметь половину стола в белом на черной теме, а половину стола - белую, так как цвет шрифта и цвет фона белый.
Вложенная разметка в нескольких столбцах - это уродливый взломать, а 100% минимальный размер тела / контейнер div для приклеивания нижнего колонтитула - это уродливый хак.
Единственное не-скриптовое решение, которое работает во всех браузерах, которые я пробовал: гораздо более простая / короткая таблица с темой (для заголовка) / tfoot (для нижнего колонтитула) / tbody (td для любого количества столбцов) и высотой 100%. Но это восприняло семантические и SEO-недостатки (tfoot должен появиться перед tbody. Роли ARIA могут помочь достойным поисковым системам, хотя).
Теперь это возможно в Google Compute Engine. Вам просто нужно остановить экземпляр. И затем вы можете редактировать тип экземпляра и перезапустить.
ОБНОВЛЕНИЕ : этот ответ больше не соответствует действительности, поскольку после изменения этого ответа была добавлена возможность изменять тип экземпляра. Смотрите принятый ответ.
Хотя в GCE нет прямой опции «редактировать тип машины», можно добиться этого:
Документация Google Cloud гласит, что вы можете сделать это на странице со списком Экземпляров ВМ, однако сейчас это не так. Я обнаружил, что вы должны нажать на название изображения в этом списке. Затем откроется страница, где вы можете отредактировать экземпляр, включая тип.
Чтобы изменить тип машины вашего экземпляра виртуальной машины. Сначала вам нужно остановить экземпляр вашей виртуальной машины. После этого нажмите «Изменить», затем измените тип машины и сохраните ее.
Используйте gcloud compute instances set-machine-type
, чтобы изменить остановленный экземпляр на машину другого типа, например:
$ gcloud compute instances list
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
foobaz us-central1-a f1-micro 10.128.0.2 104.197.19.103 RUNNING
$ gcloud compute instances stop foobaz
$ gcloud compute instances set-machine-type foobaz --machine-type g1-small
$ gcloud compute instances start foobaz
$ gcloud compute instances list
NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS
foobaz us-central1-a g1-small 10.128.0.2 104.197.179.223 RUNNING
Предполагается, что вы уже установили ваша зона по умолчанию, например:
$ gcloud config set compute/zone us-central1-a
Также обратите внимание, что EXTERNAL_IP
изменилось в примере выше. Если вы хотите, чтобы вновь измененный размер машины сохранял исходный IP-адрес, то , прежде чем остановить его , следует преобразовать внешний IP-адрес из эфемерного в статический :
$ ipaddr=$(gcloud --format="value(networkInterfaces[0].accessConfigs[0].natIP)" compute instances describe foobaz)
$ gcloud compute addresses create foobaz-ip --addresses $ipaddr