基于PHP变量的CSS媒体查询

时间:2014-09-12 10:17:09

标签: php html css session media-queries

我有一个多语言网站,根据每种语言的PHP会话变量加载网站的所有文本。我的问题是,当文本以德语加载时,我页面顶部的菜单栏对于它的容器来说变得太长而一些菜单项落在下面。这样就可以了,但是下拉的菜单项阻止子菜单被选中。

当选择某个变量时,有没有办法使用css媒体查询来减少菜单的字体大小?

3 个答案:

答案 0 :(得分:4)

最好的方法是根据语言(例如<body class="language-german">)向主体添加CSS类,然后根据该类编写CSS规则

body.lang-german nav {font-size: 12px;} 

答案 1 :(得分:1)

没有这样的媒体查询,但您可以做什么:

  1. 检查会话中的语言是否为德语
  2. 如果不是,请立即行动
  3. 如果是,请加载一个额外的CSS文件或额外规则,例如以这种方式定义font-size:
  4. nav ul li {
      font-size: 10px;
      font-size: 0.8rem;
    }
    

    这对其他语言没有任何改变,对于德语,你可以定义自定义CSS(font-size或其他任何东西)

答案 2 :(得分:0)

使您的CSS文件成为PHP文件。是的,你可以做到这一点,这不是魔术。

假设您有一个名为style.css的CSS文件:将其重命名为style.css.php.css是可选的)

<?php
$lang = $_SESSION['page_lang']; //or however you prefer

if($lang == 'de'){
  echo "german style rules";
} else {
  echo "other style rules";
}

当然这是简化的,但应该让你去。