2012-03-30 13 views
6

Ich habe eine "reaktionsschnelle" Website, aber es gibt einige Links, die ich nur auf "PC-Browsern" und nicht auf "Tablet-Landschaft" will, da sie auf Flash-Objekte verlinken.Tablet-Landschaft mit spezifischen Medienabfragen

Bis jetzt ist das was ich getan habe, aber es ist nicht ein 100% Fix wie einige Android-Tabletten wie "Lenovo Think Pad", die einen größeren Bildschirm haben.

I Medienanfragen sind mit meiner Seite anspricht, und das ist zu machen, was ich zur Zeit mit ...

@media only screen 
and (max-device-width : 1024px)  
and (orientation:landscape) 
{ 
    header.Site 
    { 
     nav.Site > ul > li { line-height: 2 ; } 

     div.BidSessionCountdown, 
     a.LiveOnline { display: none; } 
    } 
} 

Gibt es keinen CSS-Fixes können Sie denken?

Vielen Dank im Voraus Tash: D

Antwort

2

Medienabfragen verwenden nicht wirklich die geeignete Technik ist zu erkennen, ob Flash unterstützt wird oder nicht. Mein Vorschlag wäre, dies mithilfe von JavaScript zu bestimmen und dem body-Element eine Klasse zuzuweisen, z. B. "no-flash". Ihr JavaScript könnte wie folgt aussehen:

//Using jQuery here 
if(typeof navigator.plugins['Shockwave Flash'] == 'undefined') { 
    $('body').addClass('no-flash'); 
} 

Dann CSS wie folgt sein könnte:

body.no-flash a.LiveOnline { 
    display:none; 
} 

Hinweis: Der JavaScript-Code, der Navigator-Plugin prüft kommt von Here.

0

Wenn Sie sind Mit der Orientierung: Landschaft müssen Sie berücksichtigen, ob das Tastatur-Popup die Anzeige ändert, sobald die Breite größer als die Höhe ist, wird es von der CSS als Landschaft betrachtet.