Показывать div только на маленьком экране
Я пытаюсь отобразить следующий код только на маленьком экране:
<div align="center"><a href="/mobile/mobile_home.asp">Mobile Site</a></div>
Итак, полный код:
<script>
<!-- if (screen.width <= 699){
document.write("<div align=\"center\"><a href=\"/mobile/mobile_home.asp\">Mobile Site</a></div>")}
//-->
</script>
Если я просто сделаю ниже, это работает.
<script>
<!-- document.write("<div align=\"center\"><a href=\"/mobile/mobile_home.asp\">Mobile Site</a></div>")}
//-->
</script>
Видимо, у меня какой-то синтаксис или что-то не так с оператором if. Или есть более простой способ сделать это? Маленькая помощь Благодарю.
3 ответа
Вы можете использовать медиа-запрос в вашем CSS: http://www.w3schools.com/cssref/css3_pr_mediaquery.asp
HTML:
<div class="mobileOnly">mobile site link</div>
CSS:
div.mobileOnly
{
display: none;
}
@media screen and (max-width: 699px)
{
div.mobileOnly
{
display: block;
}
}
И не забудьте метатег viewport в вашем теге head:
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
Вы должны использовать запросы @media для этого.
<div align="center" id="mobileSite"><a href="/mobile/mobile_home.asp">Mobile Site</a></div>
<style>
@media screen and (min-width: 0px) and (max-width: 699) {
#mobileSite { display: block; }
}
@media screen and (min-width: 700) and (max-width: 1024px) {
#mobileSite { display: none; }
}
</style>
Пытаться
if (window.innerWidth <= 699){
document.write("<div align=\"center\"><ahref=\"/mobile/mobile_home.asp\">MobileSite</a></div>")
}
Кросс-браузерное решение (с использованием clientWidth и clientHeight для IE8 и более ранних версий):
var w = window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;