Responsive design "CssRegistration não tem uma propriedade pública chamada mídia"
-
10-12-2019 - |
Pergunta
Eu estou atualmente em fase de implementação responsive design em um site de intranet.Eu adicionei simples links na página principal, com base em min-width e max-width propriedades de mídia.Ele funciona como um encanto, mas isso não aconteceu quando eu tentei usar o CssRegistration.Por alguma razão desconhecida, o CssRegistration não tem uma propriedade de mídia (que eu saiba).Existe uma maneira de superar este problema usando CssRegistration em vez de simples HTML-links?
<!-- Responsive CSS-files based on width -->
<link type="text/css" rel="stylesheet" media="only screen and (min-width: 801px)" href="/Style%20Library/css/ResponsiveMaster.css" />
<link type="text/css" rel="stylesheet" media="only screen and (min-width: 401px) and (max-width: 800px)" href="/Style%20Library/css/ResponsiveMasterPad.css" />
<link type="text/css" rel="stylesheet" media="only screen and (max-width: 400px)" href="/Style%20Library/css/ResponsiveMasterMobile.css" />
Se eu tentar, eu recebo um conhecido tela:
Solução
Como você diz, não há atributo de mídia.
Há um par de maneiras que eu posso pensar para lidar com isso no SharePoint:
- Use Dispositivo De Canais para atingir diferentes páginas mestras para diferentes dispositivos
- Ou, adicionar todos os seus responsivos CSS em um arquivo, que contém o @media wrappers.Este também vai ser melhor, pois se, por exemplo, redimensionar a janela do navegador, você obter o adequado css que você vá.
- Uma terceira maneira que vem à mente é o uso de uma combinação de @media e @import tags CSS-arquivo, o carregamento de arquivos específicos com o @importar para o @atributo de mídia
Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange