Centralmente na viewport usando CSS

Estou olhando para centralizar verticalmente um<div> na janela de exibição (janela do navegador) sem recorrer ao Javascript (somente HTML e CSS puro). Eu tenho várias restrições:

Odiv deve estar centralizado verticalmente na janela de exibiçã Métodos vi apenas suporte centralizado dentro de outro<div>, que não é o que eu querA altura dodiv Não é conhecido

Outras restrições:

Odiv deve estar alinhado à direitOdiv tem uma largura constante.Odiv deve suportar o preenchimento. Outros elementos serão colocados na página da web. Odiv atua como um menu. A div deve suportar uma cor / imagem de plano de fund

Isto me aproxima do que eu quero, mas não exatamente:

#nav {
    position: fixed;
    right: 0;
    top: 50%;
}

No entanto, otop do navegador está no meio, não omei da navegação.

Existe alguma técnica que me permita centralizar meudiv com essas restrições?

questionAnswers(3)

yourAnswerToTheQuestion