2017-05-26 1 views
0

Je veux montrer un div particulier sur le bureau et la tablette, mais je veux cacher ce div dans l'écran mobile. Dans l'écran mobile, je veux montrer une autre div, donc je veux échanger les deux divs.Afficher un div sur le bureau et montrer un autre div sur mobile avec CSS

C'est ma tentative:

.div-only-mobile { 
    visibility: hidden; 
    display: none; 
} 

@media screen and (max-width: 849px) { 

.div-no-mobile { 
    visibility: hidden; 
} 

.div-only-mobile { 
    visibility: visible; 
    display: block; 
} 

} 
+0

utiliser juste '@media all' et également définir'Affichage: none' à div-no-mobile et vous devriez être réglé? – thepio

Répondre

1

Oui à l'aide media query vous pouvez hide div à certains screen-resolution comme exemple ci-dessous, mais CSS propriété style visibility juste hides un element, mais toujours layout est visible que les effets d'autres éléments, pour le cacher totalement utiliser display comme none, essayez ci-dessous exemple,

.desk{ 
 
    width:400px; 
 
    height:200px; 
 
    background:red; 
 
} 
 
.div-only-mobile{ 
 
    width:400px; 
 
    height:200px; 
 
    background:orange; 
 
} 
 
@media screen and (max-width : 1920px){ 
 
    .div-only-mobile{ 
 
    visibility:hidden; 
 
    } 
 
} 
 
@media screen and (max-width : 906px){ 
 
.desk{ 
 
    visibility:hidden; 
 
    } 
 
.div-only-mobile{ 
 
    visibility:visible; 
 
    } 
 
}
<div class="desk">Large Screen</div> 
 
<div class="div-only-mobile">Only Mobile</div> 
 
<p>Demo Text.</p>

+0

Le simple fait d'utiliser la visibilité fait que le div occupe de l'espace même s'il n'est pas visible. – thepio

+0

@thepio c'est vrai c'est juste cacher élément pas sa disposition, comme dans les codes ci-dessus il affecte la mise en page et la balise p est alignée en bas, alors que si display: none cache totalement une div de layout. Était juste en ajoutant la différence entre eux. – frnt

0
.div-only-mobile { 
    display: none; 
} 
.div-no-mobile { 
    display: block; 
} 
@media screen and (max-width: 849px) { 

.div-no-mobile { 
    display:none 
} 

.div-only-mobile { 
    display: block; 
} 

}