Jump to content
  • 0

отображение слоя в IE при заданном разрешении экрана


Dasha
 Share

Question

ситуация следующая

———————————————————

Есть панелька, прописанная в основной css'ке в виде слоя.

Нужно сделать так, чтобы она отображалась только тогда, когда разрешение монитора у посетителя выше 1280 по ширине.

Т.е., к примеру при разрешении экрана 1024 на 768 она отображаться не должна.

ВАЖНО - работать это должно ВО ВСЕХ основных браузерах.

Я прописала такое в ксске:


@media (max-width: 1250px) and (min-width: 300px) {
#panelka { display:none; }
}

#panelka{

top: 50px;

width: 100px;
height:100px;

position: absolute;
left: 10px;
}

сам html файл при этом содержит


<div id="panelka">панелька</div>

в результате ОПЕРА при разрешении выше 1250 показывает панельку, при разрешении ниже - нет. Отлично.

А с инернет эксплорером не получается.

IE у меня 8 версии он показывает эту панельку при любом разрешении экрана, и, судя по тому, что я начиталась, версии до 9той не поддерживают @media,

т.е. нужно что-то как-то хаками прописать. Я в них пыталась разобраться, но у меня не получилось.

Помогите, пожалуйста. Подправьте мой кодик, если не трудно, чтобы IE версий до 8ой включительно не показывал панельку, если разрешение экрана ниже указанных 1250 пикселей по ширине.

Edited by Dasha
Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

Вы двигались явно в правильном направлении, за исключением того, что IE8 и ниже media queries не поддерживают. Для них придётся городить какой-то джаваскрипт. Поищите плагины, наверняка кто-то уже об этом задумался.

Link to comment
Share on other sites

  • 0

Вы двигались явно в правильном направлении, за исключением того, что IE8 и ниже media queries не поддерживают. Для них придётся городить какой-то джаваскрипт. Поищите плагины, наверняка кто-то уже об этом задумался.

Так на этом выводе я последнее предложение поста своего и закончила :(

Искала, но никак не могу допереть, как это сделать фактически на моем примере. Может кто-то все таки знает?

Edited by Dasha
Link to comment
Share on other sites

  • 0

Даша, попробуйте так: )) меня выручало.


<style>
@media (max-width: 1250px) and (min-width: 300px) {
#panelka { display:none; }
}

#panelka {
display:block;

top: 50px;

width: 100px;
height:100px;

position: absolute;
left: 10px;
}
</style>


<DIV id="panelka">содержимое</DIV>

Единственное, в выражении document.write нужно писать всё в одну строку!


<script language="JavaScript1.2">

if (screen.availWidth <= '1250')
{
document.write('<STYLE>#panelka {display:none;}</STYLE>');
}
</script>

Edited by Николя223
Link to comment
Share on other sites

  • 0

Даша, попробуйте так: )) меня выручало.

Спасибо, похоже, что и меня выручило.

Вдогонку, дабы быть точно уверенной, что вопрос для меня закрыт, доспрошу.

Если мне нужно несколько условий прописать в JS для разных экранов,

то правильно ли я думаю, что заработает вот что:


<script language="JavaScript1.2">
if (screen.availWidth <= '1250')
{
document.write('<STYLE>#panelka1 {display:none;}#panelka2 {display:none;}</STYLE>');
}
else if (screen.availWidth >= '1251' && screen.availWidth <= '1350')
{
document.write('<STYLE>#panelka1 {display:true;}#panelka2 {display:none;}</STYLE>');
}
else if (screen.availWidth >= '1351')
{
document.write('<STYLE>#panelka1 {display:none;}#panelka2 {display:true;}</STYLE>');
}
</script>

Верно?

Edited by Dasha
Link to comment
Share on other sites

  • 0

я хотел написать, что медиа не прописывать (т.к. это работало в Мазиле, Хроме, explorere), но потом вовремя спохватился: Очень трудно определить как себя поведёт та или иная версия браузера, поэтому я бы @media на всякий пожарный оставил (для подстраховки))) она не много места занимает

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy