J'ai un élément div que je veux masquer lorsque la largeur du navigateur est inférieure ou égale à 1026 pixels. Est-ce possible de faire avec le css: @media only screen and (min-width: 1140px) {}
Si css n'est pas possible, y a-t-il une alternative?
Informations supplémentaires: Lorsque l'élément div est masqué, je ne souhaite pas d'espace blanc. J'aimerais que la page se déroule comme si je supprimais entièrement l'élément div du code.
Le div que je cache est <div id="fadeshow1"></div>
_ .
HTML5 Doctype.
J'ai utilisé javascript pour placer une galerie dans cette div.
Je veux qu'il ressemble à ceci quand il est plus grand que 1026px largeur:
Je veux qu'il ressemble à ceci quand il a moins de 1026px de largeur:
Vous pouvez le faire avec CSS:
@media only screen and (max-width: 1026px) {
#fadeshow1 {
display: none;
}
}
Nous utilisons max-width
, parce que nous voulons faire une exception au CSS, lorsqu'un écran est plus petit que le 1026px. min-width
_ ferait en sorte que la règle CSS compte pour tous les écrans de largeur 1026px et plus grande.
Il ne faut pas oublier que @media
les requêtes ne sont pas prises en charge sur IE8 et les versions antérieures.
@media only screen and (max-width: 1026px) {
#fadeshow1 {
display: none;
}
}
Lorsque l'écran a une largeur inférieure à 1026 pixels, tout ce qui se trouve à l'intérieur de la { }
s'appliquera.
Certains navigateurs ne supportent pas les requêtes multimédia. Vous pouvez résoudre ce problème en utilisant une bibliothèque javascript telle que Respond.JS
si vous utilisez bootstrap vous pouvez simplement utiliser hidden-sm (lg ou md ou xs) en fonction de ce que vous voulez. vous pouvez ensuite aller dans le fichier css et spécifier les pourcentages que vous voulez dans l'exemple ci-dessous, il se cache sur les grands écrans, les écrans moyens et les très petits, mais s'affiche sur de petits écrans en prenant la moitié de l'écran.
<div class="col-sm-12 hidden-lg hidden-md hidden-xs">what ever you want</div>
Je ne sais pas à propos de CSS, mais ce code Javascript devrait fonctionner:
function getBrowserSize(){
var w, h;
if(typeof window.innerWidth != 'undefined')
{
w = window.innerWidth; //other browsers
h = window.innerHeight;
}
else if(typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0)
{
w = document.documentElement.clientWidth; //IE
h = document.documentElement.clientHeight;
}
else{
w = document.body.clientWidth; //IE
h = document.body.clientHeight;
}
return {'width':w, 'height': h};
}
if(parseInt(getBrowserSize().width) < 1026){
document.getElementById("fadeshow1").style.display = "none";
}
Pour ce faire, vous devez simplement utiliser une requête multimédia en CSS.
@media (max-width: 1026px) {
#fadeshow1 { display: none; }
}
Malheureusement, certains navigateurs ne supportent pas @media
_ (vous regarde IE8 et ci-dessous). Dans ces cas, vous avez quelques options, mais la plus courante est Respond.js, qui est un polyfill léger pour les requêtes de média CSS3 de largeur minimale/maximale.
<!--[if lt IE 9]>
<script src="respond.min.js"></script>
<![endif]-->
Cela permettra à votre conception réactive de fonctionner dans ces anciennes versions d’IE.
* référence
Cela devrait aider:
if(screen.width<1026){//get the screen width
//get element form document
elem.style.display == 'none'//toggle visibility
}
768 px devrait aussi suffire
Vous devez utiliser max-width au lieu de min-width.
<style>
@media (max-width: 1026px) {
#test {
display: none;
}
}
</style>
<div id="test">
<h1>Test</h1>
</div>
La méthode la plus simple que je connaisse consiste à utiliser onresize () func:
window.onresize = function(event) {
...
}
@media only screen et (min-width: 1140px) devrait faire son travail, montrez-nous votre fichier css