Mostrar um div em intervalo específico de resoluções

  • Autor Autor raulsuances
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
R

raulsuances

Beta
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Se puede hacer que un elemento, un div por ejemplo, solo aparezca en determinadas resoluciones?
por ejemplo, que solo aparezca en las resoluciones que sean mayores a 770 x 1000.
Y en las otras o bien le dejo invisible con visibility: hidden, o bien borro el nodo mediante javascript (esto se hacerlo), pero no se si es posible programarlo, por ejemplo:

PHP:
if($resolucionAncho>770){
//muestro el div
}else{
//no muestro el div
}

Creo que lo que necesito saber es una función que saque la resolución de pantalla que tengo en cada momento.
Espero haberme explicado bien.
Un saludo
 
Última edição:
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Hola,

Puedes usando esta variable screen.width y screen.height

PHP:
if(screen.width>770){
 //muestro el div 
}else
{ //no muestro el div
 }
 
[MENTION=163333]raulsuances[/MENTION] Hola. Lo que quieres lo puedes hacer así:

HTML:
.div{display:none;}
  [MENTION=16931]medi[/MENTION]a(min-width:770px){
.div{display:block;}

Así el div solo te aparecerá en resoluciones mayores a 770px. Recuerda sustituir .div por el class de tu div.
 
[MENTION=163333]raulsuances[/MENTION] Hola. Lo que quieres lo puedes hacer así:

HTML:
.div{display:none;}
      [MENTION=16931]medi[/MENTION]a(min-width:770px){
.div{display:block;}

Así el div solo te aparecerá en resoluciones mayores a 770px. Recuerda sustituir .div por el class de tu div.

No consigo hacerlo como me dices,
Te dejo el código a ver si ves lo que estoy haciendo mal, que esto es nuevo para mi.
He cambiado el ejemplo, en este simplemente tengo un div con 100 de ancho y 100 de alto de color dorado, y lo que quiero es que cuando baje de 770px la resolucion del navegador cambie de color a rojo.
Inserir CODE, HTML ou PHP:
<html>
	<head>
		<style>
		    [MENTION=16931]medi[/MENTION]a (min-width: 770px) {
			.prueba {
				background-color: red;
			}
		</style>
	</head>
	<body>
		<div class="prueba" style="width:100px;height:100px; background-color:gold">
	</div>
	</body>
</html>

ACTUALIZO
Acabo de ver el fallo, lo dejo corregido por aqui
HTML:
<html>
	<head>
		<style>
			.prueba{
				background-color:gold
			}
		  [MENTION=16931]medi[/MENTION]a (max-width: 770px) {
			.prueba {
				 background-color: red;
				
			}
		</style>
	</head>
	<body>
		<div class="prueba" style="width:100px;height:100px;">
		
		</div>
	</body>
</html>
El fallo yo creo que estaba en que al darle el background-color en linea, me cogía ese color todo el rato y no cambiaba.
GRACIAS POR AYUDARME [MENTION=130977]elii01[/MENTION] 🙂
Un saludo
- - - Actualizado - - -

Hola,

Puedes usando esta variable screen.width y screen.height

PHP:
if(screen.width>770){
 //muestro el div 
}else
{ //no muestro el div
 }

Gracias por tu respuesta,
creo que lo voy a hacer con css como me dice [MENTION=130977]elii01[/MENTION] que tiene pinta de ser mas sencillo
Un saludo🙂
 
Última edição:
No consigo hacerlo como me dices,
Te dejo el código a ver si ves lo que estoy haciendo mal, que esto es nuevo para mi.
He cambiado el ejemplo, en este simplemente tengo un div con 100 de ancho y 100 de alto de color dorado, y lo que quiero es que cuando baje de 770px la resolucion del navegador cambie de color a rojo.
Inserir CODE, HTML ou PHP:
<html>
    <head>
        <style>
            [U][B]Enlace eliminado[/B][/U]a (min-width: 770px) {
            .prueba {
                background-color: red;
            }
        </style>
    </head>
    <body>
        <div class="prueba" style="width:100px;height:100px; background-color:gold">
    </div>
    </body>
</html>

ACTUALIZO
Acabo de ver el fallo, lo dejo corregido por aqui
HTML:
<html>
    <head>
        <style>
            .prueba{
                background-color:gold
            }
          [MENTION=16931]medi[/MENTION]a (max-width: 770px) {
            .prueba {
                 background-color: red;
                
            }
        </style>
    </head>
    <body>
        <div class="prueba" style="width:100px;height:100px;">
        
        </div>
    </body>
</html>
El fallo yo creo que estaba en que al darle el background-color en linea, me cogía ese color todo el rato y no cambiaba.
GRACIAS POR AYUDARME elii01 🙂
Un saludo
- - - Actualizado - - -



Gracias por tu respuesta,
creo que lo voy a hacer con css como me dice elii01 que tiene pinta de ser mas sencillo
Un saludo🙂

Básicamente et facilite lo que solicitastes el directamente lo mete en css que si es mayor cambie de valor el otro es que directamente no lo cargue.

Saludos.
 
Voltar
Topo